foo #69
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 targets | |
on: [push, pull_request, workflow_dispatch] | |
jobs: | |
windows-build: | |
runs-on: windows-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
target: [windows-multi-x64] | |
include: | |
- target: windows-multi-x64 | |
config: rls-all | |
platform: x64 | |
triplet: x64-windows-static | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: Setup vcpkg (it does not install any package yet) | |
uses: lukka/run-vcpkg@v11 | |
- name: Add msbuild to PATH | |
uses: microsoft/setup-msbuild@v1.1 | |
- name: Build txt2c | |
run: msbuild misc\vstudio\txt2c\txt2c.vcxproj -t:rebuild -property:Configuration=Release | |
- name: Make dir | |
run: mkdir .vs | |
- name: Copy txt2c | |
run: cp misc\vstudio\txt2c\.vs\txt2c.exe .vs\ | |
- name: Build ezquake | |
run: msbuild ezQuake.vcxproj -t:rebuild -property:Configuration=${{ matrix.config }} -property:Platform=${{ matrix.platform }} -property:VcpkgEnableManifest=true | |
env: | |
VcpkgConfiguration: Release | |
VcpkgTriplet: ${{ matrix.triplet }} | |
- name: Archive client | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ matrix.target }} | |
path: .vs\${{ matrix.platform }}\${{ matrix.config }}\Output\ezQuake.exe | |
macos-build: | |
runs-on: macos-13 | |
strategy: | |
matrix: | |
arch: [x64, arm64] | |
variant: [release] | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: Install build system dependencies | |
run: brew install autoconf automake libtool | |
- name: Setup vcpkg | |
uses: lukka/run-vcpkg@v11 | |
- name: Run CMake | |
uses: lukka/run-cmake@v10 | |
with: | |
configurePreset: "xcode-vcpkg-${{ matrix.arch }}-${{ matrix.variant }}-ci" | |
buildPreset: "xcode-vcpkg-${{ matrix.arch }}-${{ matrix.variant }}-ci" | |
- name: Prepare upload | |
run: zip -r -9 ../../../ezQuake.zip ezQuake.app | |
working-directory: "cmake-build-presets/xcode-vcpkg-${{ matrix.arch }}-${{ matrix.variant }}-ci/${{ matrix.variant }}" | |
- name: Upload Build Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: "ezQuake-macOS-${{ matrix.arch }}" | |
path: ezQuake.zip | |
# macos-universal: | |
# needs: macos-build | |
# runs-on: macos-13 | |
# steps: | |
# - name: Check out code | |
# uses: actions/checkout@v3 | |
# | |
# - name: Download Intel Build | |
# uses: actions/download-artifact@v2 | |
# with: | |
# name: "ezQuake-macOS-x64" | |
# path: artifacts/x64 | |
# | |
# - name: Download ARM64 Build | |
# uses: actions/download-artifact@v2 | |
# with: | |
# name: "ezQuake-macOS-arm64" | |
# path: artifacts/arm64 | |
# | |
# - name: foo | |
# run: find artifacts | |
# | |
# - name: Create Universal Binary | |
# run: | | |
# lipo -create artifacts/x64/ezQuake.app artifacts/arm64/ezQuake.app -output ezQuake.app | |
# | |
# - name: Sign Universal Binary | |
# run: | | |
# codesign --force --sign - --entitlements misc/install/ezquake.entitlements.plist --options runtime --timestamp ezQuake.app | |
linux-build: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
target: [linux-x86_64] | |
include: | |
- target: linux-x86_64 | |
platform: x86_64 | |
container: | |
image: debian:testing | |
options: --privileged | |
steps: | |
- name: Install dependencies | |
run: apt-get -qy update && apt-get -qy install curl file libfuse2 git make sudo git | |
- name: Check out code | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: Build | |
run: git config --global --add safe.directory $PWD && ./misc/appimage/appimage-manual_creation.sh | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ matrix.target }}-AppImage | |
path: ezQuake-${{ matrix.platform }}.AppImage |