From 4c527d706fcba5b1cf9c06797d56b12337fa588f Mon Sep 17 00:00:00 2001 From: Florian Scheuner Date: Mon, 20 Apr 2026 00:17:52 +0300 Subject: [PATCH] ci: branch split (fs2024) --- .github/workflows/master.yml | 6 +++--- .github/workflows/pr-build-8k.yml | 2 +- .github/workflows/pr-build.yml | 2 +- .github/workflows/pr-closed.yml | 8 ++++---- .github/workflows/pr-updated.yml | 2 +- .github/workflows/pr-upload-8k.yml | 6 +++--- .github/workflows/pr-upload.yml | 8 ++++---- .github/workflows/pre-release.yml | 6 +++--- .github/workflows/release.yml | 6 +++--- scripts/add_qa_config.js | 9 +++------ scripts/cf-cdn.sh | 2 +- 11 files changed, 27 insertions(+), 30 deletions(-) diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index 26d7663ec9f..1db2642543a 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -91,7 +91,7 @@ jobs: env: CLOUDFLARE_CDN_ZONE_ID: ${{ secrets.CLOUDFLARE_CDN_ZONE_ID }} CLOUDFLARE_PURGE_TOKEN: ${{ secrets.CLOUDFLARE_PURGE_TOKEN }} - CDN_BUCKET_DESTINATION: addons/a32nx/master + CDN_BUCKET_DESTINATION: addons/msfs2024/a32nx/master run: | ./scripts/cf-cdn.sh ./fbw-a32nx/out/build-modules $CDN_BUCKET_DESTINATION - name: Build Standalone Download files @@ -247,7 +247,7 @@ jobs: env: CLOUDFLARE_CDN_ZONE_ID: ${{ secrets.CLOUDFLARE_CDN_ZONE_ID }} CLOUDFLARE_PURGE_TOKEN: ${{ secrets.CLOUDFLARE_PURGE_TOKEN }} - CDN_BUCKET_DESTINATION: addons/a380x/master-8k + CDN_BUCKET_DESTINATION: addons/msfs2024/a380x/master-8k run: | ./scripts/cf-cdn.sh ./fbw-a380x/out/build-modules $CDN_BUCKET_DESTINATION - name: Build Standalone Download files @@ -386,7 +386,7 @@ jobs: env: CLOUDFLARE_CDN_ZONE_ID: ${{ secrets.CLOUDFLARE_CDN_ZONE_ID }} CLOUDFLARE_PURGE_TOKEN: ${{ secrets.CLOUDFLARE_PURGE_TOKEN }} - CDN_BUCKET_DESTINATION: addons/a380x/master-4k + CDN_BUCKET_DESTINATION: addons/msfs2024/a380x/master-4k run: | ./scripts/cf-cdn.sh ./fbw-a380x/out/build-modules $CDN_BUCKET_DESTINATION - name: Build Standalone Download files diff --git a/.github/workflows/pr-build-8k.yml b/.github/workflows/pr-build-8k.yml index 4121cc75141..5d0290dd783 100644 --- a/.github/workflows/pr-build-8k.yml +++ b/.github/workflows/pr-build-8k.yml @@ -1,4 +1,4 @@ -name: PR Tests & Build (8K) +name: PR Tests & Build (FS2024 | 8K) on: pull_request: types: diff --git a/.github/workflows/pr-build.yml b/.github/workflows/pr-build.yml index e42aa042b51..76bd25c6254 100644 --- a/.github/workflows/pr-build.yml +++ b/.github/workflows/pr-build.yml @@ -1,4 +1,4 @@ -name: PR Tests & Build +name: PR Tests & Build (FS2024) on: pull_request: types: diff --git a/.github/workflows/pr-closed.yml b/.github/workflows/pr-closed.yml index 01b7cc10df2..b9e623d78d1 100644 --- a/.github/workflows/pr-closed.yml +++ b/.github/workflows/pr-closed.yml @@ -53,7 +53,7 @@ jobs: - name: Remove QA config entries env: PR_NUMBER: ${{ github.event.pull_request.number }} - ADDON_KEYS: a32nx-msfs2020,a32nx-msfs2024,a380x-msfs2020,a380x-msfs2024 + ADDON_KEYS: a32nx-msfs2024,a380x-msfs2024 CLOUDFLARE_CDN_ZONE_ID: ${{ secrets.CLOUDFLARE_CDN_ZONE_ID }} CLOUDFLARE_PURGE_TOKEN: ${{ secrets.CLOUDFLARE_PURGE_TOKEN }} CDN_BUCKET_DESTINATION: installer/qa-config @@ -63,9 +63,9 @@ jobs: - name: Remove PR files from CloudFlare CDN env: R2_BUCKET: flybywiresim - CDN_BUCKET_DESTINATION_A32NX: addons/a32nx/pr-${{ github.event.pull_request.number }} - CDN_BUCKET_DESTINATION_A380X_4K: addons/a380x/pr-${{ github.event.pull_request.number }}-4k - CDN_BUCKET_DESTINATION_A380X_8K: addons/a380x/pr-${{ github.event.pull_request.number }}-8k + CDN_BUCKET_DESTINATION_A32NX: addons/msfs2024/a32nx/pr-${{ github.event.pull_request.number }} + CDN_BUCKET_DESTINATION_A380X_4K: addons/msfs2024/a380x/pr-${{ github.event.pull_request.number }}-4k + CDN_BUCKET_DESTINATION_A380X_8K: addons/msfs2024/a380x/pr-${{ github.event.pull_request.number }}-8k run: | rclone delete cloudflare-r2:$R2_BUCKET/$CDN_BUCKET_DESTINATION_A32NX || true rclone delete cloudflare-r2:$R2_BUCKET/$CDN_BUCKET_DESTINATION_A380X_4K || true diff --git a/.github/workflows/pr-updated.yml b/.github/workflows/pr-updated.yml index 85db1742b97..f3c49e94422 100644 --- a/.github/workflows/pr-updated.yml +++ b/.github/workflows/pr-updated.yml @@ -41,7 +41,7 @@ jobs: PR_NUMBER: ${{ github.event.pull_request.number }} PR_TITLE: ${{ github.event.pull_request.title }} PR_BODY: ${{ github.event.pull_request.body }} - ADDON_KEYS: a32nx-msfs2020,a32nx-msfs2024,a380x-msfs2020,a380x-msfs2024 + ADDON_KEYS: a32nx-msfs2024,a380x-msfs2024 run: node ./scripts/update_qa_config.js - name: Upload QA config to CDN if: github.event.pull_request.auto_merge == false && steps.update_config.outputs.tracks-updated == 'true' diff --git a/.github/workflows/pr-upload-8k.yml b/.github/workflows/pr-upload-8k.yml index 24c1c1fd91b..6d947afc3b5 100644 --- a/.github/workflows/pr-upload-8k.yml +++ b/.github/workflows/pr-upload-8k.yml @@ -1,7 +1,7 @@ name: Upload PR for Installer QA (8K) on: workflow_run: - workflows: ['PR Tests & Build (8K)'] + workflows: ['PR Tests & Build (FS2020 | 8K)','PR Tests & Build (FS2024 | 8K)'] types: - completed @@ -87,7 +87,7 @@ jobs: env: CLOUDFLARE_CDN_ZONE_ID: ${{ secrets.CLOUDFLARE_CDN_ZONE_ID }} CLOUDFLARE_PURGE_TOKEN: ${{ secrets.CLOUDFLARE_PURGE_TOKEN }} - CDN_BUCKET_DESTINATION: addons/a380x/pr-${{ steps.pr.outputs.number }}-8k + CDN_BUCKET_DESTINATION: addons/${{ contains(github.event.workflow_run.name, 'FS2024') && 'msfs2024' || 'msfs2020' }}/a380x/pr-${{ steps.pr.outputs.number }}-8k run: | ./scripts/cf-cdn.sh /tmp/artifacts/build-modules-a380x-8k $CDN_BUCKET_DESTINATION - name: Lock QA config @@ -98,7 +98,7 @@ jobs: PR_NUMBER: ${{ steps.pr.outputs.number }} PR_TITLE: ${{ steps.pr.outputs.title }} PR_BODY: ${{ steps.pr.outputs.body }} - ADDON_KEYS: a380x-msfs2020,a380x-msfs2024 + ADDON_KEYS: ${{ contains(github.event.workflow_run.name, 'FS2024') && 'a380x-msfs2024' || 'a380x-msfs2020' }} TEXTURE_QUALITY: 8k CLOUDFLARE_CDN_ZONE_ID: ${{ secrets.CLOUDFLARE_CDN_ZONE_ID }} CLOUDFLARE_PURGE_TOKEN: ${{ secrets.CLOUDFLARE_PURGE_TOKEN }} diff --git a/.github/workflows/pr-upload.yml b/.github/workflows/pr-upload.yml index 9ace3949dab..84e7b909e99 100644 --- a/.github/workflows/pr-upload.yml +++ b/.github/workflows/pr-upload.yml @@ -1,7 +1,7 @@ name: Upload PR for Installer QA on: workflow_run: - workflows: ['PR Tests & Build'] + workflows: ['PR Tests & Build (FS2020)', 'PR Tests & Build (FS2024)'] types: - completed @@ -87,7 +87,7 @@ jobs: env: CLOUDFLARE_CDN_ZONE_ID: ${{ secrets.CLOUDFLARE_CDN_ZONE_ID }} CLOUDFLARE_PURGE_TOKEN: ${{ secrets.CLOUDFLARE_PURGE_TOKEN }} - CDN_BUCKET_DESTINATION: addons/a32nx/pr-${{ steps.pr.outputs.number }} + CDN_BUCKET_DESTINATION: addons/${{ contains(github.event.workflow_run.name, 'FS2024') && 'msfs2024' || 'msfs2020' }}/a32nx/pr-${{ steps.pr.outputs.number }} run: | ./scripts/cf-cdn.sh /tmp/artifacts/build-modules-a32nx $CDN_BUCKET_DESTINATION - name: Upload A380X to CloudFlare CDN (Installer) @@ -95,7 +95,7 @@ jobs: env: CLOUDFLARE_CDN_ZONE_ID: ${{ secrets.CLOUDFLARE_CDN_ZONE_ID }} CLOUDFLARE_PURGE_TOKEN: ${{ secrets.CLOUDFLARE_PURGE_TOKEN }} - CDN_BUCKET_DESTINATION: addons/a380x/pr-${{ steps.pr.outputs.number }}-4k + CDN_BUCKET_DESTINATION: addons/${{ contains(github.event.workflow_run.name, 'FS2024') && 'msfs2024' || 'msfs2020' }}/a380x/pr-${{ steps.pr.outputs.number }}-4k run: | ./scripts/cf-cdn.sh /tmp/artifacts/build-modules-a380x-4k $CDN_BUCKET_DESTINATION - name: Lock QA config @@ -106,7 +106,7 @@ jobs: PR_NUMBER: ${{ steps.pr.outputs.number }} PR_TITLE: ${{ steps.pr.outputs.title }} PR_BODY: ${{ steps.pr.outputs.body }} - ADDON_KEYS: a32nx-msfs2020,a32nx-msfs2024,a380x-msfs2020,a380x-msfs2024 + ADDON_KEYS: ${{ contains(github.event.workflow_run.name, 'FS2024') && 'a32nx-msfs2024,a380x-msfs2024' || 'a32nx-msfs2020,a380x-msfs2020' }} TEXTURE_QUALITY: 4k CLOUDFLARE_CDN_ZONE_ID: ${{ secrets.CLOUDFLARE_CDN_ZONE_ID }} CLOUDFLARE_PURGE_TOKEN: ${{ secrets.CLOUDFLARE_PURGE_TOKEN }} diff --git a/.github/workflows/pre-release.yml b/.github/workflows/pre-release.yml index 6fc01ef5b0d..da586582df0 100644 --- a/.github/workflows/pre-release.yml +++ b/.github/workflows/pre-release.yml @@ -107,7 +107,7 @@ jobs: env: CLOUDFLARE_CDN_ZONE_ID: ${{ secrets.CLOUDFLARE_CDN_ZONE_ID }} CLOUDFLARE_PURGE_TOKEN: ${{ secrets.CLOUDFLARE_PURGE_TOKEN }} - CDN_BUCKET_DESTINATION: addons/a32nx/stable-rc + CDN_BUCKET_DESTINATION: addons/msfs2024/a32nx/stable-rc run: | ./scripts/cf-cdn.sh ./fbw-a32nx/out/build-modules $CDN_BUCKET_DESTINATION - name: Build Standalone Download files @@ -244,7 +244,7 @@ jobs: env: CLOUDFLARE_CDN_ZONE_ID: ${{ secrets.CLOUDFLARE_CDN_ZONE_ID }} CLOUDFLARE_PURGE_TOKEN: ${{ secrets.CLOUDFLARE_PURGE_TOKEN }} - CDN_BUCKET_DESTINATION: addons/a380x/stable-rc-8k + CDN_BUCKET_DESTINATION: addons/msfs2024/a380x/stable-rc-8k run: | ./scripts/cf-cdn.sh ./fbw-a380x/out/build-modules $CDN_BUCKET_DESTINATION - name: Build Standalone Download files @@ -377,7 +377,7 @@ jobs: env: CLOUDFLARE_CDN_ZONE_ID: ${{ secrets.CLOUDFLARE_CDN_ZONE_ID }} CLOUDFLARE_PURGE_TOKEN: ${{ secrets.CLOUDFLARE_PURGE_TOKEN }} - CDN_BUCKET_DESTINATION: addons/a380x/stable-rc-4k + CDN_BUCKET_DESTINATION: addons/msfs2024/a380x/stable-rc-4k run: | ./scripts/cf-cdn.sh ./fbw-a380x/out/build-modules $CDN_BUCKET_DESTINATION - name: Build Standalone Download files diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d8b2326844b..8d9a414f91b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -108,7 +108,7 @@ jobs: env: CLOUDFLARE_CDN_ZONE_ID: ${{ secrets.CLOUDFLARE_CDN_ZONE_ID }} CLOUDFLARE_PURGE_TOKEN: ${{ secrets.CLOUDFLARE_PURGE_TOKEN }} - CDN_BUCKET_DESTINATION: addons/a32nx/stable + CDN_BUCKET_DESTINATION: addons/msfs2024/a32nx/stable run: | ./scripts/cf-cdn.sh ./fbw-a32nx/out/build-modules $CDN_BUCKET_DESTINATION - name: Build Standalone Download files @@ -270,7 +270,7 @@ jobs: env: CLOUDFLARE_CDN_ZONE_ID: ${{ secrets.CLOUDFLARE_CDN_ZONE_ID }} CLOUDFLARE_PURGE_TOKEN: ${{ secrets.CLOUDFLARE_PURGE_TOKEN }} - CDN_BUCKET_DESTINATION: addons/a380x/stable-8k + CDN_BUCKET_DESTINATION: addons/msfs2024/a380x/stable-8k run: | ./scripts/cf-cdn.sh ./fbw-a380x/out/build-modules $CDN_BUCKET_DESTINATION - name: Build Standalone Download files @@ -417,7 +417,7 @@ jobs: env: CLOUDFLARE_CDN_ZONE_ID: ${{ secrets.CLOUDFLARE_CDN_ZONE_ID }} CLOUDFLARE_PURGE_TOKEN: ${{ secrets.CLOUDFLARE_PURGE_TOKEN }} - CDN_BUCKET_DESTINATION: addons/a380x/stable-4k + CDN_BUCKET_DESTINATION: addons/msfs2024/a380x/stable-4k run: | ./scripts/cf-cdn.sh ./fbw-a380x/out/build-modules $CDN_BUCKET_DESTINATION - name: Build Standalone Download files diff --git a/scripts/add_qa_config.js b/scripts/add_qa_config.js index 79216ae4bfb..72fffa0c310 100644 --- a/scripts/add_qa_config.js +++ b/scripts/add_qa_config.js @@ -45,13 +45,10 @@ function createTrack(addonKey, prNumber, prTitle, prBody, textureQuality) { const trackKey = `${addonPrefix}-pr-${prNumber}${textureQualitySuffix}`; const trackName = `PR #${prNumber} ${addonKey.startsWith('a380x') ? `(${textureQuality.toUpperCase()})` : ''} | ${prTitle}`; const description = `## [${prTitle} #${prNumber}](https://github.com/${GITHUB_REPO}/pull/${prNumber})\n\n${prBody}`; + const addon = addonKey.includes('a32nx') ? 'a32nx' : addonKey.includes('a380x') ? 'a380x' : addonKey; + const simulator = addonKey.includes('fs2024') ? 'msfs2024' : addonKey.includes('fs2020') ? 'msfs2020' : ''; - let baseUrl; - if (addonKey.startsWith('a32nx')) { - baseUrl = `https://flybywirecdn.com/addons/a32nx/pr-${prNumber}`; - } else if (addonKey.startsWith('a380x')) { - baseUrl = `https://flybywirecdn.com/addons/a380x/pr-${prNumber}-${textureQuality}`; - } + const baseUrl = `https://flybywirecdn.com/addons/${simulator}/${addon}/pr-${prNumber}`; return { name: trackName, diff --git a/scripts/cf-cdn.sh b/scripts/cf-cdn.sh index 169295ddba7..8833010136f 100755 --- a/scripts/cf-cdn.sh +++ b/scripts/cf-cdn.sh @@ -5,7 +5,7 @@ RCLONE_REMOTE="cloudflare-r2" CDN_URL="flybywirecdn.com" FILES=${1} R2_BUCKET="flybywiresim" -CDN_DIR=${2:-"addons/a32nx/test"} +CDN_DIR=${2:-"addons/simulator/addon/test"} echo "Syncing files from: ${FILES}/*" echo "Syncing to: $RCLONE_REMOTE:$CDN_DIR"