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.
(cherry picked from commit 4646762c81)
66 lines
1.9 KiB
YAML
66 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
|