--- name: Nintendo Switch on: # yamllint disable-line rule:truthy push: branches: - master paths-ignore: - '*.md' - 'docs/**' pull_request: types: [opened, synchronize] paths-ignore: - '*.md' - 'docs/**' release: types: [published] workflow_dispatch: concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: build: runs-on: ubuntu-latest container: devkitpro/devkita64:latest steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 - name: Install dependencies run: | apt-get update && \ apt-get install -y --no-install-recommends --no-install-suggests \ gettext - name: Configure CMake run: | cmake \ -S . \ -B build \ -D CMAKE_BUILD_TYPE=RelWithDebInfo \ -D CMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/Switch.cmake - name: Build DevilutionX run: cmake --build build -j$(nproc) - name: Upload Package if: ${{ !env.ACT }} uses: actions/upload-artifact@v4 with: name: devilutionx.nro path: ./build/devilutionx.nro - name: Update Release if: ${{ github.event_name == 'release' && !env.ACT }} uses: svenstaro/upload-release-action@v2 with: asset_name: devilutionx-switch.nro file: ./build/devilutionx.nro overwrite: true ...