4646762c81
Useful for custom forks of Godot which don't want to run our CI for any reason. This is configured in `settings/variables/actions` for the repository, setting it to any value aside from an empty string will skip all jobs.
65 lines
1.9 KiB
YAML
65 lines
1.9 KiB
YAML
name: 🔗 GHA
|
|
on: [push, pull_request]
|
|
|
|
concurrency:
|
|
group: ci-${{github.actor}}-${{github.head_ref || github.run_number}}-${{github.ref}}-runner
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
# First stage: Only static checks, fast and prevent expensive builds from running.
|
|
|
|
static-checks:
|
|
if: ${{ vars.DISABLE_GODOT_CI == '' }}
|
|
name: 📊 Static checks
|
|
uses: ./.github/workflows/static_checks.yml
|
|
|
|
# Second stage: Run all the builds and some of the tests.
|
|
|
|
android-build:
|
|
if: ${{ vars.DISABLE_GODOT_CI == '' }}
|
|
name: 🤖 Android
|
|
needs: static-checks
|
|
uses: ./.github/workflows/android_builds.yml
|
|
|
|
ios-build:
|
|
if: ${{ vars.DISABLE_GODOT_CI == '' }}
|
|
name: 🍏 iOS
|
|
needs: static-checks
|
|
uses: ./.github/workflows/ios_builds.yml
|
|
|
|
linux-build:
|
|
if: ${{ vars.DISABLE_GODOT_CI == '' }}
|
|
name: 🐧 Linux
|
|
needs: static-checks
|
|
uses: ./.github/workflows/linux_builds.yml
|
|
|
|
macos-build:
|
|
if: ${{ vars.DISABLE_GODOT_CI == '' }}
|
|
name: 🍎 macOS
|
|
needs: static-checks
|
|
uses: ./.github/workflows/macos_builds.yml
|
|
|
|
windows-build:
|
|
if: ${{ vars.DISABLE_GODOT_CI == '' }}
|
|
name: 🏁 Windows
|
|
needs: static-checks
|
|
uses: ./.github/workflows/windows_builds.yml
|
|
|
|
web-build:
|
|
if: ${{ vars.DISABLE_GODOT_CI == '' }}
|
|
name: 🌐 Web
|
|
needs: static-checks
|
|
uses: ./.github/workflows/web_builds.yml
|
|
|
|
# Third stage: Run auxiliary tests using build artifacts from previous jobs.
|
|
|
|
# Can be turned off for PRs that intentionally break compat with godot-cpp,
|
|
# until both the upstream PR and the matching godot-cpp changes are merged.
|
|
godot-cpp-test:
|
|
if: ${{ vars.DISABLE_GODOT_CI == '' }}
|
|
name: 🪲 Godot CPP
|
|
# This can be changed to depend on another platform, if we decide to use it for
|
|
# godot-cpp instead. Make sure to move the .github/actions/godot-api-dump step
|
|
# appropriately.
|
|
needs: linux-build
|
|
uses: ./.github/workflows/godot_cpp_test.yml
|