address build problem #1879
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build | |
on: [push, pull_request] | |
jobs: | |
linux: | |
strategy: | |
max-parallel: 1 | |
matrix: | |
config: | |
- { name: "Linux-x86_64-Release", type: "release", cmake_args: "-DBUILD_STEAMLIB=1 -DUSE_GRAPHICS_NRI=1" } | |
- { name: "Linux-x86_64-Debug", type: "debug", cmake_args: "-DBUILD_STEAMLIB=1 -DUSE_GRAPHICS_NRI=1" } | |
name: ${{ matrix.config.name }} | |
runs-on: ubuntu-22.04 | |
container: | |
image: ubuntu:22.04 | |
env: | |
DEBIAN_FRONTEND: noninteractive | |
DEBCONF_NONINTERACTIVE_SEEN: true | |
steps: | |
- name: Setup | |
run: | | |
echo "ACTIONS_CACHE_URL=$ACTIONS_CACHE_URL" >> "$GITHUB_ENV" | |
echo "ACTIONS_RUNTIME_TOKEN=$ACTIONS_ID_TOKEN_REQUEST_TOKEN" >> "$GITHUB_ENV" | |
apt update | |
apt install -y git curl clang cmake build-essential libsdl2-dev libopenal-dev libvorbis-dev libfreetype6-dev libcurl4-gnutls-dev git zip unzip python3 autoconf libtool meson automake libtool pkg-config python3-jinja2 | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Add safe directory - https://github.com/actions/checkout/issues/1169 | |
run: git config --system --add safe.directory /__w/warfork-qfusion/warfork-qfusion | |
- name: Download steamworks sdk | |
run: | | |
curl https://warfork.com/downloads/sdk/ --output third-party/steamworks/sdk.zip | |
unzip third-party/steamworks/sdk.zip -d third-party/steamworks | |
- name: Building Release | |
if: matrix.config.type == 'release' | |
working-directory: ./source | |
run: | | |
export CC=clang CXX=clang++ | |
cmake ${{matrix.config.cmake_args}} -DCMAKE_BUILD_TYPE=Release -DVCPKG_INSTALL_OPTIONS="--binarysource=clear\;x-gha,readwrite" . | |
make -j8 | |
- name: Building Debug | |
if: matrix.config.type == 'debug' | |
working-directory: ./source | |
run: | | |
export CC=clang CXX=clang++ | |
cmake ${{matrix.config.cmake_args}} -DCMAKE_BUILD_TYPE=Debug -DVCPKG_INSTALL_OPTIONS="--binarysource=clear\;x-gha,readwrite" . | |
make -j8 | |
- name: Package warfork | |
working-directory: ./source/build | |
run: tar -czvf ../${{matrix.config.name}}.tar.gz * --exclude *.a --exclude base*/*.a libs/*.a | |
- name: Upload warfork artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{matrix.config.name}} | |
path: source/${{matrix.config.name}}.tar.gz | |
osx: | |
strategy: | |
max-parallel: 1 | |
matrix: | |
config: | |
- { agent: "macos-12", name: "OSX-x86_64-Release", xcode-version: '13.4.1', type: "release", cmake_args: "-DBUILD_STEAMLIB=1" } | |
- { agent: "macos-12", name: "OSX-x86_64-Debug", xcode-version: '13.4.1', type: "debug", cmake_args: "-DBUILD_STEAMLIB=1 -DWF_BUILD_DSYM=ON " } | |
- { agent: "macos-latest", name: "OSX-arm64-Release", xcode-version: '15.0.1', type: "release", cmake_args: "-DBUILD_STEAMLIB=1" } | |
- { agent: "macos-latest", name: "OSX-arm64-Debug", xcode-version: '15.0.1', type: "debug", cmake_args: "-DBUILD_STEAMLIB=1 -DWF_BUILD_DSYM=ON" } | |
name: ${{ matrix.config.name }} | |
runs-on: ${{ matrix.config.agent }} | |
steps: | |
- name: Setup | |
shell: bash | |
run: | | |
echo "ACTIONS_CACHE_URL=$ACTIONS_CACHE_URL" >> "$GITHUB_ENV" | |
echo "ACTIONS_RUNTIME_TOKEN=$ACTIONS_ID_TOKEN_REQUEST_TOKEN" >> "$GITHUB_ENV" | |
brew uninstall --force azure-cli | |
brew uninstall --force aws-sam-cli | |
brew install python@3 || brew link --overwrite python@3 | |
brew update | |
brew install curl cmake sdl2 openal-soft libvorbis freetype git zip unzip | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: ${{matrix.config.xcode-version}} | |
- name: Download steamworks sdk | |
run: | | |
curl https://warfork.com/downloads/sdk/ --output third-party/steamworks/sdk.zip | |
unzip third-party/steamworks/sdk.zip -d third-party/steamworks | |
- name: Building Release | |
if: matrix.config.type == 'release' | |
working-directory: ./source | |
run: | | |
cmake ${{matrix.config.cmake_args}} -DCMAKE_BUILD_TYPE=RELEASE -DVCPKG_INSTALL_OPTIONS="--binarysource=clear\;x-gha,readwrite" -G Xcode . | |
xcodebuild -project qfusion.xcodeproj/ -jobs 4 -configuration Release -target ALL_BUILD CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO | |
- name: Building Debug | |
if: matrix.config.type == 'debug' | |
working-directory: ./source | |
run: | | |
cmake ${{matrix.config.cmake_args}} -DCMAKE_BUILD_TYPE=DEBUG -DVCPKG_INSTALL_OPTIONS="--binarysource=clear\;x-gha,readwrite" -G Xcode . | |
xcodebuild -project qfusion.xcodeproj/ -jobs 4 -configuration Debug -target ALL_BUILD CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO | |
- name: Package warfork | |
if: matrix.config.type == 'debug' | |
working-directory: ./source/build | |
run: tar -czvf ../${{matrix.config.name}}.tar.gz Debug/*.app | |
- name: Package warfork | |
if: matrix.config.type == 'release' | |
working-directory: ./source/build | |
run: tar -czvf ../${{matrix.config.name}}.tar.gz Release/*.app | |
- name: Upload warfork artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{matrix.config.name}} | |
path: source/${{matrix.config.name}}.tar.gz | |
windows: | |
strategy: | |
max-parallel: 1 | |
matrix: | |
config: | |
- { agent: "windows-latest", name: "win-x86_64-Release", vs_version: 'Visual Studio 17 2022', type: "release", cmake_args: "-DBUILD_STEAMLIB=1" } | |
- { agent: "windows-latest", name: "win-x86_64-Debug", vs_version: 'Visual Studio 17 2022', type: "debug", cmake_args: "-DBUILD_STEAMLIB=1 -DWF_BUILD_DSYM=ON " } | |
name: ${{ matrix.config.name }} | |
runs-on: ${{ matrix.config.agent }} | |
steps: | |
- name: Setup | |
run: | | |
Add-Content -Path $env:GITHUB_ENV -Value "ACTIONS_CACHE_URL=$ACTIONS_CACHE_URL" | |
Add-Content -Path $env:GITHUB_ENV -Value "ACTIONS_RUNTIME_TOKEN=$ACTIONS_ID_TOKEN_REQUEST_TOKEN" | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Download steamworks sdk | |
run: | | |
curl https://warfork.com/downloads/sdk/ --output third-party/steamworks/sdk.zip | |
7z x third-party/steamworks/sdk.zip -othird-party/steamworks | |
- name: Add msbuild to PATH | |
uses: microsoft/setup-msbuild@v1.1 | |
- name: Building Debug | |
if: matrix.config.type == 'debug' | |
working-directory: .\source | |
run: | | |
cmake ${{matrix.config.cmake_args}} -G "${{matrix.config.vs_version}}" -A x64 -DCMAKE_BUILD_TYPE=DEBUG -DVCPKG_INSTALL_OPTIONS="--binarysource=clear\;x-gha,readwrite" . | |
msbuild qfusion.sln /p:configuration=Debug /maxcpucount:8 | |
- name: Building Release | |
if: matrix.config.type == 'release' | |
working-directory: .\source | |
run: | | |
cmake ${{matrix.config.cmake_args}} -G "${{matrix.config.vs_version}}" -A x64 -DCMAKE_BUILD_TYPE=RELEASE -DVCPKG_INSTALL_OPTIONS="--binarysource=clear\;x-gha,readwrite" . | |
msbuild qfusion.sln /p:configuration=Release /maxcpucount:8 | |
- name: Package warfork | |
if: matrix.config.type == 'debug' | |
working-directory: .\source\build\Debug | |
run: 7z a ..\..\${{matrix.config.name}}.zip * '-xr!*.exp' '-xr!*.lib' | |
- name: Package warfork | |
if: matrix.config.type == 'release' | |
working-directory: .\source\build\Release | |
run: 7z a ..\..\${{matrix.config.name}}.zip * '-xr!*.exp' '-xr!*.lib' | |
- name: Upload warfork artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{matrix.config.name}} | |
path: source\${{matrix.config.name}}.zip | |