name: Export production ISAC data on: workflow_dispatch: concurrency: group: shd-build-production cancel-in-progress: false jobs: export: runs-on: stage-deploy steps: - name: Check out repository uses: actions/checkout@v4 - name: Export canonical production ISAC data and uploaded icons env: CONFIGURED_DEPLOY_PATH: ${{ vars.PRODUCTION_DEPLOY_PATH }} run: | set -eu deployment_path="${CONFIGURED_DEPLOY_PATH:-/opt/shd-build-production}" compose_file="$deployment_path/compose.production.yml" deploy_environment="$deployment_path/.env.deploy" compose() { docker compose --env-file "$deploy_environment" -f "$compose_file" "$@" } restart_services() { compose up -d --no-build app scheduler } trap restart_services EXIT snapshot_name="isac-production-${GITHUB_RUN_ID}.json" compose stop scheduler app compose run --rm --no-deps app node scripts/isac-data-export.mjs "/app/data/exports/$snapshot_name" compose run --rm --no-deps -v "$GITHUB_WORKSPACE:/export" app \ cp "/app/data/exports/$snapshot_name" /export/isac-production.json - name: Publish production ISAC snapshot uses: actions/upload-artifact@v3 with: name: shd-production-isac-data path: isac-production.json retention-days: 14