diff --git a/.github/workflows/a380x-stable.yml b/.github/workflows/a380x-stable.yml index 34bad423255..b4a517075a3 100644 --- a/.github/workflows/a380x-stable.yml +++ b/.github/workflows/a380x-stable.yml @@ -60,9 +60,6 @@ jobs: run: | rm -rf ./fbw-a380x/ rm -rf ./large-files/fbw-a380x/ - - name: Show disk usage - run: | - du -h -x / | sort -hr - name: Build ZIP files run: | df -h diff --git a/.github/workflows/pre-release.yml b/.github/workflows/pre-release.yml index 6ac48d26f7b..b8386448f3c 100644 --- a/.github/workflows/pre-release.yml +++ b/.github/workflows/pre-release.yml @@ -16,7 +16,10 @@ jobs: AIRCRAFT_VARIANT: a320-251n steps: - name: Checkout source - uses: actions/checkout@v2 + uses: actions/checkout@v4 + with: + submodules: recursive + token: ${{ secrets.LARGE_FILES_TEMPORARY_PAT }} - name: Create .env file run: | echo FBW_PRODUCTION_BUILD=1 >> fbw-a32nx/.env @@ -32,9 +35,13 @@ jobs: - name: Build A32NX run: | ./scripts/dev-env/run.sh ./scripts/setup.sh --clean - ./scripts/dev-env/run.sh ./scripts/build.sh --no-tty -j 4 + ./scripts/dev-env/run.sh ./scripts/build_a32nx.sh --no-tty -j 4 rm -rf fbw-a32nx/src docker system prune -af + - name: Remove A380X source files + run: | + rm -rf ./fbw-a380x/ + rm -rf ./large-files/fbw-a380x/ - name: Build ZIP file run: | cd ./fbw-a32nx/out/ @@ -59,3 +66,196 @@ jobs: asset_path: ./${{ env.BUILD_DIR_NAME }}/${{ env.RELEASE_ZIP_NAME }} asset_name: ${{ env.RELEASE_ZIP_NAME }} asset_content_type: application/zip + + build_a380x_8k: + name: Build and deploy A380X (8K) + # Prevent running this on forks + if: github.repository_owner == 'flybywiresim' + runs-on: ubuntu-latest + env: + FBW_PRODUCTION_BUILD: 1 + BUILD_DIR_NAME: stable-a380x + AIRCRAFT_PROJECT_PREFIX: a380x + STANDALONE_ZIP_NAME: A380X-stable-8K.7z + AIRCRAFT_VARIANT: a380-842 + steps: + - name: Maximize build space + uses: AdityaGarg8/remove-unwanted-software@v4.1 + with: + remove-android: 'true' + remove-dotnet: 'true' + remove-haskell: 'true' + remove-codeql: 'true' + remove-large-packages: 'true' + remove-cached-tools: 'true' + - name: Force even more disk space + run: | + sudo rm -rf /usr/local/julia1.11.0 + sudo rm -rf /usr/share/swift + sudo rm -rf /opt/microsoft/msedge + sudo rm -rf /usr/local/share/chromium + sudo rm -rf /usr/share/miniconda + sudo rm -rf /opt/pipx + sudo rm -rf /usr/lib/heroku + sudo rm -rf /usr/share/kotlinc + sudo rm -rf /usr/local/aws-cli + sudo rm -rf /usr/local/share/powershell + sudo rm -rf /usr/lib/jvm + sudo rm -rf /usr/local/sqlpackage + sudo rm -rf /usr/share/gradle-8.10.2 + sudo rm -rf /usr/lib/python3 + sudo rm -rf /usr/lib/python3.10 + sudo rm -rf /usr/lib/mono + sudo npm uninstall -g netlify-cli --save + sudo npm uninstall -g parcel --save + df -h + - name: Checkout source + uses: actions/checkout@v4 + with: + submodules: recursive + token: ${{ secrets.LARGE_FILES_TEMPORARY_PAT }} + - name: Set BUILT_DATE_TIME + run: echo "BUILT_DATE_TIME=$(date -u -Iseconds)" >> $GITHUB_ENV + - name: Create .env file + run: | + echo FBW_PRODUCTION_BUILD=1 >> fbw-a380x/.env + echo CLIENT_ID=\"${{ secrets.NAVIGRAPH_CLIENT_ID_A380X }}\" >> fbw-a380x/.env + echo CLIENT_SECRET=\"${{ secrets.NAVIGRAPH_CLIENT_SECRET_A380X }}\" >> fbw-a380x/.env + echo CHARTFOX_SECRET=\"${{ secrets.CHARTFOX_SECRET }}\" >> fbw-a380x/.env + echo SENTRY_DSN=\"${{ secrets.SENTRY_DSN }}\" >> fbw-a380x/.env + echo AIRCRAFT_PROJECT_PREFIX=${{ env.AIRCRAFT_PROJECT_PREFIX }} >> fbw-a380x/.env + echo AIRCRAFT_VARIANT=${{ env.AIRCRAFT_VARIANT }} >> fbw-a380x/.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: Install dependencies + run: | + ./scripts/dev-env/run.sh ./scripts/setup.sh --clean + - name: Build A380X + run: | + ./scripts/dev-env/run.sh ./scripts/build_a380x.sh --no-tty -j 4 + rm -rf fbw-a380x/src + docker system prune -af + - name: Remove A32NX source files + run: | + rm -rf ./fbw-a32nx/ + rm -rf ./large-files/fbw-a32nx/ + - name: Remove A380X 4K textures + run: | + rm -rf ./large-files/fbw-a380x/src/base/flybywire-aircraft-a380-842/SimObjects/AirPlanes/FlyByWire_A380_842/texture-4k/ + - name: Build Fragmenter modules + run: | + df -h + node ./scripts/fragment_a380x.js + cp ./fbw-a380x/out/build-modules/modules.json ./fbw-a380x/out/flybywire-aircraft-a380-842/install.json + node ./scripts/install-source_a380x.js + df -h + - name: Upload to CloudFlare CDN (Installer) + env: + CLOUDFLARE_BUCKET_PASSWORD: ${{ secrets.CLOUDFLARE_BUCKET_PASSWORD }} + CDN_BUCKET_DESTINATION: addons/a380x/rc-8k + run: | + ./scripts/cf-cdn.sh $CDN_BUCKET_DESTINATION ./fbw-a380x/out/build-modules + - name: Build Standalone Download files + run: | + mkdir ./${{ env.BUILD_DIR_NAME }} + cd ./fbw-a380x/out/ + rm -rf build-modules + 7z a -t7z -m0=lzma2 -mx=7 -v2g ../../${{ env.BUILD_DIR_NAME }}/${{ env.STANDALONE_ZIP_NAME }} ./flybywire-aircraft-a380-842/ + cd ../../ + df -h + + build_a380x_4k: + name: Build and deploy A380X (4K) + # Prevent running this on forks + if: github.repository_owner == 'flybywiresim' + runs-on: ubuntu-latest + env: + FBW_PRODUCTION_BUILD: 1 + BUILD_DIR_NAME: stable-a380x + AIRCRAFT_PROJECT_PREFIX: a380x + STANDALONE_ZIP_NAME: A380X-stable-4K.7z + AIRCRAFT_VARIANT: a380-842 + steps: + - name: Maximize build space + uses: AdityaGarg8/remove-unwanted-software@v4.1 + with: + remove-android: 'true' + remove-dotnet: 'true' + remove-haskell: 'true' + remove-codeql: 'true' + remove-large-packages: 'true' + remove-cached-tools: 'true' + - name: Force even more disk space + run: | + sudo rm -rf /usr/local/julia1.11.0 + sudo rm -rf /usr/share/swift + sudo rm -rf /opt/microsoft/msedge + sudo rm -rf /usr/local/share/chromium + sudo rm -rf /usr/share/miniconda + sudo rm -rf /opt/pipx + sudo rm -rf /usr/lib/heroku + sudo rm -rf /usr/share/kotlinc + sudo rm -rf /usr/local/aws-cli + sudo rm -rf /usr/local/share/powershell + sudo rm -rf /usr/lib/jvm + sudo rm -rf /usr/local/sqlpackage + sudo rm -rf /usr/share/gradle-8.10.2 + sudo rm -rf /usr/lib/python3 + sudo rm -rf /usr/lib/python3.10 + sudo rm -rf /usr/lib/mono + sudo npm uninstall -g netlify-cli --save + sudo npm uninstall -g parcel --save + df -h + - name: Checkout source + uses: actions/checkout@v4 + with: + submodules: recursive + token: ${{ secrets.LARGE_FILES_TEMPORARY_PAT }} + - name: Set BUILT_DATE_TIME + run: echo "BUILT_DATE_TIME=$(date -u -Iseconds)" >> $GITHUB_ENV + - name: Create .env file + run: | + echo FBW_PRODUCTION_BUILD=1 >> fbw-a380x/.env + echo CLIENT_ID=\"${{ secrets.NAVIGRAPH_CLIENT_ID_A380X }}\" >> fbw-a380x/.env + echo CLIENT_SECRET=\"${{ secrets.NAVIGRAPH_CLIENT_SECRET_A380X }}\" >> fbw-a380x/.env + echo CHARTFOX_SECRET=\"${{ secrets.CHARTFOX_SECRET }}\" >> fbw-a380x/.env + echo SENTRY_DSN=\"${{ secrets.SENTRY_DSN }}\" >> fbw-a380x/.env + echo AIRCRAFT_PROJECT_PREFIX=${{ env.AIRCRAFT_PROJECT_PREFIX }} >> fbw-a380x/.env + echo AIRCRAFT_VARIANT=${{ env.AIRCRAFT_VARIANT }} >> fbw-a380x/.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: Install dependencies + run: | + ./scripts/dev-env/run.sh ./scripts/setup.sh --clean + - name: Build A380X + run: | + ./scripts/dev-env/run.sh ./scripts/build_a380x.sh --no-tty -j 4 -4k + rm -rf fbw-a380x/src + docker system prune -af + - name: Remove A32NX source files + run: | + rm -rf ./fbw-a32nx/ + rm -rf ./large-files/fbw-a32nx/ + - name: Build Fragmenter modules + run: | + df -h + node ./scripts/fragment_a380x.js + cp ./fbw-a380x/out/build-modules/modules.json ./fbw-a380x/out/flybywire-aircraft-a380-842/install.json + node ./scripts/install-source_a380x.js + df -h + - name: Upload to CloudFlare CDN (Installer) + env: + CLOUDFLARE_BUCKET_PASSWORD: ${{ secrets.CLOUDFLARE_BUCKET_PASSWORD }} + CDN_BUCKET_DESTINATION: addons/a380x/rc-4k + run: | + ./scripts/cf-cdn.sh $CDN_BUCKET_DESTINATION ./fbw-a380x/out/build-modules + - name: Build Standalone Download files + run: | + mkdir ./${{ env.BUILD_DIR_NAME }} + cd ./fbw-a380x/out/ + rm -rf build-modules + 7z a -t7z -m0=lzma2 -mx=7 -v2g ../../${{ env.BUILD_DIR_NAME }}/${{ env.STANDALONE_ZIP_NAME }} ./flybywire-aircraft-a380-842/ + cd ../../ + df -h diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0fca6a8d7a0..dc339f4c6ce 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,6 +8,8 @@ on: jobs: build_a32nx: name: Build and publish A32NX + # Prevent running this on forks + if: github.repository_owner == 'flybywiresim' runs-on: ubuntu-latest env: FBW_PRODUCTION_BUILD: 1 @@ -18,8 +20,22 @@ jobs: AIRCRAFT_PROJECT_PREFIX: a32nx AIRCRAFT_VARIANT: a320-251n steps: + - name: Maximize build space + uses: AdityaGarg8/remove-unwanted-software@v4.1 + with: + remove-android: 'true' + remove-dotnet: 'true' + remove-haskell: 'true' + remove-codeql: 'true' + remove-large-packages: 'true' + remove-cached-tools: 'true' - name: Checkout source - uses: actions/checkout@v2 + uses: actions/checkout@v4 + with: + submodules: recursive + token: ${{ secrets.LARGE_FILES_TEMPORARY_PAT }} + - name: Set BUILT_DATE_TIME + run: echo "BUILT_DATE_TIME=$(date -u -Iseconds)" >> $GITHUB_ENV - name: Create .env file run: | echo FBW_PRODUCTION_BUILD=1 >> fbw-a32nx/.env @@ -32,22 +48,35 @@ jobs: echo BUILD_DIR_NAME=${{ env.BUILD_DIR_NAME }} >> .env echo LOCALAZY_READ_KEY=${{ secrets.LOCALAZY_READ_KEY }} >> .env echo VITE_BUILD=false >> .env - - name: Build A32NX + - name: Install dependencies run: | ./scripts/dev-env/run.sh ./scripts/setup.sh --clean - ./scripts/dev-env/run.sh ./scripts/build.sh --no-tty -j 4 + - name: Build A32NX + run: | + ./scripts/dev-env/run.sh ./scripts/build_a32nx.sh --no-tty -j 4 rm -rf fbw-a32nx/src docker system prune -af - - name: Build ZIP file + - name: Remove A380X source files run: | + rm -rf ./fbw-a380x/ + rm -rf ./large-files/fbw-a380x/ + - name: Build ZIP files + run: | + df -h node ./scripts/fragment_a32nx.js - cp ./fbw-a32nx/out/build-modules/modules.json ./fbw-a32nx/out/flybywire-aircraft-a320-neo/install.json node ./scripts/install-source_a32nx.js mkdir ./${{ env.BUILD_DIR_NAME }} cd ./fbw-a32nx/out/ - 7z a -t7z -m0=lzma2 -mx=7 ../../${{ env.BUILD_DIR_NAME }}/${{ env.STABLE_ZIP_NAME }} ./flybywire-aircraft-a320-neo/ - cd ../.. + 7z a -t7z -m0=lzma2 -mx=7 ../../${{ env.BUILD_DIR_NAME }}/${{ env.STABLE_ZIP_NAME }} ./flybywire-aircraft-a320-neo/ + cd ../../ + df -h + - name: Upload to CloudFlare CDN + env: + CLOUDFLARE_BUCKET_PASSWORD: ${{ secrets.CLOUDFLARE_BUCKET_PASSWORD }} + CDN_BUCKET_DESTINATION: addons/a32nx/stable + run: | + ./scripts/cf-cdn.sh $CDN_BUCKET_DESTINATION ./fbw-a32nx/out/build-modules - name: Create Release id: create_release uses: actions/create-release@v1 @@ -67,41 +96,196 @@ jobs: asset_path: ./${{ env.BUILD_DIR_NAME }}/${{ env.STABLE_ZIP_NAME }} asset_name: ${{ env.STABLE_ZIP_NAME }} asset_content_type: application/zip - - name: Upload to CloudFlare CDN + + build_a380x_8k: + name: Build and deploy A380X (8K) + # Prevent running this on forks + if: github.repository_owner == 'flybywiresim' + runs-on: ubuntu-latest + env: + FBW_PRODUCTION_BUILD: 1 + BUILD_DIR_NAME: stable-a380x + AIRCRAFT_PROJECT_PREFIX: a380x + STANDALONE_ZIP_NAME: A380X-stable-8K.7z + AIRCRAFT_VARIANT: a380-842 + steps: + - name: Maximize build space + uses: AdityaGarg8/remove-unwanted-software@v4.1 + with: + remove-android: 'true' + remove-dotnet: 'true' + remove-haskell: 'true' + remove-codeql: 'true' + remove-large-packages: 'true' + remove-cached-tools: 'true' + - name: Force even more disk space + run: | + sudo rm -rf /usr/local/julia1.11.0 + sudo rm -rf /usr/share/swift + sudo rm -rf /opt/microsoft/msedge + sudo rm -rf /usr/local/share/chromium + sudo rm -rf /usr/share/miniconda + sudo rm -rf /opt/pipx + sudo rm -rf /usr/lib/heroku + sudo rm -rf /usr/share/kotlinc + sudo rm -rf /usr/local/aws-cli + sudo rm -rf /usr/local/share/powershell + sudo rm -rf /usr/lib/jvm + sudo rm -rf /usr/local/sqlpackage + sudo rm -rf /usr/share/gradle-8.10.2 + sudo rm -rf /usr/lib/python3 + sudo rm -rf /usr/lib/python3.10 + sudo rm -rf /usr/lib/mono + sudo npm uninstall -g netlify-cli --save + sudo npm uninstall -g parcel --save + df -h + - name: Checkout source + uses: actions/checkout@v4 + with: + submodules: recursive + token: ${{ secrets.LARGE_FILES_TEMPORARY_PAT }} + - name: Set BUILT_DATE_TIME + run: echo "BUILT_DATE_TIME=$(date -u -Iseconds)" >> $GITHUB_ENV + - name: Create .env file + run: | + echo FBW_PRODUCTION_BUILD=1 >> fbw-a380x/.env + echo CLIENT_ID=\"${{ secrets.NAVIGRAPH_CLIENT_ID_A380X }}\" >> fbw-a380x/.env + echo CLIENT_SECRET=\"${{ secrets.NAVIGRAPH_CLIENT_SECRET_A380X }}\" >> fbw-a380x/.env + echo CHARTFOX_SECRET=\"${{ secrets.CHARTFOX_SECRET }}\" >> fbw-a380x/.env + echo SENTRY_DSN=\"${{ secrets.SENTRY_DSN }}\" >> fbw-a380x/.env + echo AIRCRAFT_PROJECT_PREFIX=${{ env.AIRCRAFT_PROJECT_PREFIX }} >> fbw-a380x/.env + echo AIRCRAFT_VARIANT=${{ env.AIRCRAFT_VARIANT }} >> fbw-a380x/.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: Install dependencies + run: | + ./scripts/dev-env/run.sh ./scripts/setup.sh --clean + - name: Build A380X + run: | + ./scripts/dev-env/run.sh ./scripts/build_a380x.sh --no-tty -j 4 + rm -rf fbw-a380x/src + docker system prune -af + - name: Remove A32NX source files + run: | + rm -rf ./fbw-a32nx/ + rm -rf ./large-files/fbw-a32nx/ + - name: Remove A380X 4K textures + run: | + rm -rf ./large-files/fbw-a380x/src/base/flybywire-aircraft-a380-842/SimObjects/AirPlanes/FlyByWire_A380_842/texture-4k/ + - name: Build Fragmenter modules + run: | + df -h + node ./scripts/fragment_a380x.js + cp ./fbw-a380x/out/build-modules/modules.json ./fbw-a380x/out/flybywire-aircraft-a380-842/install.json + node ./scripts/install-source_a380x.js + df -h + - name: Upload to CloudFlare CDN (Installer) env: CLOUDFLARE_BUCKET_PASSWORD: ${{ secrets.CLOUDFLARE_BUCKET_PASSWORD }} - CDN_BUCKET_DESTINATION: addons/a32nx/stable + CDN_BUCKET_DESTINATION: addons/a380x/stable-8k run: | - ./scripts/cf-cdn.sh $CDN_BUCKET_DESTINATION ./fbw-a32nx/out/build-modules - - name: Delete old GitHub Pre-Release assets - uses: mknejp/delete-release-assets@v1 + ./scripts/cf-cdn.sh $CDN_BUCKET_DESTINATION ./fbw-a380x/out/build-modules + - name: Build Standalone Download files + run: | + mkdir ./${{ env.BUILD_DIR_NAME }} + cd ./fbw-a380x/out/ + rm -rf build-modules + 7z a -t7z -m0=lzma2 -mx=7 -v2g ../../${{ env.BUILD_DIR_NAME }}/${{ env.STANDALONE_ZIP_NAME }} ./flybywire-aircraft-a380-842/ + cd ../../ + df -h + + build_a380x_4k: + name: Build and deploy A380X (4K) + # Prevent running this on forks + if: github.repository_owner == 'flybywiresim' + runs-on: ubuntu-latest + env: + FBW_PRODUCTION_BUILD: 1 + BUILD_DIR_NAME: stable-a380x + AIRCRAFT_PROJECT_PREFIX: a380x + STANDALONE_ZIP_NAME: A380X-stable-4K.7z + AIRCRAFT_VARIANT: a380-842 + steps: + - name: Maximize build space + uses: AdityaGarg8/remove-unwanted-software@v4.1 with: - token: ${{ github.token }} - tag: ${{ env.STABLE_PRE_RELEASE_TAG }} - assets: "*" - fail-if-no-assets: false - - name: Upload aicraft package to GitHub Pre-Release Assets - uses: actions/upload-release-asset@v1.0.2 - env: - GITHUB_TOKEN: ${{ github.token }} + remove-android: 'true' + remove-dotnet: 'true' + remove-haskell: 'true' + remove-codeql: 'true' + remove-large-packages: 'true' + remove-cached-tools: 'true' + - name: Force even more disk space + run: | + sudo rm -rf /usr/local/julia1.11.0 + sudo rm -rf /usr/share/swift + sudo rm -rf /opt/microsoft/msedge + sudo rm -rf /usr/local/share/chromium + sudo rm -rf /usr/share/miniconda + sudo rm -rf /opt/pipx + sudo rm -rf /usr/lib/heroku + sudo rm -rf /usr/share/kotlinc + sudo rm -rf /usr/local/aws-cli + sudo rm -rf /usr/local/share/powershell + sudo rm -rf /usr/lib/jvm + sudo rm -rf /usr/local/sqlpackage + sudo rm -rf /usr/share/gradle-8.10.2 + sudo rm -rf /usr/lib/python3 + sudo rm -rf /usr/lib/python3.10 + sudo rm -rf /usr/lib/mono + sudo npm uninstall -g netlify-cli --save + sudo npm uninstall -g parcel --save + df -h + - name: Checkout source + uses: actions/checkout@v4 with: - upload_url: https://uploads.github.com/repos/${{ github.repository }}/releases/${{ env.STABLE_PRE_RELEASE_ID }}/assets{?name,label} - asset_path: ./${{ env.BUILD_DIR_NAME }}/${{ env.STABLE_ZIP_NAME }} - asset_name: ${{ env.STABLE_ZIP_NAME }} - asset_content_type: application/zip - - name: Upload fragments to GitHub Pre-Release Assets - uses: dwenegar/upload-release-assets@v1 + submodules: recursive + token: ${{ secrets.LARGE_FILES_TEMPORARY_PAT }} + - name: Set BUILT_DATE_TIME + run: echo "BUILT_DATE_TIME=$(date -u -Iseconds)" >> $GITHUB_ENV + - name: Create .env file + run: | + echo FBW_PRODUCTION_BUILD=1 >> fbw-a380x/.env + echo CLIENT_ID=\"${{ secrets.NAVIGRAPH_CLIENT_ID_A380X }}\" >> fbw-a380x/.env + echo CLIENT_SECRET=\"${{ secrets.NAVIGRAPH_CLIENT_SECRET_A380X }}\" >> fbw-a380x/.env + echo CHARTFOX_SECRET=\"${{ secrets.CHARTFOX_SECRET }}\" >> fbw-a380x/.env + echo SENTRY_DSN=\"${{ secrets.SENTRY_DSN }}\" >> fbw-a380x/.env + echo AIRCRAFT_PROJECT_PREFIX=${{ env.AIRCRAFT_PROJECT_PREFIX }} >> fbw-a380x/.env + echo AIRCRAFT_VARIANT=${{ env.AIRCRAFT_VARIANT }} >> fbw-a380x/.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: Install dependencies + run: | + ./scripts/dev-env/run.sh ./scripts/setup.sh --clean + - name: Build A380X + run: | + ./scripts/dev-env/run.sh ./scripts/build_a380x.sh --no-tty -j 4 -4k + rm -rf fbw-a380x/src + docker system prune -af + - name: Remove A32NX source files + run: | + rm -rf ./fbw-a32nx/ + rm -rf ./large-files/fbw-a32nx/ + - name: Build Fragmenter modules + run: | + df -h + node ./scripts/fragment_a380x.js + cp ./fbw-a380x/out/build-modules/modules.json ./fbw-a380x/out/flybywire-aircraft-a380-842/install.json + node ./scripts/install-source_a380x.js + df -h + - name: Upload to CloudFlare CDN (Installer) env: - GITHUB_TOKEN: ${{ github.token }} - with: - release_id: ${{ env.STABLE_PRE_RELEASE_ID }} - assets_path: ./build-modules/ - - name: Update GitHub Pre-Release Body - run: | - curl --request PATCH \ - --url 'https://api.github.com/repos/${{ github.repository }}/releases/${{ env.STABLE_PRE_RELEASE_ID }}' \ - --header 'authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' \ - --header 'Content-Type: application/json' \ - --data-raw '{ - "body": "This pre-release has its asset updated on every release\nLast updated on ${{ env.BUILT_DATE_TIME }} from commit ${{ github.sha }}\nThis link will always point to the latest stable build: https://github.com/${{ github.repository }}/releases/download/${{ env.STABLE_PRE_RELEASE_TAG }}/${{ env.STABLE_ZIP_NAME }}" - }' + CLOUDFLARE_BUCKET_PASSWORD: ${{ secrets.CLOUDFLARE_BUCKET_PASSWORD }} + CDN_BUCKET_DESTINATION: addons/a380x/stable-4k + run: | + ./scripts/cf-cdn.sh $CDN_BUCKET_DESTINATION ./fbw-a380x/out/build-modules + - name: Build Standalone Download files + run: | + mkdir ./${{ env.BUILD_DIR_NAME }} + cd ./fbw-a380x/out/ + rm -rf build-modules + 7z a -t7z -m0=lzma2 -mx=7 -v2g ../../${{ env.BUILD_DIR_NAME }}/${{ env.STANDALONE_ZIP_NAME }} ./flybywire-aircraft-a380-842/ + cd ../../ + df -h diff --git a/package.json b/package.json index de2dd923868..760e995e7f5 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "a32nx", "version": "0.12.0", - "edition": "development", + "edition": "stable", "imports": { "#build-utils": "./build-utils.js" },