diff --git a/.github/workflows/a339x-livery-package-dev.yml b/.github/workflows/a339x-livery-package-dev.yml index 16bda2e..892ebdb 100644 --- a/.github/workflows/a339x-livery-package-dev.yml +++ b/.github/workflows/a339x-livery-package-dev.yml @@ -1,4 +1,4 @@ -name: Livery Package Development +name: A339X Livery Package Development on: push: branches: diff --git a/.github/workflows/a339x-livery-package-staging.yml b/.github/workflows/a339x-livery-package-staging.yml new file mode 100644 index 0000000..d64c0e4 --- /dev/null +++ b/.github/workflows/a339x-livery-package-staging.yml @@ -0,0 +1,91 @@ +name: A339X Livery Package Staging +on: + push: + tags: + - 'v*-alpha*' + - 'v*-beta*' + - 'v*-rc*' + paths: + - '.github/workflows/a339x-livery-package-staging.yml' + - 'hdw-a339x-liveries/**' + - 'scripts/build-a339x-liveries.js' + - 'scripts/build-a339x-liveries.sh' + - 'scripts/fragment-a339x-liveries.js' + - 'scripts/install-source-a339x-liveries.js' + - 'scripts/cdn.sh' + - 'scripts/git_build_info.js' + - 'scripts/setup.sh' + - 'igniter.config.mjs' + - 'package.json' + - 'package-lock.json' + +jobs: + build: + # Prevent running this on forks + if: github.repository_owner == 'headwindsim' + name: 'Build A339X Livery Package' + runs-on: ubuntu-latest + env: + A32NX_PRODUCTION_BUILD: 1 + A32NX_INSTRUMENTS_BUILD_WORKERS: 2 + ZIP_NAME: hdw-a339x-liveries-staging.zip + BUILD_DIR_NAME: staging + CLOUDFLARE_WORKER_PASSWORD: ${{ secrets.CLOUDFLARE_WORKER_PASSWORD }} + CDN_BUCKET_DESTINATION: addons/a339x-livery-package/staging + steps: + - name: Free Disk Space (Ubuntu) + uses: jlumbroso/free-disk-space@main + with: + tool-cache: false + android: true + dotnet: false + haskell: false + large-packages: false + docker-images: false + swap-storage: false + - name: Checkout source + uses: actions/checkout@v3 + with: + submodules: recursive + - name: Set BUILT_DATE_TIME + run: echo "BUILT_DATE_TIME=$(date -u -Iseconds)" >> $GITHUB_ENV + - name: Create .env file + run: | + echo A32NX_PRODUCTION_BUILD=1 >> .env + echo CLIENT_ID=${{ secrets.NAVIGRAPH_CLIENT_ID }} >> .env + echo CLIENT_SECRET=${{ secrets.NAVIGRAPH_CLIENT_SECRET }} >> .env + echo CHARTFOX_SECRET=${{ secrets.CHARTFOX_SECRET }} >> .env + echo SENTRY_DSN=${{ secrets.SENTRY_DSN }} >> .env + echo BUILD_DIR_NAME=${{ env.BUILD_DIR_NAME }} >> .env + echo LOCALAZY_READ_KEY=${{ secrets.LOCALAZY_READ_KEY }} >> .env + - name: Setup Package + run: | + ./scripts/dev-env/run.sh ./scripts/setup.sh --clean + - name: Build A339X Livery Package + run: | + ./scripts/dev-env/run.sh ./scripts/build-a339x-liveries.sh --no-tty -j 4 + docker system prune -af + - name: Build ZIP files + run: | + node ./scripts/fragment-a339x-liveries.js + cp ./hdw-a339x-liveries/out/build-modules/modules.json ./hdw-a339x-liveries/out/headwindsim-a339x-livery-package/install.json + node ./scripts/install-source-a339x-liveries.js + mkdir ./${{ env.BUILD_DIR_NAME }} + cd ./hdw-a339x-liveries/out/ + zip -r ../../${{ env.BUILD_DIR_NAME }}/${{ env.ZIP_NAME }} ./headwindsim-a339x-livery-package/ + cd ../../ + - name: Upload to CloudFlare CDN + run: | + ./scripts/cdn.sh $CDN_BUCKET_DESTINATION ./hdw-a339x-liveries/out/build-modules + - name: Get short SHA + uses: benjlevesque/short-sha@v2.2 + id: short-sha + - name: Upload Release Config to CloudFlare CDN + env: + SHA: ${{ steps.short-sha.outputs.sha }} + run: | + mkdir -p ./hdw-a339x-liveries/out/config + echo "releases:" >> ./hdw-a339x-liveries/out/config/releases.yaml + echo " - name: $SHA" >> ./hdw-a339x-liveries/out/config/releases.yaml + echo " date: $(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> ./hdw-a339x-liveries/out/config/releases.yaml + ./scripts/cdn.sh $CDN_BUCKET_DESTINATION ./hdw-a339x-liveries/out/config \ No newline at end of file diff --git a/.github/workflows/su95x-livery-package-dev.yml b/.github/workflows/su95x-livery-package-dev.yml new file mode 100644 index 0000000..7466cec --- /dev/null +++ b/.github/workflows/su95x-livery-package-dev.yml @@ -0,0 +1,89 @@ +name: SU95X Livery Package Development +on: + push: + branches: + - main + paths: + - '.github/workflows/su95x-livery-package-dev.yml' + - 'hdw-su95x-liveries/**' + - 'scripts/build-su95x-liveries.js' + - 'scripts/build-su95x-liveries.sh' + - 'scripts/fragment-su95x-liveries.js' + - 'scripts/install-source-su95x-liveries.js' + - 'scripts/cdn.sh' + - 'scripts/git_build_info.js' + - 'scripts/setup.sh' + - 'igniter.config.mjs' + - 'package.json' + - 'package-lock.json' + +jobs: + build: + # Prevent running this on forks + if: github.repository_owner == 'headwindsim' + name: 'Build SU95X Livery Package' + runs-on: ubuntu-latest + env: + A32NX_PRODUCTION_BUILD: 1 + A32NX_INSTRUMENTS_BUILD_WORKERS: 2 + ZIP_NAME: hdw-su95x-liveries-dev.zip + BUILD_DIR_NAME: dev + CLOUDFLARE_WORKER_PASSWORD: ${{ secrets.CLOUDFLARE_WORKER_PASSWORD }} + CDN_BUCKET_DESTINATION: addons/su95x-livery-package/dev + steps: + - name: Free Disk Space (Ubuntu) + uses: jlumbroso/free-disk-space@main + with: + tool-cache: false + android: true + dotnet: false + haskell: false + large-packages: false + docker-images: false + swap-storage: false + - name: Checkout source + uses: actions/checkout@v3 + with: + submodules: recursive + - name: Set BUILT_DATE_TIME + run: echo "BUILT_DATE_TIME=$(date -u -Iseconds)" >> $GITHUB_ENV + - name: Create .env file + run: | + echo A32NX_PRODUCTION_BUILD=1 >> .env + echo CLIENT_ID=${{ secrets.NAVIGRAPH_CLIENT_ID }} >> .env + echo CLIENT_SECRET=${{ secrets.NAVIGRAPH_CLIENT_SECRET }} >> .env + echo CHARTFOX_SECRET=${{ secrets.CHARTFOX_SECRET }} >> .env + echo SENTRY_DSN=${{ secrets.SENTRY_DSN }} >> .env + echo BUILD_DIR_NAME=${{ env.BUILD_DIR_NAME }} >> .env + echo LOCALAZY_READ_KEY=${{ secrets.LOCALAZY_READ_KEY }} >> .env + - name: Setup Package + run: | + ./scripts/dev-env/run.sh ./scripts/setup.sh --clean + - name: Build A339X Livery Package + run: | + ./scripts/dev-env/run.sh ./scripts/build-su95x-liveries.sh --no-tty -j 4 + docker system prune -af + - name: Build ZIP files + run: | + node ./scripts/fragment-su95x-liveries.js + cp ./hdw-su95x-liveries/out/build-modules/modules.json ./hdw-su95x-liveries/out/headwindsim-su95x-livery-package/install.json + node ./scripts/install-source-su95x-liveries.js + mkdir ./${{ env.BUILD_DIR_NAME }} + cd ./hdw-su95x-liveries/out/ + zip -r ../../${{ env.BUILD_DIR_NAME }}/${{ env.ZIP_NAME }} ./headwindsim-su95x-livery-package/ + cd ../../ + - name: Upload to CloudFlare CDN + run: | + ./scripts/cdn.sh $CDN_BUCKET_DESTINATION ./hdw-su95x-liveries/out/build-modules + - name: Get short SHA + uses: benjlevesque/short-sha@v2.2 + id: short-sha + - name: Upload Release Config to CloudFlare CDN + env: + SHA: ${{ steps.short-sha.outputs.sha }} + run: | + mkdir -p ./hdw-su95x-liveries/out/config + echo "releases:" >> ./hdw-su95x-liveries/out/config/releases.yaml + echo " - name: $SHA" >> ./hdw-su95x-liveries/out/config/releases.yaml + echo " date: $(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> ./hdw-su95x-liveries/out/config/releases.yaml + ./scripts/cdn.sh $CDN_BUCKET_DESTINATION ./hdw-su95x-liveries/out/config \ No newline at end of file diff --git a/.github/workflows/su95x-livery-package-release.yml b/.github/workflows/su95x-livery-package-release.yml new file mode 100644 index 0000000..c9b2167 --- /dev/null +++ b/.github/workflows/su95x-livery-package-release.yml @@ -0,0 +1,84 @@ +name: A339X Livery Package Release +on: + push: + tags: + - 'v*' + - '!v*-alpha*' + - '!v*-beta*' + - '!v*-rc*' + paths: + - '.github/workflows/su95x-livery-package-release.yml' + - 'hdw-su95x-liveries/**' + - 'scripts/build-su95x-liveries.js' + - 'scripts/build-su95x-liveries.sh' + - 'scripts/fragment-su95x-liveries.js' + - 'scripts/install-source-su95x-liveries.js' + +jobs: + build: + # Prevent running this on forks + if: github.repository_owner == 'headwindsim' + name: 'Build SU95X Livery Package' + runs-on: ubuntu-latest + env: + A32NX_PRODUCTION_BUILD: 1 + A32NX_INSTRUMENTS_BUILD_WORKERS: 2 + ZIP_NAME: hdw-su95x-liveries-release.zip + BUILD_DIR_NAME: release + CLOUDFLARE_WORKER_PASSWORD: ${{ secrets.CLOUDFLARE_WORKER_PASSWORD }} + CDN_BUCKET_DESTINATION: addons/su95x-livery-package/release + steps: + - name: Free Disk Space (Ubuntu) + uses: jlumbroso/free-disk-space@main + with: + tool-cache: false + android: true + dotnet: false + haskell: false + large-packages: false + docker-images: false + swap-storage: false + - name: Checkout source + uses: actions/checkout@v3 + with: + submodules: recursive + - name: Set BUILT_DATE_TIME + run: echo "BUILT_DATE_TIME=$(date -u -Iseconds)" >> $GITHUB_ENV + - name: Create .env file + run: | + echo A32NX_PRODUCTION_BUILD=1 >> .env + echo CLIENT_ID=${{ secrets.NAVIGRAPH_CLIENT_ID }} >> .env + echo CLIENT_SECRET=${{ secrets.NAVIGRAPH_CLIENT_SECRET }} >> .env + echo CHARTFOX_SECRET=${{ secrets.CHARTFOX_SECRET }} >> .env + echo SENTRY_DSN=${{ secrets.SENTRY_DSN }} >> .env + echo BUILD_DIR_NAME=${{ env.BUILD_DIR_NAME }} >> .env + echo LOCALAZY_READ_KEY=${{ secrets.LOCALAZY_READ_KEY }} >> .env + - name: Setup Package + run: | + ./scripts/dev-env/run.sh ./scripts/setup.sh --clean + - name: Copy Sources + run: | + ./scripts/dev-env/run.sh ./scripts/copy_su95x.sh + - name: Build A339X Livery Package + run: | + ./scripts/dev-env/run.sh ./scripts/build-su95x-liveries.sh --no-tty -j 4 + docker system prune -af + - name: Build ZIP files + run: | + node ./scripts/fragment-su95x-liveries.js + cp ./hdw-su95x-liveries/out/build-modules/modules.json ./hdw-su95x-liveries/out/headwindsim-su95x-livery-package/install.json + node ./scripts/install-source-su95x-liveries.js + mkdir ./${{ env.BUILD_DIR_NAME }} + cd ./hdw-su95x-liveries/out/ + zip -r ../../${{ env.BUILD_DIR_NAME }}/${{ env.ZIP_NAME }} ./headwindsim-su95x-livery-package/ + cd ../../ + - name: Upload to CloudFlare CDN + run: | + ./scripts/cdn.sh $CDN_BUCKET_DESTINATION ./hdw-su95x-liveries/out/build-modules + - name: Upload Release Config to CloudFlare CDN + run: | + mkdir -p ./hdw-su95x-liveries/out/config + echo "releases:" >> ./hdw-su95x-liveries/out/config/releases.yaml + echo " - name: $GITHUB_REF_NAME" >> ./hdw-su95x-liveries/out/config/releases.yaml + echo " date: $(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> ./hdw-su95x-liveries/out/config/releases.yaml + ./scripts/cdn.sh $CDN_BUCKET_DESTINATION ./hdw-su95x-liveries/out/config \ No newline at end of file diff --git a/.github/workflows/su95x-livery-package-staging.yml b/.github/workflows/su95x-livery-package-staging.yml new file mode 100644 index 0000000..41d8c43 --- /dev/null +++ b/.github/workflows/su95x-livery-package-staging.yml @@ -0,0 +1,83 @@ +name: SU95X Livery Package Staging +on: + push: + tags: + - 'v*-alpha*' + - 'v*-beta*' + - 'v*-rc*' + paths: + - '.github/workflows/su95x-livery-package-staging.yml' + - 'hdw-su95x-liveries/**' + - 'scripts/build-su95x-liveries.js' + - 'scripts/build-su95x-liveries.sh' + - 'scripts/fragment-su95x-liveries.js' + - 'scripts/install-source-su95x-liveries.js' + +jobs: + build: + # Prevent running this on forks + if: github.repository_owner == 'headwindsim' + name: 'Build SU95X Livery Package' + runs-on: ubuntu-latest + env: + A32NX_PRODUCTION_BUILD: 1 + A32NX_INSTRUMENTS_BUILD_WORKERS: 2 + ZIP_NAME: hdw-su95x-liveries-staging.zip + BUILD_DIR_NAME: staging + CLOUDFLARE_WORKER_PASSWORD: ${{ secrets.CLOUDFLARE_WORKER_PASSWORD }} + CDN_BUCKET_DESTINATION: addons/su95x-livery-package/staging + steps: + - name: Free Disk Space (Ubuntu) + uses: jlumbroso/free-disk-space@main + with: + tool-cache: false + android: true + dotnet: false + haskell: false + large-packages: false + docker-images: false + swap-storage: false + - name: Checkout source + uses: actions/checkout@v3 + with: + submodules: recursive + - name: Set BUILT_DATE_TIME + run: echo "BUILT_DATE_TIME=$(date -u -Iseconds)" >> $GITHUB_ENV + - name: Create .env file + run: | + echo A32NX_PRODUCTION_BUILD=1 >> .env + echo CLIENT_ID=${{ secrets.NAVIGRAPH_CLIENT_ID }} >> .env + echo CLIENT_SECRET=${{ secrets.NAVIGRAPH_CLIENT_SECRET }} >> .env + echo CHARTFOX_SECRET=${{ secrets.CHARTFOX_SECRET }} >> .env + echo SENTRY_DSN=${{ secrets.SENTRY_DSN }} >> .env + echo BUILD_DIR_NAME=${{ env.BUILD_DIR_NAME }} >> .env + echo LOCALAZY_READ_KEY=${{ secrets.LOCALAZY_READ_KEY }} >> .env + - name: Setup Package + run: | + ./scripts/dev-env/run.sh ./scripts/setup.sh --clean + - name: Copy Sources + run: | + ./scripts/dev-env/run.sh ./scripts/copy_su95x.sh + - name: Build A339X Livery Package + run: | + ./scripts/dev-env/run.sh ./scripts/build-su95x-liveries.sh --no-tty -j 4 + docker system prune -af + - name: Build ZIP files + run: | + node ./scripts/fragment-su95x-liveries.js + cp ./hdw-su95x-liveries/out/build-modules/modules.json ./hdw-su95x-liveries/out/headwindsim-su95x-livery-package/install.json + node ./scripts/install-source-su95x-liveries.js + mkdir ./${{ env.BUILD_DIR_NAME }} + cd ./hdw-su95x-liveries/out/ + zip -r ../../${{ env.BUILD_DIR_NAME }}/${{ env.ZIP_NAME }} ./headwindsim-su95x-livery-package/ + cd ../../ + - name: Upload to CloudFlare CDN + run: | + ./scripts/cdn.sh $CDN_BUCKET_DESTINATION ./hdw-su95x-liveries/out/build-modules + - name: Upload Release Config to CloudFlare CDN + run: | + mkdir -p ./hdw-su95x-liveries/out/config + echo "releases:" >> ./hdw-su95x-liveries/out/config/releases.yaml + echo " - name: $GITHUB_REF_NAME" >> ./hdw-su95x-liveries/out/config/releases.yaml + echo " date: $(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> ./hdw-su95x-liveries/out/config/releases.yaml + ./scripts/cdn.sh $CDN_BUCKET_DESTINATION ./hdw-su95x-liveries/out/config \ No newline at end of file