name: Build & Deploy Engine on: [push, pull_request] jobs: # cleanup: # runs-on: self-hosted # steps: # - name: Cleanup # run: rm -rf .* || true build: runs-on: ${{ matrix.os }} continue-on-error: true strategy: fail-fast: false matrix: include: - os: ubuntu-20.04 targetos: linux targetarch: amd64 - os: ubuntu-20.04 targetos: linux targetarch: i386 # TODO enable and test ref_vk for it too # - os: ubuntu-aarch64-20.04 # targetos: linux # targetarch: aarch64 # - os: ubuntu-20.04 # targetos: android # targetarch: 32 # - os: ubuntu-20.04 # targetos: android # targetarch: 64 # - os: ubuntu-20.04 # targetos: motomagx # targetarch: armv6 # - os: ubuntu-20.04 # targetos: nswitch # targetarch: arm64 # - os: ubuntu-20.04 # targetos: psvita # targetarch: armv7hf - os: windows-latest targetos: win32 targetarch: amd64 - os: windows-latest targetos: win32 targetarch: i386 env: SDL_VERSION: 2.26.2 VULKAN_SDK_VERSION: 1.3.239 GH_CPU_ARCH: ${{ matrix.targetarch }} ANDROID_SDK_TOOLS_VER: 4333796 steps: - name: Checkout uses: actions/checkout@v3 with: submodules: recursive - name: Install dependencies run: bash scripts/gha/deps_${{ matrix.targetos }}.sh - name: Build engine run: bash scripts/gha/build_${{ matrix.targetos }}.sh - name: Upload engine (artifacts) uses: actions/upload-artifact@v3 with: name: artifact-${{ matrix.targetos }}-${{ matrix.targetarch }} path: artifacts/* # See https://github.com/w23/xash3d-fwgs/issues/430 # flatpak: # name: "Flatpak" # runs-on: ubuntu-latest # strategy: # matrix: # include: # - app: su.xash.Engine.Compat.i386 # container: # image: bilelmoussaoui/flatpak-github-actions:freedesktop-22.08 # options: --privileged # env: # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # UPLOADTOOL_ISPRERELEASE: true # steps: # - name: Checkout # uses: actions/checkout@v3 # with: # submodules: recursive # - name: Build flatpak (Compat.i386) # uses: FWGS/flatpak-github-actions/flatpak-builder@v5 # with: # bundle: ${{ matrix.app }}.flatpak # manifest-path: scripts/flatpak/${{ matrix.app }}.yml # - name: Upload engine (prereleases) # run: bash scripts/continious_upload.sh ${{ matrix.app }}.flatpak # Completely disable uplodaing, as it does not make any sense for Vulkan branch for now # release: # name: "Upload releases" # runs-on: ubuntu-latest # needs: [build, flatpak] # if: ${{ github.event_name == 'push' }} # steps: # - name: Remove old release # uses: FWGS/delete-tag-and-release@v0.2.1-dev # with: # tag_name: ${{ github.ref_name == 'master' && 'continuous' || format('continuous-{0}', github.ref_name) }} # delete_release: true # github_token: ${{ secrets.GITHUB_TOKEN }} # - name: Fetch artifacts # uses: actions/download-artifact@v3.0.1 # with: # path: artifacts/ # - name: Repackage binaries and allow GitHub to process removed release for few seconds # run: | # cd artifacts/ # for i in artifact-* su.xash.Engine.*; do # mv "$i"/* . # rm -rf "$i" # done # ls -R . # cd ../ # sleep 20s # - name: Upload new release # uses: FWGS/action-gh-release@v0.1.15 # with: # name: Xash3D FWGS Continuous ${{ github.ref_name }} Build # tag_name: ${{ github.ref_name == 'master' && 'continuous' || format('continuous-{0}', github.ref_name) }} # prerelease: true # token: ${{ secrets.GITHUB_TOKEN }} # files: artifacts/* # draft: false