feat(skills): design.md integration, shared video references, Claude Design gaps #159
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: preview-regression | |
| on: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| concurrency: | |
| group: preview-regression-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| changes: | |
| name: Detect changes | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 2 | |
| outputs: | |
| preview: ${{ steps.filter.outputs.preview }} | |
| steps: | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| with: | |
| fetch-depth: 0 | |
| - uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4 | |
| id: filter | |
| with: | |
| token: "" | |
| filters: | | |
| preview: | |
| - "packages/core/**" | |
| - "packages/player/**" | |
| - "packages/studio/**" | |
| - "packages/cli/**" | |
| - "packages/producer/src/parity-harness.ts" | |
| - "packages/producer/src/parity-fixtures.ts" | |
| - "packages/producer/tests/parity/**" | |
| - "package.json" | |
| - "bun.lock" | |
| - ".github/workflows/preview-regression.yml" | |
| preview-parity: | |
| name: Preview parity | |
| needs: changes | |
| if: needs.changes.outputs.preview == 'true' | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| - uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2 | |
| - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4 | |
| with: | |
| node-version: 22 | |
| - run: bun install --frozen-lockfile | |
| - name: Build preview runtime | |
| run: bun run --cwd packages/core build:hyperframes-runtime | |
| - name: Prepare parity fixtures | |
| run: bun run --cwd packages/producer parity:fixtures:ci | |
| - name: Install ffmpeg | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y --no-install-recommends ffmpeg | |
| ffmpeg -version | head -n 1 | |
| - name: Set up Chrome | |
| id: setup-chrome | |
| uses: browser-actions/setup-chrome@c785b87e244131f27c9f19c1a33e2ead956ab7ce # v1 | |
| with: | |
| chrome-version: stable | |
| - name: Start parity fixture server | |
| run: | | |
| cd packages/producer/tests/parity/fixtures | |
| python3 -m http.server 4173 --bind 127.0.0.1 > /tmp/preview-parity-http.log 2>&1 & | |
| echo "$!" > /tmp/preview-parity-http.pid | |
| for _ in $(seq 1 30); do | |
| if curl -fsS http://127.0.0.1:4173/minimal-wysiwyg.html >/dev/null; then | |
| exit 0 | |
| fi | |
| sleep 1 | |
| done | |
| cat /tmp/preview-parity-http.log | |
| exit 1 | |
| - name: Run preview parity check | |
| working-directory: packages/producer | |
| env: | |
| PUPPETEER_EXECUTABLE_PATH: ${{ steps.setup-chrome.outputs.chrome-path }} | |
| run: bun run parity:check:ci | |
| - name: Upload parity artifacts | |
| if: failure() | |
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 | |
| with: | |
| name: preview-parity-artifacts | |
| path: packages/producer/.debug/parity-harness-ci/ | |
| if-no-files-found: ignore | |
| retention-days: 30 | |
| preview-regression: | |
| runs-on: ubuntu-latest | |
| needs: [changes, preview-parity] | |
| if: always() | |
| steps: | |
| - name: Check results | |
| env: | |
| PREVIEW_FILTER_RESULT: ${{ needs.changes.outputs.preview }} | |
| PREVIEW_PARITY_RESULT: ${{ needs.preview-parity.result }} | |
| run: | | |
| { | |
| echo "## Preview regression gate" | |
| echo "" | |
| echo "- paths-filter \`preview\` matched: \`${PREVIEW_FILTER_RESULT}\`" | |
| echo "- preview-parity result: \`${PREVIEW_PARITY_RESULT}\`" | |
| echo "" | |
| } >> "$GITHUB_STEP_SUMMARY" | |
| if [ "${PREVIEW_FILTER_RESULT}" != "true" ]; then | |
| echo "::notice title=Preview regression::SKIPPED — no preview/runtime changes. Auto-pass." | |
| echo "**Status:** SKIPPED (no preview/runtime changes — auto-pass)" >> "$GITHUB_STEP_SUMMARY" | |
| exit 0 | |
| fi | |
| if [ "${PREVIEW_PARITY_RESULT}" != "success" ]; then | |
| echo "**Status:** FAILED" >> "$GITHUB_STEP_SUMMARY" | |
| echo "Preview parity check failed" | |
| exit 1 | |
| fi | |
| echo "**Status:** PASSED" >> "$GITHUB_STEP_SUMMARY" |