ci: schedule isolated production bootstrap
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
name: Production bootstrap drill
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: "17 3 * * 6"
|
||||
|
||||
jobs:
|
||||
isolated-production-bootstrap:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 30
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "22"
|
||||
cache: npm
|
||||
cache-dependency-path: apps/web/package-lock.json
|
||||
- name: Install web dependencies
|
||||
run: npm --prefix apps/web ci
|
||||
- name: Run isolated production bootstrap
|
||||
shell: bash
|
||||
run: |
|
||||
set -o pipefail
|
||||
mkdir -p artifacts
|
||||
./deploy/test-production-bootstrap.sh 2>&1 | tee artifacts/production-bootstrap.log
|
||||
- name: Collect failure diagnostics
|
||||
if: failure()
|
||||
run: |
|
||||
docker compose --env-file .env.production.example -f compose.production.yaml ps -a > artifacts/compose-ps.txt 2>&1 || true
|
||||
cp -R apps/web/test-results artifacts/test-results 2>/dev/null || true
|
||||
cp -R apps/web/playwright-report artifacts/playwright-report 2>/dev/null || true
|
||||
- name: Upload drill diagnostics
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: production-bootstrap-${{ github.run_id }}
|
||||
path: artifacts
|
||||
if-no-files-found: error
|
||||
retention-days: 14
|
||||
Reference in New Issue
Block a user