diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..4bf79140 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,54 @@ +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' }} \ No newline at end of file