61 lines
1.8 KiB
YAML
61 lines
1.8 KiB
YAML
on:
|
|
push:
|
|
branches: [ master, ci, builds ]
|
|
pull_request:
|
|
branches: [ master, ci, builds ]
|
|
jobs:
|
|
release:
|
|
strategy:
|
|
matrix:
|
|
os:
|
|
- macos
|
|
- ubuntu
|
|
- windows
|
|
os-versions:
|
|
- macos: 12
|
|
ubuntu: 22.04
|
|
window: 2019
|
|
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' }} |