mirror of
https://github.com/Lorenzooone/cc3dsfs.git
synced 2026-04-25 07:27:53 -05:00
86 lines
2.4 KiB
YAML
86 lines
2.4 KiB
YAML
name: CD
|
|
|
|
on: [pull_request]
|
|
|
|
jobs:
|
|
build:
|
|
name: ${{ matrix.platform.name }} ${{ matrix.config.name }}
|
|
runs-on: ${{ matrix.platform.os }}
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
platform:
|
|
- { name: Windows VS2022 x64, os: windows-2022, flags: -A x64}
|
|
- { name: Windows VS2022 ARM, os: windows-2022, flags: -A ARM64}
|
|
- { name: Windows VS2022 Win32, os: windows-2022, flags: -A Win32}
|
|
- { name: Linux GCC x64, os: ubuntu-latest, flags: 64}
|
|
- { name: Linux GCC 32, os: ubuntu-latest, flags: 32}
|
|
- { name: Linux GCC ARM 64, os: ubuntu-latest, flags: arm64}
|
|
- { name: Linux GCC ARM 32, os: ubuntu-latest, flags: arm32}
|
|
- { name: macOS Apple Silicon, os: macos-14 }
|
|
config:
|
|
- { name: Static, flags: -DBUILD_SHARED_LIBS=FALSE }
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Configure
|
|
if: runner.os != 'Linux'
|
|
shell: bash
|
|
run: cmake -S . -B build -DCMAKE_INSTALL_PREFIX=install ${{matrix.platform.flags}} ${{matrix.config.flags}}
|
|
|
|
- name: Build Linux
|
|
if: runner.os == 'Linux'
|
|
run: docker run --rm -u root -v ${PWD}:/home/builder/cc3dsfs lorenzooone/cc3dsfs:builder${{matrix.platform.flags}}
|
|
|
|
- name: Build Windows
|
|
if: runner.os == 'Windows'
|
|
shell: bash
|
|
run: cmake --build build --config Release
|
|
|
|
- name: Build macOS
|
|
if: runner.os == 'macOS'
|
|
shell: bash
|
|
run: cmake --build build --config Release -j
|
|
|
|
- name: Pack (not Linux)
|
|
if: runner.os != 'Linux'
|
|
shell: bash
|
|
run: cd build && cpack -G ZIP
|
|
|
|
- name: Unpack Codesign Repack
|
|
if: runner.os == 'macOS'
|
|
shell: bash
|
|
run: setup_scripts/macos_bundle_signature.sh cc3dsfs_macos
|
|
|
|
- name: Archive resulting artifact
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: cc3dsfs_zip
|
|
path: build/cc3dsfs*.zip
|
|
|
|
create_pi_setup:
|
|
name: Create Pi Mono Setup
|
|
runs-on: ubuntu-latest
|
|
needs: build
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Download a single artifact
|
|
uses: actions/download-artifact@v3
|
|
with:
|
|
name: cc3dsfs_zip
|
|
|
|
- name: Execute pi_setup
|
|
shell: bash
|
|
run: setup_scripts/rpi_mono_setup_setup.sh
|
|
|
|
- name: Archive resulting artifact
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: cc3dsfs_zip
|
|
path: cc3dsfs_rpi_mono_setup.zip
|