deb6025781
This ensures that the godot-cpp job has plenty of resources to run its build and avoid being affected by the main build. Additionally: - Extract test tasks into dedicated actions. - Upload artifacts as early as possible. - Ensure that we check master cache before random cache.
57 lines
1.6 KiB
YAML
57 lines
1.6 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:
|
|
name: 📊 Static checks
|
|
uses: ./.github/workflows/static_checks.yml
|
|
|
|
# Second stage: Run all the builds and some of the tests.
|
|
|
|
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
|
|
|
|
# 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
|