Fix #476 directly #645
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: CI, | |
on: { | |
push: { | |
branches: [ master, ci ] | |
}, | |
pull_request: { | |
branches: [ master ] | |
} | |
}, | |
jobs: { | |
macos-xcode: { | |
runs-on: macos-12, | |
env: { | |
DEVELOPER_DIR: /Applications/Xcode_13.4.app/Contents/Developer | |
}, | |
steps: [ | |
{ | |
name: checkout, | |
uses: actions/checkout@v4, | |
with: { submodules: true } | |
}, | |
{ | |
name: install Boost, | |
run: brew install Boost | |
}, | |
{ | |
name: install SFML, | |
run: ./.github/workflows/scripts/mac/install-sfml.sh | |
}, | |
{ | |
name: patch Xcode project, | |
run: ./.github/workflows/scripts/mac/fix-xcode-proj.sh | |
}, | |
{ | |
name: build, | |
run: ./.github/workflows/scripts/mac/xcode-build.sh | |
}, | |
{ | |
name: unit tests, | |
run: ./.github/workflows/scripts/mac/run-tests.sh | |
} | |
] | |
}, | |
macos-scons: { | |
runs-on: macos-12, | |
steps: [ | |
{ | |
name: checkout, | |
uses: actions/checkout@v4, | |
with: { submodules: true } | |
}, | |
{ | |
name: install dependencies, | |
run: brew install scons SFML Boost | |
}, | |
{ | |
name: build and unit test, | |
run: ./.github/workflows/scripts/mac/scons-build.sh test=true | |
} | |
] | |
}, | |
win-vs32: { | |
runs-on: windows-2019, | |
env: { | |
VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite" | |
}, | |
steps: [ | |
{ | |
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: install dependencies, | |
run: '${{ github.workspace }}\.github\workflows\scripts\win\install-deps.bat x86', | |
working-directory: proj/vs2017 | |
}, | |
{ | |
name: build, | |
run: '.\.github\workflows\scripts\win\msvc-build.bat x86' | |
} | |
] | |
}, | |
win-vs64: { | |
runs-on: windows-2019, | |
env: { | |
VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite" | |
}, | |
steps: [ | |
{ | |
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: install dependencies, | |
run: '${{ github.workspace }}\.github\workflows\scripts\win\install-deps.bat x64', | |
working-directory: proj/vs2017 | |
}, | |
{ | |
name: build, | |
run: '.\.github\workflows\scripts\win\msvc-build.bat x64' | |
}, | |
{ | |
name: unit tests, | |
run: '.\.github\workflows\scripts\win\run-tests.bat' | |
} | |
] | |
}, | |
win-scons: { | |
runs-on: windows-2019, | |
env: { | |
VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite" | |
}, | |
steps: [ | |
{ | |
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: install build dependencies, | |
run: 'vcpkg install libxml2 && pip install scons' | |
}, | |
{ | |
name: install dependencies, | |
run: '${{ github.workspace }}\.github\workflows\scripts\win\install-deps.bat x64', | |
working-directory: proj/vs2017 | |
}, | |
{ | |
name: build and unit test, | |
run: '.\.github\workflows\scripts\win\scons-build.bat test=true' | |
}, | |
{ | |
name: warn about failure to launch tests, | |
run: 'echo "::warning title=UNIT-TESTS::unit tests failed for win-scons"', | |
shell: bash, | |
if: "${{ hashFiles('build/test/passed') == '' }}" | |
} | |
] | |
}, | |
# win-mingw: { | |
# runs-on: windows-2019, | |
# steps: [ | |
# { | |
# name: checkout, | |
# uses: actions/checkout@v4, | |
# with: { submodules: true } | |
# }, | |
# { | |
# name: install build dependencies, | |
# run: 'vcpkg install libxml2 && pip install scons' | |
# }, | |
# { | |
# name: install dependencies, | |
# run: 'vcpkg install', | |
# working-directory: proj/vs2017 | |
# }, | |
# { | |
# name: build and unit test, | |
# run: scons toolset=mingw | |
# } | |
# ] | |
# }, | |
linux: { | |
runs-on: ubuntu-22.04, | |
steps: [ | |
{ | |
name: checkout, | |
uses: actions/checkout@v4, | |
with: { submodules: true } | |
}, | |
{ | |
name: install dependencies, | |
run: 'sudo apt-get update && sudo apt-get install scons libxml2-utils zlib1g libsfml-dev libboost-all-dev zenity' | |
}, | |
{ | |
name: install TGUI, | |
run: 'sudo ./.github/workflows/scripts/linux/install-tgui.sh' | |
}, | |
{ | |
name: build and unit test headless, | |
run: 'xvfb-run ./.github/workflows/scripts/linux/scons-build.sh' | |
} | |
] | |
} | |
} | |
} |