80d23f0e3d
Endoleap brand checks / verify (pull_request) Successful in 2m27s
creative workspace review checks / verify-deployed-canvas (pull_request) Successful in 3m10s
creative workspace review checks / verify (pull_request) Successful in 42m47s
python CI and deployment / verify-and-deploy (pull_request) Successful in 9m51s
85 lines
3.3 KiB
YAML
85 lines
3.3 KiB
YAML
name: creative workspace review checks
|
|
on:
|
|
pull_request:
|
|
branches: [main]
|
|
paths:
|
|
- '.dockerignore'
|
|
- 'Dockerfile'
|
|
- 'pnpm-workspace.yaml'
|
|
- 'apps/studio/**'
|
|
- 'packages/brand/**'
|
|
- 'apps/waterfall-wiki/**'
|
|
- '.gitea/workflows/**'
|
|
- 'scripts/*studio*'
|
|
- 'compose.creative-review.yml'
|
|
- 'scripts/integration.sh'
|
|
- 'scripts/cleanup-integration.sh'
|
|
- 'scripts/test-integration-cleanup.py'
|
|
- 'scripts/cleanup-review-images.sh'
|
|
- 'scripts/test-review-image-cleanup.py'
|
|
concurrency:
|
|
group: creative-workspace-${{ gitea.event.pull_request.number }}
|
|
cancel-in-progress: true
|
|
jobs:
|
|
verify-deployed-canvas:
|
|
runs-on: ces-control
|
|
timeout-minutes: 15
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Verify production acceptance against the designated deployed server
|
|
run: |
|
|
node --check scripts/verify-studio-visual.cjs
|
|
node --check apps/studio/scripts/infinite-canvas-smoke.cjs
|
|
bash -n scripts/verify-studio-production.sh
|
|
bash scripts/verify-studio-production.sh
|
|
- name: Save server acceptance evidence
|
|
id: acceptance_evidence
|
|
if: always()
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: studio-production-acceptance
|
|
path: artifacts/studio-acceptance/
|
|
if-no-files-found: ignore
|
|
retention-days: 7
|
|
- name: Remove temporary acceptance output after upload
|
|
if: always() && steps.acceptance_evidence.outcome == 'success'
|
|
run: rm -rf artifacts/studio-acceptance
|
|
verify:
|
|
runs-on: ces-control
|
|
timeout-minutes: 60
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
- name: Check patch formatting
|
|
run: |
|
|
git diff --check HEAD^ HEAD
|
|
bash -n scripts/integration.sh scripts/cleanup-integration.sh scripts/verify-studio-production.sh scripts/cleanup-review-images.sh
|
|
node --check scripts/verify-studio-visual.cjs
|
|
python3 scripts/test-integration-cleanup.py
|
|
python3 scripts/test-review-image-cleanup.py
|
|
node --test apps/waterfall-wiki/tests/brand-navigation.test.mjs
|
|
- name: Verify Studio types, tests, build and smoke
|
|
run: docker build -f apps/studio/Dockerfile -t "creative-studio-review:${{ gitea.sha }}" .
|
|
- name: Build Wiki integration and runtime images
|
|
run: |
|
|
docker build --target integration -t "creative-wiki-tests:${{ gitea.sha }}" .
|
|
docker build --target runtime -t "creative-wiki-review:${{ gitea.sha }}" .
|
|
- name: Verify isolated PostgreSQL, S3 and browser integration
|
|
env:
|
|
STUDIO_REVIEW_IMAGE: creative-studio-review:${{ gitea.sha }}
|
|
WATERFALL_WIKI_IMAGE: creative-wiki-review:${{ gitea.sha }}
|
|
WATERFALL_WIKI_TEST_IMAGE: creative-wiki-tests:${{ gitea.sha }}
|
|
GITEA_RUN_ID: ${{ gitea.run_id }}
|
|
run: bash scripts/integration.sh
|
|
- name: Clean this run disposable integration resources even after cancellation
|
|
if: always()
|
|
env:
|
|
GITEA_RUN_ID: ${{ gitea.run_id }}
|
|
run: bash scripts/cleanup-integration.sh
|
|
- name: Remove this run disposable review image tags
|
|
if: always()
|
|
env:
|
|
REVIEW_SHA: ${{ gitea.sha }}
|
|
run: bash scripts/cleanup-review-images.sh
|