* fix a link flag * another hack to find weirdly named libraries * Fix handling VCRedistInstall.exe * add src folders to win-scons include paths * use path.join * more weird library suffixes * fix old python syntax in an SConscript file * find vcpkg libraries and headers * add icon dir to windows include paths * remove non-recursive os.listdir line * remove bad lib paths * tools build with env["bits"] * hard-code vcvarsall.bat path, with a note * pass in other lib paths * fix syntax without trying to use f-strings * more bundled libs on windows * add bin folders for windows installation to find dlls * fix CheckLib stuff * test scons pass X86 correctly * make 64-bit builds the default for scons * add package flag for building installers
208 lines
4.7 KiB
YAML
208 lines
4.7 KiB
YAML
{
|
|
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@v2,
|
|
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@v2,
|
|
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
|
|
}
|
|
]
|
|
},
|
|
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@v2,
|
|
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@v2,
|
|
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@v2,
|
|
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'
|
|
},
|
|
|
|
]
|
|
},
|
|
# win-mingw: {
|
|
# runs-on: windows-2019,
|
|
# steps: [
|
|
# {
|
|
# name: checkout,
|
|
# uses: actions/checkout@v2,
|
|
# 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@v2,
|
|
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,
|
|
run: CCFLAGS=-fdiagnostics-color=always scons
|
|
}
|
|
],
|
|
}
|
|
}
|
|
}
|