diff --git a/.github/workflows/development.yml b/.github/workflows/development.yml index f192260b3..fe0c85660 100644 --- a/.github/workflows/development.yml +++ b/.github/workflows/development.yml @@ -12,6 +12,8 @@ jobs: A32NX_INSTRUMENTS_BUILD_WORKERS: 2 ZIP_NAME: headwindsim-aircraft-a330-300-dev.zip BUILD_DIR_NAME: development + CLOUDFLARE_WORKER_PASSWORD: ${{ secrets.CLOUDFLARE_WORKER_PASSWORD }} + CDN_BUCKET_DESTINATION: addons/a333x/development steps: - name: Free Disk Space (Ubuntu) uses: jlumbroso/free-disk-space@main @@ -58,11 +60,20 @@ jobs: zip -r ../../${{ env.BUILD_DIR_NAME }}/${{ env.ZIP_NAME }} ./headwindsim-aircraft-a330-300/ cd ../../ - name: Upload to CloudFlare CDN - env: - CLOUDFLARE_WORKER_PASSWORD: ${{ secrets.CLOUDFLARE_WORKER_PASSWORD }} - CDN_BUCKET_DESTINATION: addons/a333x/development run: | ./scripts/cdn.sh $CDN_BUCKET_DESTINATION ./build-a333x/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 ./build-a333x/out/config + echo "releases:" >> ./build-a333x/out/config/releases.yaml + echo " - name: $SHA" >> ./build-a333x/out/config/releases.yaml + echo " date: $(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> ./build-a333x/out/config/releases.yaml + ./scripts/cdn.sh $CDN_BUCKET_DESTINATION ./build-a333x/out/config build-a339x: runs-on: ubuntu-latest env: @@ -70,6 +81,8 @@ jobs: A32NX_INSTRUMENTS_BUILD_WORKERS: 2 ZIP_NAME: headwindsim-aircraft-a330-900-dev.zip BUILD_DIR_NAME: development + CLOUDFLARE_WORKER_PASSWORD: ${{ secrets.CLOUDFLARE_WORKER_PASSWORD }} + CDN_BUCKET_DESTINATION: addons/a339x/development steps: - name: Free Disk Space (Ubuntu) uses: jlumbroso/free-disk-space@main @@ -116,11 +129,20 @@ jobs: zip -r ../../${{ env.BUILD_DIR_NAME }}/${{ env.ZIP_NAME }} ./headwindsim-aircraft-a330-900/ cd ../../ - name: Upload to CloudFlare CDN - env: - CLOUDFLARE_WORKER_PASSWORD: ${{ secrets.CLOUDFLARE_WORKER_PASSWORD }} - CDN_BUCKET_DESTINATION: addons/a339x/development run: | ./scripts/cdn.sh $CDN_BUCKET_DESTINATION ./build-a339x/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 ./build-a339x/out/config + echo "releases:" >> ./build-a339x/out/config/releases.yaml + echo " - name: $SHA" >> ./build-a339x/out/config/releases.yaml + echo " date: $(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> ./build-a339x/out/config/releases.yaml + ./scripts/cdn.sh $CDN_BUCKET_DESTINATION ./build-a339x/out/config build-su95x: runs-on: ubuntu-latest env: @@ -128,6 +150,8 @@ jobs: A32NX_INSTRUMENTS_BUILD_WORKERS: 2 ZIP_NAME: headwindsim-aircraft-su100-95-dev.zip BUILD_DIR_NAME: development + CLOUDFLARE_WORKER_PASSWORD: ${{ secrets.CLOUDFLARE_WORKER_PASSWORD }} + CDN_BUCKET_DESTINATION: addons/su95x/development steps: - name: Free Disk Space (Ubuntu) uses: jlumbroso/free-disk-space@main @@ -174,8 +198,17 @@ jobs: zip -r ../../${{ env.BUILD_DIR_NAME }}/${{ env.ZIP_NAME }} ./headwindsim-aircraft-su100-95/ cd ../../ - name: Upload to CloudFlare CDN - env: - CLOUDFLARE_WORKER_PASSWORD: ${{ secrets.CLOUDFLARE_WORKER_PASSWORD }} - CDN_BUCKET_DESTINATION: addons/su95x/development run: | ./scripts/cdn.sh $CDN_BUCKET_DESTINATION ./build-su95x/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 ./build-su95x/out/config + echo "releases:" >> ./build-su95x/out/config/releases.yaml + echo " - name: $SHA" >> ./build-su95x/out/config/releases.yaml + echo " date: $(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> ./build-su95x/out/config/releases.yaml + ./scripts/cdn.sh $CDN_BUCKET_DESTINATION ./build-su95x/out/config diff --git a/.github/workflows/experimental.yml b/.github/workflows/experimental.yml index 9f1e1a497..baed0f40f 100644 --- a/.github/workflows/experimental.yml +++ b/.github/workflows/experimental.yml @@ -12,6 +12,8 @@ jobs: A32NX_INSTRUMENTS_BUILD_WORKERS: 2 ZIP_NAME: headwindsim-aircraft-a330-300-exp.zip BUILD_DIR_NAME: experimental + CLOUDFLARE_WORKER_PASSWORD: ${{ secrets.CLOUDFLARE_WORKER_PASSWORD }} + CDN_BUCKET_DESTINATION: addons/a333x/experimental steps: - name: Free Disk Space (Ubuntu) uses: jlumbroso/free-disk-space@main @@ -58,11 +60,20 @@ jobs: zip -r ../../${{ env.BUILD_DIR_NAME }}/${{ env.ZIP_NAME }} ./headwindsim-aircraft-a330-300/ cd ../../ - name: Upload to CloudFlare CDN - env: - CLOUDFLARE_WORKER_PASSWORD: ${{ secrets.CLOUDFLARE_WORKER_PASSWORD }} - CDN_BUCKET_DESTINATION: addons/a333x/experimental run: | ./scripts/cdn.sh $CDN_BUCKET_DESTINATION ./build-a333x/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 ./build-a333x/out/config + echo "releases:" >> ./build-a333x/out/config/releases.yaml + echo " - name: $SHA" >> ./build-a333x/out/config/releases.yaml + echo " date: $(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> ./build-a333x/out/config/releases.yaml + ./scripts/cdn.sh $CDN_BUCKET_DESTINATION ./build-a333x/out/config build-a339x: runs-on: ubuntu-latest env: @@ -70,6 +81,8 @@ jobs: A32NX_INSTRUMENTS_BUILD_WORKERS: 2 ZIP_NAME: headwindsim-aircraft-a330-900-exp.zip BUILD_DIR_NAME: experimental + CLOUDFLARE_WORKER_PASSWORD: ${{ secrets.CLOUDFLARE_WORKER_PASSWORD }} + CDN_BUCKET_DESTINATION: addons/a339x/experimental steps: - name: Free Disk Space (Ubuntu) uses: jlumbroso/free-disk-space@main @@ -116,8 +129,86 @@ jobs: zip -r ../../${{ env.BUILD_DIR_NAME }}/${{ env.ZIP_NAME }} ./headwindsim-aircraft-a330-900/ cd ../../ - name: Upload to CloudFlare CDN - env: - CLOUDFLARE_WORKER_PASSWORD: ${{ secrets.CLOUDFLARE_WORKER_PASSWORD }} - CDN_BUCKET_DESTINATION: addons/a339x/experimental run: | ./scripts/cdn.sh $CDN_BUCKET_DESTINATION ./build-a339x/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 ./build-a339x/out/config + echo "releases:" >> ./build-a339x/out/config/releases.yaml + echo " - name: $SHA" >> ./build-a339x/out/config/releases.yaml + echo " date: $(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> ./build-a339x/out/config/releases.yaml + ./scripts/cdn.sh $CDN_BUCKET_DESTINATION ./build-a339x/out/config + build-su95x: + runs-on: ubuntu-latest + env: + A32NX_PRODUCTION_BUILD: 1 + A32NX_INSTRUMENTS_BUILD_WORKERS: 2 + ZIP_NAME: headwindsim-aircraft-su100-95-exp.zip + BUILD_DIR_NAME: experimental + CLOUDFLARE_WORKER_PASSWORD: ${{ secrets.CLOUDFLARE_WORKER_PASSWORD }} + CDN_BUCKET_DESTINATION: addons/su95x/experimental + 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@v4 + 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 >> hdw-su95x/.env + echo CLIENT_ID=\"${{ secrets.NAVIGRAPH_CLIENT_ID }}\" >> hdw-su95x/.env + echo CLIENT_SECRET=\"${{ secrets.NAVIGRAPH_CLIENT_SECRET }}\" >> hdw-su95x/.env + echo SENTRY_DSN=\"${{ secrets.SENTRY_DSN }}\" >> hdw-su95x/.env + echo BUILD_DIR_NAME=${{ env.BUILD_DIR_NAME }} >> .env + echo LOCALAZY_READ_KEY=${{ secrets.LOCALAZY_READ_KEY }} >> .env + echo VITE_BUILD=false >> .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 SU95X Package + run: | + ./scripts/dev-env/run.sh ./scripts/build_su95x.sh --no-tty -j 4 + docker system prune -af + - name: Build ZIP files + run: | + node ./scripts/fragment-su95x.js + cp ./build-su95x/out/build-modules/modules.json ./build-su95x/out/headwindsim-aircraft-su100-95/install.json + node ./scripts/install-source-su95x.js + mkdir ./${{ env.BUILD_DIR_NAME }} + cd ./build-su95x/out/ + zip -r ../../${{ env.BUILD_DIR_NAME }}/${{ env.ZIP_NAME }} ./headwindsim-aircraft-su100-95/ + cd ../../ + - name: Upload to CloudFlare CDN + run: | + ./scripts/cdn.sh $CDN_BUCKET_DESTINATION ./build-su95x/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 ./build-su95x/out/config + echo "releases:" >> ./build-su95x/out/config/releases.yaml + echo " - name: $SHA" >> ./build-su95x/out/config/releases.yaml + echo " date: $(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> ./build-su95x/out/config/releases.yaml + ./scripts/cdn.sh $CDN_BUCKET_DESTINATION ./build-su95x/out/config \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 60549efdb..c784d2dc6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,13 +8,77 @@ on: - '!v*-rc*' jobs: - build: + build-a333x: runs-on: ubuntu-latest env: A32NX_PRODUCTION_BUILD: 1 A32NX_INSTRUMENTS_BUILD_WORKERS: 2 - ZIP_NAME: headwindsim-aircraft-a330-900-stable.zip - BUILD_DIR_NAME: stable + ZIP_NAME: headwindsim-aircraft-a330-300-release.zip + BUILD_DIR_NAME: release + CLOUDFLARE_WORKER_PASSWORD: ${{ secrets.CLOUDFLARE_WORKER_PASSWORD }} + CDN_BUCKET_DESTINATION: addons/a333x/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@v4 + with: + submodules: recursive + - name: Create .env file + run: | + echo A32NX_PRODUCTION_BUILD=1 >> hdw-a333x/.env + echo CLIENT_ID=\"${{ secrets.NAVIGRAPH_CLIENT_ID }}\" >> hdw-a333x/.env + echo CLIENT_SECRET=\"${{ secrets.NAVIGRAPH_CLIENT_SECRET }}\" >> hdw-a333x/.env + echo SENTRY_DSN=\"${{ secrets.SENTRY_DSN }}\" >> hdw-a333x/.env + echo BUILD_DIR_NAME=${{ env.BUILD_DIR_NAME }} >> .env + echo LOCALAZY_READ_KEY=${{ secrets.LOCALAZY_READ_KEY }} >> .env + echo VITE_BUILD=false >> .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_a333x.sh + - name: Build A333X Package + run: | + ./scripts/dev-env/run.sh ./scripts/build_a333x.sh --no-tty -j 4 + docker system prune -af + - name: Build ZIP files + run: | + node ./scripts/fragment.js + cp ./build-a333x/out/build-modules/modules.json ./build-a333x/out/headwindsim-aircraft-a330-300/install.json + node ./scripts/install-source.js + mkdir ./${{ env.BUILD_DIR_NAME }} + cd ./build-a333x/out/ + zip -r ../../${{ env.BUILD_DIR_NAME }}/${{ env.ZIP_NAME }} ./headwindsim-aircraft-a330-300/ + cd ../../ + - name: Upload to CloudFlare CDN + run: | + ./scripts/cdn.sh $CDN_BUCKET_DESTINATION ./build-a333x/out/build-modules + - name: Upload Release Config to CloudFlare CDN + run: | + mkdir -p ./build-a333x/out/config + echo "releases:" >> ./build-a333x/out/config/releases.yaml + echo " - name: $GITHUB_REF_NAME" >> ./build-a333x/out/config/releases.yaml + echo " date: $(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> ./build-a333x/out/config/releases.yaml + ./scripts/cdn.sh $CDN_BUCKET_DESTINATION ./build-a333x/out/config + build-a339x: + runs-on: ubuntu-latest + env: + A32NX_PRODUCTION_BUILD: 1 + A32NX_INSTRUMENTS_BUILD_WORKERS: 2 + ZIP_NAME: headwindsim-aircraft-a330-900-release.zip + BUILD_DIR_NAME: release + CLOUDFLARE_WORKER_PASSWORD: ${{ secrets.CLOUDFLARE_WORKER_PASSWORD }} + CDN_BUCKET_DESTINATION: addons/a339x/release steps: - name: Free Disk Space (Ubuntu) uses: jlumbroso/free-disk-space@main @@ -59,27 +123,74 @@ jobs: zip -r ../../${{ env.BUILD_DIR_NAME }}/${{ env.ZIP_NAME }} ./headwindsim-aircraft-a330-900/ cd ../../ - name: Upload to CloudFlare CDN - env: - CLOUDFLARE_WORKER_PASSWORD: ${{ secrets.CLOUDFLARE_WORKER_PASSWORD }} - CDN_BUCKET_DESTINATION: addons/a339x/release run: | ./scripts/cdn.sh $CDN_BUCKET_DESTINATION ./build-a339x/out/build-modules - - name: Create Release - id: create_release - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Upload Release Config to CloudFlare CDN + run: | + mkdir -p ./build-a339x/out/config + echo "releases:" >> ./build-a339x/out/config/releases.yaml + echo " - name: $GITHUB_REF_NAME" >> ./build-a339x/out/config/releases.yaml + echo " date: $(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> ./build-a339x/out/config/releases.yaml + ./scripts/cdn.sh $CDN_BUCKET_DESTINATION ./build-a339x/out/config + build-su95x: + runs-on: ubuntu-latest + env: + A32NX_PRODUCTION_BUILD: 1 + A32NX_INSTRUMENTS_BUILD_WORKERS: 2 + ZIP_NAME: headwindsim-aircraft-su100-95-release.zip + BUILD_DIR_NAME: release + CLOUDFLARE_WORKER_PASSWORD: ${{ secrets.CLOUDFLARE_WORKER_PASSWORD }} + CDN_BUCKET_DESTINATION: addons/su95x/release + steps: + - name: Free Disk Space (Ubuntu) + uses: jlumbroso/free-disk-space@main with: - tag_name: ${{ github.ref }} - release_name: ${{ github.ref }} - draft: false - prerelease: false - - name: Upload Release asset - uses: actions/upload-release-asset@v1.0.2 - env: - GITHUB_TOKEN: ${{ github.token }} + tool-cache: false + android: true + dotnet: false + haskell: false + large-packages: false + docker-images: false + swap-storage: false + - name: Checkout source + uses: actions/checkout@v4 with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./${{ env.BUILD_DIR_NAME }}/${{ env.ZIP_NAME }} - asset_name: ${{ env.ZIP_NAME }} - asset_content_type: application/zip + submodules: recursive + - name: Create .env file + run: | + echo A32NX_PRODUCTION_BUILD=1 >> hdw-su95x/.env + echo CLIENT_ID=\"${{ secrets.NAVIGRAPH_CLIENT_ID }}\" >> hdw-su95x/.env + echo CLIENT_SECRET=\"${{ secrets.NAVIGRAPH_CLIENT_SECRET }}\" >> hdw-su95x/.env + echo SENTRY_DSN=\"${{ secrets.SENTRY_DSN }}\" >> hdw-su95x/.env + echo BUILD_DIR_NAME=${{ env.BUILD_DIR_NAME }} >> .env + echo LOCALAZY_READ_KEY=${{ secrets.LOCALAZY_READ_KEY }} >> .env + echo VITE_BUILD=false >> .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 SU95X Package + run: | + ./scripts/dev-env/run.sh ./scripts/build_su95x.sh --no-tty -j 4 + docker system prune -af + - name: Build ZIP files + run: | + node ./scripts/fragment.js + cp ./build-su95x/out/build-modules/modules.json ./build-su95x/out/headwindsim-aircraft-su100-95/install.json + node ./scripts/install-source.js + mkdir ./${{ env.BUILD_DIR_NAME }} + cd ./build-su95x/out/ + zip -r ../../${{ env.BUILD_DIR_NAME }}/${{ env.ZIP_NAME }} ./headwindsim-aircraft-su100-95/ + cd ../../ + - name: Upload to CloudFlare CDN + run: | + ./scripts/cdn.sh $CDN_BUCKET_DESTINATION ./build-su95x/out/build-modules + - name: Upload Release Config to CloudFlare CDN + run: | + mkdir -p ./build-su95x/out/config + echo "releases:" >> ./build-su95x/out/config/releases.yaml + echo " - name: $GITHUB_REF_NAME" >> ./build-su95x/out/config/releases.yaml + echo " date: $(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> ./build-su95x/out/config/releases.yaml + ./scripts/cdn.sh $CDN_BUCKET_DESTINATION ./build-su95x/out/config \ No newline at end of file diff --git a/.github/workflows/staging.yml b/.github/workflows/staging.yml index 5f0f4a6bc..c1523ddfd 100644 --- a/.github/workflows/staging.yml +++ b/.github/workflows/staging.yml @@ -6,13 +6,79 @@ on: - 'v*-beta*' - 'v*-rc*' jobs: - build: + build-a333x: + runs-on: ubuntu-latest + env: + A32NX_PRODUCTION_BUILD: 1 + A32NX_INSTRUMENTS_BUILD_WORKERS: 2 + ZIP_NAME: headwindsim-aircraft-a330-300-staging.zip + BUILD_DIR_NAME: staging + CLOUDFLARE_WORKER_PASSWORD: ${{ secrets.CLOUDFLARE_WORKER_PASSWORD }} + CDN_BUCKET_DESTINATION: addons/a333x/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@v4 + 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 >> hdw-a333x/.env + echo CLIENT_ID=\"${{ secrets.NAVIGRAPH_CLIENT_ID }}\" >> hdw-a333x/.env + echo CLIENT_SECRET=\"${{ secrets.NAVIGRAPH_CLIENT_SECRET }}\" >> hdw-a333x/.env + echo SENTRY_DSN=\"${{ secrets.SENTRY_DSN }}\" >> hdw-a333x/.env + echo BUILD_DIR_NAME=${{ env.BUILD_DIR_NAME }} >> .env + echo LOCALAZY_READ_KEY=${{ secrets.LOCALAZY_READ_KEY }} >> .env + echo VITE_BUILD=false >> .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_a333x.sh + - name: Build A333X Package + run: | + ./scripts/dev-env/run.sh ./scripts/build_a333x.sh --no-tty -j 4 + docker system prune -af + - name: Build ZIP files + run: | + node ./scripts/fragment.js + cp ./build-a333x/out/build-modules/modules.json ./build-a333x/out/headwindsim-aircraft-a330-300/install.json + node ./scripts/install-source.js + mkdir ./${{ env.BUILD_DIR_NAME }} + cd ./build-a333x/out/ + zip -r ../../${{ env.BUILD_DIR_NAME }}/${{ env.ZIP_NAME }} ./headwindsim-aircraft-a330-300/ + cd ../../ + - name: Upload to CloudFlare CDN + run: | + ./scripts/cdn.sh $CDN_BUCKET_DESTINATION ./build-a333x/out/build-modules + - name: Upload Release Config to CloudFlare CDN + run: | + mkdir -p ./build-a333x/out/config + echo "releases:" >> ./build-a333x/out/config/releases.yaml + echo " - name: $GITHUB_REF_NAME" >> ./build-a333x/out/config/releases.yaml + echo " date: $(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> ./build-a333x/out/config/releases.yaml + ./scripts/cdn.sh $CDN_BUCKET_DESTINATION ./build-a333x/out/config + build-a339x: runs-on: ubuntu-latest env: A32NX_PRODUCTION_BUILD: 1 A32NX_INSTRUMENTS_BUILD_WORKERS: 2 ZIP_NAME: headwindsim-aircraft-a330-900-staging.zip BUILD_DIR_NAME: staging + CLOUDFLARE_WORKER_PASSWORD: ${{ secrets.CLOUDFLARE_WORKER_PASSWORD }} + CDN_BUCKET_DESTINATION: addons/a339x/staging steps: - name: Free Disk Space (Ubuntu) uses: jlumbroso/free-disk-space@main @@ -59,27 +125,76 @@ jobs: zip -r ../../${{ env.BUILD_DIR_NAME }}/${{ env.ZIP_NAME }} ./headwindsim-aircraft-a330-900/ cd ../../ - name: Upload to CloudFlare CDN - env: - CLOUDFLARE_WORKER_PASSWORD: ${{ secrets.CLOUDFLARE_WORKER_PASSWORD }} - CDN_BUCKET_DESTINATION: addons/a339x/staging run: | ./scripts/cdn.sh $CDN_BUCKET_DESTINATION ./build-a339x/out/build-modules - - name: Create Release - id: create_release - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Upload Release Config to CloudFlare CDN + run: | + mkdir -p ./build-a339x/out/config + echo "releases:" >> ./build-a339x/out/config/releases.yaml + echo " - name: $GITHUB_REF_NAME" >> ./build-a339x/out/config/releases.yaml + echo " date: $(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> ./build-a339x/out/config/releases.yaml + ./scripts/cdn.sh $CDN_BUCKET_DESTINATION ./build-a339x/out/config + build-su95x: + runs-on: ubuntu-latest + env: + A32NX_PRODUCTION_BUILD: 1 + A32NX_INSTRUMENTS_BUILD_WORKERS: 2 + ZIP_NAME: headwindsim-aircraft-su100-95-staging.zip + BUILD_DIR_NAME: staging + CLOUDFLARE_WORKER_PASSWORD: ${{ secrets.CLOUDFLARE_WORKER_PASSWORD }} + CDN_BUCKET_DESTINATION: addons/su95x/staging + steps: + - name: Free Disk Space (Ubuntu) + uses: jlumbroso/free-disk-space@main with: - tag_name: ${{ github.ref }} - release_name: ${{ github.ref }} - draft: false - prerelease: true - - name: Upload Release asset - uses: actions/upload-release-asset@v1.0.2 - env: - GITHUB_TOKEN: ${{ github.token }} + tool-cache: false + android: true + dotnet: false + haskell: false + large-packages: false + docker-images: false + swap-storage: false + - name: Checkout source + uses: actions/checkout@v4 with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./${{ env.BUILD_DIR_NAME }}/${{ env.ZIP_NAME }} - asset_name: ${{ env.ZIP_NAME }} - asset_content_type: application/zip + 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 >> hdw-su95x/.env + echo CLIENT_ID=\"${{ secrets.NAVIGRAPH_CLIENT_ID }}\" >> hdw-su95x/.env + echo CLIENT_SECRET=\"${{ secrets.NAVIGRAPH_CLIENT_SECRET }}\" >> hdw-su95x/.env + echo SENTRY_DSN=\"${{ secrets.SENTRY_DSN }}\" >> hdw-su95x/.env + echo BUILD_DIR_NAME=${{ env.BUILD_DIR_NAME }} >> .env + echo LOCALAZY_READ_KEY=${{ secrets.LOCALAZY_READ_KEY }} >> .env + echo VITE_BUILD=false >> .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 SU95X Package + run: | + ./scripts/dev-env/run.sh ./scripts/build_su95x.sh --no-tty -j 4 + docker system prune -af + - name: Build ZIP files + run: | + node ./scripts/fragment.js + cp ./build-su95x/out/build-modules/modules.json ./build-su95x/out/headwindsim-aircraft-su100-95/install.json + node ./scripts/install-source.js + mkdir ./${{ env.BUILD_DIR_NAME }} + cd ./build-su95x/out/ + zip -r ../../${{ env.BUILD_DIR_NAME }}/${{ env.ZIP_NAME }} ./headwindsim-aircraft-su100-95/ + cd ../../ + - name: Upload to CloudFlare CDN + run: | + ./scripts/cdn.sh $CDN_BUCKET_DESTINATION ./build-su95x/out/build-modules + - name: Upload Release Config to CloudFlare CDN + run: | + mkdir -p ./build-su95x/out/config + echo "releases:" >> ./build-su95x/out/config/releases.yaml + echo " - name: $GITHUB_REF_NAME" >> ./build-su95x/out/config/releases.yaml + echo " date: $(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> ./build-su95x/out/config/releases.yaml + ./scripts/cdn.sh $CDN_BUCKET_DESTINATION ./build-su95x/out/config