Skip to content

[ZH] Upgrade to c++20 (#426) #1

[ZH] Upgrade to c++20 (#426)

[ZH] Upgrade to c++20 (#426) #1

Workflow file for this run

name: Build Games
permissions:
contents: read
pull-requests: write
on:
push:
branches:
- main
pull_request:
branches:
- main
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
check-changes:
name: Check Changes
runs-on: ubuntu-latest
outputs:
generals: ${{ steps.filter.outputs.generals }}
generalsmd: ${{ steps.filter.outputs.generalsmd }}
shared: ${{ steps.filter.outputs.shared }}
steps:
- uses: actions/checkout@v3
- uses: dorny/paths-filter@v3
id: filter
with:
token: ''
filters: |
generals:
- 'Generals/**'
generalsmd:
- 'GeneralsMD/**'
shared:
- 'Dependencies/**'
- 'cmake/**'
- 'CMakeLists.txt'
- 'CMakePresets.json'
- ".github/workflows/build-games.yml"
- '.github/workflows/toolchain-common.yml'
build-generals:
name: Build Generals (${{ matrix.preset }}${{ matrix.tools && '+tools' || '' }})
needs: check-changes
if: ${{ github.event_name == 'workflow_dispatch' || needs.check-changes.outputs.generals == 'true' || needs.check-changes.outputs.shared == 'true' }}
strategy:
matrix:
include:
- preset: "vc6"
tools: true
- preset: "vc6prof"
tools: true
- preset: "vc6int"
tools: true
- preset: "vc6debug"
tools: true
fail-fast: false
uses: ./.github/workflows/toolchain-common.yml
with:
game: "Generals"
preset: ${{ matrix.preset }}
tools: ${{ matrix.tools }}
secrets: inherit
build-generalsmd:
name: Build GeneralsMD (${{ matrix.preset }}${{ matrix.tools && '+tools' || '' }})
needs: check-changes
if: ${{ github.event_name == 'workflow_dispatch' || needs.check-changes.outputs.generalsmd == 'true' || needs.check-changes.outputs.shared == 'true' }}
strategy:
matrix:
include:
- preset: "vc6"
tools: true
- preset: "vc6prof"
tools: true
- preset: "vc6int"
tools: true
- preset: "vc6debug"
tools: true
fail-fast: false
uses: ./.github/workflows/toolchain-common.yml
with:
game: "GeneralsMD"
preset: ${{ matrix.preset }}
tools: ${{ matrix.tools }}
secrets: inherit