2023-04-04 13:56:53 +00:00
|
|
|
name: 🔗 GHA
|
2024-09-26 15:37:40 +00:00
|
|
|
on: [push, pull_request, merge_group]
|
2023-04-04 13:56:53 +00:00
|
|
|
|
|
|
|
concurrency:
|
2024-07-08 15:41:20 +00:00
|
|
|
group: ci-${{ github.actor }}-${{ github.head_ref || github.run_number }}-${{ github.ref }}-runner
|
2023-04-04 13:56:53 +00:00
|
|
|
cancel-in-progress: true
|
|
|
|
|
|
|
|
jobs:
|
2023-08-01 18:38:07 +00:00
|
|
|
# First stage: Only static checks, fast and prevent expensive builds from running.
|
|
|
|
|
2023-04-04 13:56:53 +00:00
|
|
|
static-checks:
|
2024-07-08 15:41:20 +00:00
|
|
|
if: '!vars.DISABLE_GODOT_CI'
|
2023-04-19 13:10:36 +00:00
|
|
|
name: 📊 Static checks
|
2023-04-04 13:56:53 +00:00
|
|
|
uses: ./.github/workflows/static_checks.yml
|
|
|
|
|
2023-08-01 18:38:07 +00:00
|
|
|
# Second stage: Run all the builds and some of the tests.
|
|
|
|
|
2023-04-04 13:56:53 +00:00
|
|
|
android-build:
|
|
|
|
name: 🤖 Android
|
|
|
|
needs: static-checks
|
|
|
|
uses: ./.github/workflows/android_builds.yml
|
|
|
|
|
|
|
|
ios-build:
|
|
|
|
name: 🍏 iOS
|
|
|
|
needs: static-checks
|
|
|
|
uses: ./.github/workflows/ios_builds.yml
|
|
|
|
|
|
|
|
linux-build:
|
|
|
|
name: 🐧 Linux
|
|
|
|
needs: static-checks
|
|
|
|
uses: ./.github/workflows/linux_builds.yml
|
|
|
|
|
|
|
|
macos-build:
|
|
|
|
name: 🍎 macOS
|
|
|
|
needs: static-checks
|
|
|
|
uses: ./.github/workflows/macos_builds.yml
|
|
|
|
|
|
|
|
windows-build:
|
|
|
|
name: 🏁 Windows
|
|
|
|
needs: static-checks
|
|
|
|
uses: ./.github/workflows/windows_builds.yml
|
|
|
|
|
|
|
|
web-build:
|
|
|
|
name: 🌐 Web
|
|
|
|
needs: static-checks
|
|
|
|
uses: ./.github/workflows/web_builds.yml
|
2023-08-01 18:38:07 +00:00
|
|
|
|
|
|
|
# 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:
|
|
|
|
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
|