You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
128 lines
3.8 KiB
128 lines
3.8 KiB
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: |
|
# Linux build specifically want oldest Ubuntu as possible |
|
# to be crossdistribution compatible, otherwise use ubuntu-latest |
|
- os: ubuntu-20.04 |
|
targetos: linux |
|
targetarch: amd64 |
|
- os: ubuntu-20.04 |
|
targetos: linux |
|
targetarch: i386 |
|
# - 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-latest |
|
targetos: nswitch |
|
targetarch: arm64 |
|
- os: ubuntu-latest |
|
targetos: psvita |
|
targetarch: armv7hf |
|
- os: windows-latest |
|
targetos: win32 |
|
targetarch: amd64 |
|
- os: windows-latest |
|
targetos: win32 |
|
targetarch: i386 |
|
env: |
|
SDL_VERSION: 2.26.2 |
|
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/* |
|
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 |
|
steps: |
|
- name: Checkout |
|
uses: actions/checkout@v3 |
|
with: |
|
submodules: recursive |
|
- name: Build flatpak (Compat.i386) |
|
uses: FWGS/flatpak-github-actions/flatpak-builder@v6.1 |
|
with: |
|
bundle: ${{ matrix.app }}.flatpak |
|
manifest-path: scripts/flatpak/${{ matrix.app }}.yml |
|
- name: Upload engine (artifacts) |
|
uses: actions/upload-artifact@v3 |
|
with: |
|
name: artifact-${{ matrix.targetos }}-${{ matrix.targetarch }} |
|
path: artifacts/* |
|
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
|
|
|