Skip to content

chore: update workflow #4

chore: update workflow

chore: update workflow #4

name: A339X Livery Package Development
on:
push:
branches:
- main
paths:
- '.github/workflows/a339x-livery-package-dev.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-dev.zip
BUILD_DIR_NAME: dev
CLOUDFLARE_WORKER_PASSWORD: ${{ secrets.CLOUDFLARE_WORKER_PASSWORD }}
CDN_BUCKET_DESTINATION: addons/a339x-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-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/[email protected]
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