trigger_build #266
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: π GHA | ||
on: | ||
repository_dispatch: | ||
types: [trigger_build] | ||
env: | ||
BASE_NAME: Blazium_v | ||
GODOT_BASE_BRANCH: blazium-dev | ||
concurrency: | ||
group: ci-${{ github.actor }}-${{ github.event.client_payload.type || 'nightly' }}-runner | ||
cancel-in-progress: true | ||
jobs: | ||
get-latest-sha: | ||
name: π Get Latest SHA & Base Version | ||
runs-on: ubuntu-latest | ||
outputs: | ||
build_sha: ${{ steps.get_sha.outputs.sha }} | ||
external_major: ${{ steps.version.outputs.external_major }} | ||
external_minor: ${{ steps.version.outputs.external_minor }} | ||
external_patch: ${{ steps.version.outputs.external_patch }} | ||
external_status: ${{ steps.version.outputs.external_status }} | ||
external_sha: ${{ steps.version.outputs.external_sha }} | ||
major: ${{ steps.new_version.outputs.major }} | ||
minor: ${{ steps.new_version.outputs.minor }} | ||
patch: ${{ steps.new_version.outputs.patch }} | ||
version_string: ${{ steps.new_version.outputs.version_string }} | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
with: | ||
repository: blazium-engine/blazium | ||
ref: ${{ github.event.client_payload.branch || env.GODOT_BASE_BRANCH }} | ||
fetch-depth: 2 | ||
- name: Pull .github folder from ci_cd repository | ||
run: | | ||
git clone --depth=1 https://github.com/blazium-engine/ci_cd.git ci_cd_repo | ||
cp -r ci_cd_repo/.github/* .github/ | ||
mv ci_cd_repo/cicd ./ | ||
rm -rf ci_cd_repo | ||
- name: Get Latest Commit SHA | ||
id: get_sha | ||
run: echo "sha=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT | ||
- name: Parse version.py | ||
id: version | ||
uses: ./.github/actions/get-repos-version | ||
with: | ||
file_path: version.py | ||
- name: Generate Changelog.json | ||
env: | ||
GITHUB_TOKEN: ${{ github.token }} | ||
GITHUB_OWNER: blazium-engine | ||
GITHUB_REPO: blazium | ||
BASE_BRANCH: ${{ steps.version.outputs.external_sha }} | ||
CURRENT_BRANCH: ${{ steps.get_sha.outputs.sha }} | ||
MAJOR_VERSION: ${{ steps.version.outputs.external_major }} | ||
MINOR_VERSION: ${{ steps.version.outputs.external_minor }} | ||
PATCH_VERSION: ${{ steps.version.outputs.external_patch }} | ||
run: | | ||
node ./cicd/scripts/changelog.js $(pwd) | ||
- name: Get Verson of Changelog | ||
id: new_version | ||
uses: ./.github/actions/version-from-changelog | ||
with: | ||
file_path: ${{ github.workspace }}/changelog.json | ||
static-checks: | ||
name: π Static checks | ||
needs: get-latest-sha | ||
uses: ./.github/workflows/static_checks.yml | ||
secrets: inherit | ||
with: | ||
Check failure on line 78 in .github/workflows/runner.yml GitHub Actions / π GHAInvalid workflow file
|
||
build_sha: ${{ needs.get-latest-sha.outputs.build_sha }} | ||
runner_id: ${{ github.event.client_payload.run_id || github.run_id }} | ||
web-build: | ||
name: π Web | ||
needs: [get-latest-sha, static-checks] | ||
if: contains(github.event.client_payload.build, 'web') && !github.event.client_payload.run_id | ||
uses: ./.github/workflows/web_builds.yml | ||
secrets: inherit | ||
with: | ||
build_sha: ${{ needs.get-latest-sha.outputs.build_sha }} | ||
runner_id: ${{ github.event.client_payload.run_id || github.run_id }} | ||
new_major: ${{ needs.get-latest-sha.outputs.major }} | ||
new_minor: ${{ needs.get-latest-sha.outputs.minor }} | ||
new_patch: ${{ needs.get-latest-sha.outputs.patch }} | ||
new_version: ${{ needs.get-latest-sha.outputs.version_string }} | ||
monoglue-build: | ||
name: Mono Glue | ||
needs: [get-latest-sha, static-checks] | ||
if: contains(github.event.client_payload.build, 'monoglue') && !github.event.client_payload.run_id | ||
uses: ./.github/workflows/mono_glue_build.yml | ||
secrets: inherit | ||
with: | ||
build_sha: ${{ needs.get-latest-sha.outputs.build_sha }} | ||
runner_id: ${{ github.event.client_payload.run_id || github.run_id }} | ||
new_major: ${{ needs.get-latest-sha.outputs.major }} | ||
new_minor: ${{ needs.get-latest-sha.outputs.minor }} | ||
new_patch: ${{ needs.get-latest-sha.outputs.patch }} | ||
new_version: ${{ needs.get-latest-sha.outputs.version_string }} | ||
android-build: | ||
name: π€ Android | ||
needs: [monoglue-build, get-latest-sha] | ||
if: contains(github.event.client_payload.build, 'android') && !github.event.client_payload.run_id | ||
uses: ./.github/workflows/android_builds.yml | ||
secrets: inherit | ||
with: | ||
build_sha: ${{ needs.get-latest-sha.outputs.build_sha }} | ||
runner_id: ${{ github.event.client_payload.run_id || github.run_id }} | ||
new_major: ${{ needs.get-latest-sha.outputs.major }} | ||
new_minor: ${{ needs.get-latest-sha.outputs.minor }} | ||
new_patch: ${{ needs.get-latest-sha.outputs.patch }} | ||
new_version: ${{ needs.get-latest-sha.outputs.version_string }} | ||
ios-build: | ||
name: π iOS | ||
needs: [monoglue-build, get-latest-sha] | ||
if: contains(github.event.client_payload.build, 'ios') && !github.event.client_payload.run_id | ||
uses: ./.github/workflows/ios_builds.yml | ||
secrets: inherit | ||
with: | ||
build_sha: ${{ needs.get-latest-sha.outputs.build_sha }} | ||
runner_id: ${{ github.event.client_payload.run_id || github.run_id }} | ||
new_major: ${{ needs.get-latest-sha.outputs.major }} | ||
new_minor: ${{ needs.get-latest-sha.outputs.minor }} | ||
new_patch: ${{ needs.get-latest-sha.outputs.patch }} | ||
new_version: ${{ needs.get-latest-sha.outputs.version_string }} | ||
linux-build: | ||
name: π§ Linux | ||
needs: [monoglue-build, get-latest-sha] | ||
if: contains(github.event.client_payload.build, 'linux') && !github.event.client_payload.run_id | ||
uses: ./.github/workflows/linux_builds.yml | ||
secrets: inherit | ||
with: | ||
build_sha: ${{ needs.get-latest-sha.outputs.build_sha }} | ||
runner_id: ${{ github.event.client_payload.run_id || github.run_id }} | ||
new_major: ${{ needs.get-latest-sha.outputs.major }} | ||
new_minor: ${{ needs.get-latest-sha.outputs.minor }} | ||
new_patch: ${{ needs.get-latest-sha.outputs.patch }} | ||
new_version: ${{ needs.get-latest-sha.outputs.version_string }} | ||
macos-build: | ||
name: π macOS | ||
needs: [monoglue-build, get-latest-sha] | ||
if: contains(github.event.client_payload.build, 'macos') && !github.event.client_payload.run_id | ||
uses: ./.github/workflows/macos_builds.yml | ||
secrets: inherit | ||
with: | ||
build_sha: ${{ needs.get-latest-sha.outputs.build_sha }} | ||
runner_id: ${{ github.event.client_payload.run_id || github.run_id }} | ||
new_major: ${{ needs.get-latest-sha.outputs.major }} | ||
new_minor: ${{ needs.get-latest-sha.outputs.minor }} | ||
new_patch: ${{ needs.get-latest-sha.outputs.patch }} | ||
new_version: ${{ needs.get-latest-sha.outputs.version_string }} | ||
windows-build: | ||
name: π Windows | ||
needs: [monoglue-build, get-latest-sha] | ||
if: contains(github.event.client_payload.build, 'windows') && !github.event.client_payload.run_id | ||
uses: ./.github/workflows/windows_builds.yml | ||
secrets: inherit | ||
with: | ||
build_sha: ${{ needs.get-latest-sha.outputs.build_sha }} | ||
runner_id: ${{ github.event.client_payload.run_id || github.run_id }} | ||
new_major: ${{ needs.get-latest-sha.outputs.major }} | ||
new_minor: ${{ needs.get-latest-sha.outputs.minor }} | ||
new_patch: ${{ needs.get-latest-sha.outputs.patch }} | ||
new_version: ${{ needs.get-latest-sha.outputs.version_string }} | ||
deploy: | ||
name: Deploy | ||
needs: [monoglue-build, windows-build, macos-build, linux-build, android-build, ios-build, get-latest-sha] | ||
if: > | ||
(needs.monoglue-build.result == 'success' && | ||
needs.windows-build.result == 'success' && | ||
needs.macos-build.result == 'success' && | ||
needs.linux-build.result == 'success' && | ||
needs.android-build.result == 'success' && | ||
needs.ios-build.result == 'success') || | ||
github.event.client_payload.force == true | ||
uses: ./.github/workflows/deploy_all.yml | ||
secrets: inherit | ||
with: | ||
build_sha: ${{ needs.get-latest-sha.outputs.build_sha }} | ||
runner_id: ${{ github.event.client_payload.run_id || github.run_id }} | ||
monoglue-build: ${{ needs.monoglue-build.result }} | ||
windows-build: ${{ needs.windows-build.result }} | ||
macos-build: ${{ needs.macos-build.result }} | ||
linux-build: ${{ needs.linux-build.result }} | ||
android-build: ${{ needs.android-build.result }} | ||
ios-build: ${{ needs.ios-build.result }} | ||
new_major: ${{ needs.get-latest-sha.outputs.major }} | ||
new_minor: ${{ needs.get-latest-sha.outputs.minor }} | ||
new_patch: ${{ needs.get-latest-sha.outputs.patch }} | ||
new_version: ${{ needs.get-latest-sha.outputs.version_string }} | ||
cleanup: | ||
name: Clean Up | ||
needs: [monoglue-build, windows-build, macos-build, linux-build, android-build, ios-build, get-latest-sha] | ||
if: always() && (failure() || cancelled()) | ||
uses: ./.github/workflows/clean_up.yml | ||
secrets: inherit | ||
with: | ||
build_sha: ${{ needs.get-latest-sha.outputs.build_sha }} | ||
runner_id: ${{ github.event.client_payload.run_id || github.run_id }} | ||
monoglue-build: ${{ needs.monoglue-build.result }} | ||
windows-build: ${{ needs.windows-build.result }} | ||
macos-build: ${{ needs.macos-build.result }} | ||
linux-build: ${{ needs.linux-build.result }} | ||
android-build: ${{ needs.android-build.result }} | ||
ios-build: ${{ needs.ios-build.result }} | ||
new_major: ${{ needs.get-latest-sha.outputs.major }} | ||
new_minor: ${{ needs.get-latest-sha.outputs.minor }} | ||
new_patch: ${{ needs.get-latest-sha.outputs.patch }} | ||
new_version: ${{ needs.get-latest-sha.outputs.version_string }} |