Skip to content

don't fail fast

don't fail fast #13

Workflow file for this run

on:
push:
branches: [ builds ]
pull_request:
branches: [ builds ]
jobs:
release:
env:
MACOSX_DEPLOYMENT_TARGET: 10.15
PROD_MACOS_CERTIFICATE: '${{ secrets.PROD_MACOS_CERTIFICATE }}'
PROD_MACOS_CERTIFICATE_PWD: '${{ secrets.PROD_MACOS_CERTIFICATE_PWD }}'
PROD_MACOS_CERTIFICATE_NAME: '${{ secrets.PROD_MACOS_CERTIFICATE_NAME }}'
PROD_MACOS_CI_KEYCHAIN_PWD: '${{ secrets.PROD_MACOS_CI_KEYCHAIN_PWD }}'
PROD_MACOS_NOTARIZATION_APPLE_ID: '${{ secrets.PROD_MACOS_NOTARIZATION_APPLE_ID }}'
PROD_MACOS_NOTARIZATION_TEAM_ID: '${{ secrets.PROD_MACOS_NOTARIZATION_TEAM_ID }}'
PROD_MACOS_NOTARIZATION_PWD: '${{ secrets.PROD_MACOS_NOTARIZATION_PWD }}'
strategy:
fail-fast: false
matrix:
os:
- macos
- ubuntu
- windows
os-versions:
- macos: 12
ubuntu: 22.04
windows: 2019
scons-script:
- macos: './.github/workflows/scripts/mac/scons-build.sh'
windows: './.github/workflows/scripts/windows/scons-build.bat'
ubuntu: scons
boost-version:
- 1.85.0
sfml-version:
- 2.6.1
configuration:
- Release
- Debug
runs-on: '${{ matrix.os }}-${{ matrix.os-versions[matrix.os] }}'
steps:
- name: checkout
uses: actions/checkout@v4
with:
submodules: true
- name: Cache Boost
uses: actions/cache@v2
with:
path: '${{ runner.workspace }}/boost_*.tar.gz'
key: 'boost-${{ matrix.boost-version }}'
- name: Build Boost
id: boost
uses: egor-tensin/build-boost@v1
with:
version: ${{ matrix.boost-version }}
libraries: filesystem system
platform: x64
configuration: ${{ matrix.configuration }}
- name: Build SFML
id: sfml
uses: oprypin/install-sfml@v1
with:
sfml: ${{ matrix.sfml-version }}
config: ${{ matrix.configuration }}
- name: Windows build dependencies
run: 'vcpkg install libxml2 && pip install scons'
if: ${{ matrix.os == 'windows' }}
- name: Mac build dependencies
run: brew install scons
if: ${{ matrix.os == 'macos' }}
- name: Linux build dependencies
run: sudo apt-get update && sudo apt-get install scons libxml2-utils zlib1g zenity
if: ${{ matrix.os == 'ubuntu' }}
- name: Install TGUI
run: 'sudo ./.github/workflows/scripts/linux/install-tgui.sh'
if: ${{ matrix.os == 'ubuntu' }}
- name: Build
run: '${{ matrix.scons-script[matrix.os] }} INCLUDEPATH="${{ steps.boost.outputs.root }}:${{steps.sfml.outputs.path}}/include" LIBPATH="${{ steps.boost.outputs.librarydir }}:${{steps.sfml.outputs.path}}/lib" FRAMEWORKPATH="${{steps.sfml.outputs.path}}/lib"'
- name: Codesign and notarize
run: './.github/workflows/scripts/mac/sign-apps.sh'
if: ${{ matrix.os == 'macos' }}
- name: 'Tar files'
run: 'tar -cvf cboe-${{ matrix.os }}.tar "Blades of Exile"'
working-directory: '${{ github.workspace }}/build'
- name: 'Upload Artifact'
uses: actions/upload-artifact@v4
with:
name: cboe-${{ matrix.os }}
path: '${{ github.workspace }}/build/cboe-${{ matrix.os }}.tar'