Some checks failed
/ release (1.85.0, Debug, map[name:macos path-separator:: scons-script:./.github/workflows/scripts/mac/scons-build.sh version:12], 2.6.1) (push) Has been cancelled
/ release (1.85.0, Debug, map[name:windows path-separator:; scons-script:./.github/workflows/scripts/win/scons-build.bat version:2019], 2.6.1) (push) Has been cancelled
/ release (1.85.0, Debug, map[name:ubuntu path-separator:: scons-script:scons version:22.04], 2.6.1) (push) Has been cancelled
/ release (1.85.0, Release, map[name:macos path-separator:: scons-script:./.github/workflows/scripts/mac/scons-build.sh version:12], 2.6.1) (push) Has been cancelled
/ release (1.85.0, Release, map[name:ubuntu path-separator:: scons-script:scons version:22.04], 2.6.1) (push) Has started running
/ release (1.85.0, Release, map[name:windows path-separator:; scons-script:./.github/workflows/scripts/win/scons-build.bat version:2019], 2.6.1) (push) Has been cancelled
137 lines
5.4 KiB
YAML
137 lines
5.4 KiB
YAML
on:
|
|
push:
|
|
branches:
|
|
- builds
|
|
tags:
|
|
- "v*.*.*"
|
|
pull_request:
|
|
branches:
|
|
- builds
|
|
jobs:
|
|
release:
|
|
env:
|
|
MACOSX_DEPLOYMENT_TARGET: 10.15
|
|
BUTLER_API_KEY: ${{ secrets.BUTLER_API_KEY }}
|
|
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 }}'
|
|
VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite"
|
|
DEBUG_FLAG: ${{ matrix.configuration == 'Debug' && 'true' || 'false' }}
|
|
BUILD_OS: ${{ matrix.os.name }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os:
|
|
- name: macos
|
|
version: 12
|
|
scons-script: './.github/workflows/scripts/mac/scons-build.sh'
|
|
path-separator: ':'
|
|
- name: ubuntu
|
|
version: 22.04
|
|
scons-script: scons
|
|
path-separator: ':'
|
|
- name: windows
|
|
version: 2019
|
|
scons-script: './.github/workflows/scripts/win/scons-build.bat'
|
|
path-separator: ';'
|
|
boost-version:
|
|
- 1.85.0
|
|
sfml-version:
|
|
- 2.6.1
|
|
configuration:
|
|
- Release
|
|
- Debug
|
|
runs-on: '${{ matrix.os.name }}-${{ matrix.os.version }}'
|
|
steps:
|
|
- run: echo $DEBUG_FLAG
|
|
- name: Export GitHub Actions cache environment variables
|
|
uses: actions/github-script@v7
|
|
with:
|
|
script: "core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');"
|
|
- name: checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: true
|
|
- name: CMake zlib for linux
|
|
run: cmake -S . -B build
|
|
working-directory: deps/zlib
|
|
if: ${{ matrix.os.name == 'ubuntu' }}
|
|
- name: CMake zlib for windows
|
|
run: cmake -S . -B build -D CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded
|
|
working-directory: deps/zlib
|
|
if: ${{ matrix.os.name == 'windows' }}
|
|
- name: Build zlib for linux
|
|
run: make && sudo make install
|
|
working-directory: deps/zlib/build
|
|
if: ${{ matrix.os.name == 'ubuntu' }}
|
|
- name: Build zlib for windows
|
|
run: './.github/workflows/scripts/win/zlib-build.bat x64'
|
|
if: ${{ matrix.os.name == 'windows' }}
|
|
|
|
|
|
- name: Cache Boost
|
|
uses: actions/cache@v4
|
|
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 }}
|
|
static: ${{ matrix.os.name == 'windows' }}
|
|
|
|
- name: upload boost libs for inspection
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: boost-artifact-${{ matrix.os.name }}-${{ matrix.configuration }}
|
|
path: ${{ steps.boost.outputs.librarydir }}
|
|
- 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.name == 'windows' }}
|
|
- name: Mac build dependencies
|
|
run: brew install scons
|
|
if: ${{ matrix.os.name == 'macos' }}
|
|
- name: Linux build dependencies
|
|
run: sudo apt-get update && sudo apt-get install scons libxml2-utils zenity
|
|
if: ${{ matrix.os.name == 'ubuntu' }}
|
|
- name: Install TGUI
|
|
run: 'sudo ./.github/workflows/scripts/linux/install-tgui.sh'
|
|
if: ${{ matrix.os.name == 'ubuntu' }}
|
|
- name: Build
|
|
run: '${{ matrix.os.scons-script }} INCLUDEPATH="${{ steps.boost.outputs.root }}${{ matrix.os.path-separator }}${{steps.sfml.outputs.path}}/include" LIBPATH="${{ steps.boost.outputs.librarydir }}${{ matrix.os.path-separator }}${{steps.sfml.outputs.path}}/lib${{ matrix.os.path-separator }}/usr/local/lib" FRAMEWORKPATH="${{steps.sfml.outputs.path}}/lib" test=false debug=$DEBUG_FLAG'
|
|
shell: bash
|
|
- name: Codesign and notarize
|
|
run: './.github/workflows/scripts/mac/sign-apps.sh'
|
|
if: ${{ matrix.os.name == 'macos' }}
|
|
- name: 'Tar files'
|
|
run: 'tar -cvf cboe-${{ matrix.os.name }}.tar "Blades of Exile"'
|
|
working-directory: '${{ github.workspace }}/build'
|
|
- name: 'Upload Artifact'
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: cboe-${{ matrix.os.name }}-${{ matrix.configuration }}
|
|
path: '${{ github.workspace }}/build/cboe-${{ matrix.os.name }}.tar'
|
|
- name: Github release
|
|
uses: softprops/action-gh-release@v2
|
|
with:
|
|
files: '${{ github.workspace }}/build/cboe-${{ matrix.os.name }}.tar'
|
|
if: startsWith(github.ref, 'refs/tags/')
|
|
- name: 'Itch.io release'
|
|
run: './.github/workflows/scripts/butler_push.sh'
|
|
shell: bash
|
|
if: startsWith(github.ref, 'refs/tags/')
|