Skip to content

refactor: remove unnecessary comment #23

refactor: remove unnecessary comment

refactor: remove unnecessary comment #23

Workflow file for this run

name: CI
on:
push:
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
setup:
name: Setup (install + build)
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v7
- name: Use Node.js
uses: actions/setup-node@v7
with:
node-version-file: '.node-version'
- name: Cache node_modules
id: node-modules-cache
uses: actions/cache@v6
with:
path: '**/node_modules'
key: node-modules-${{ runner.os }}-${{ hashFiles('package-lock.json') }}
- name: Install dependencies
if: steps.node-modules-cache.outputs.cache-hit != 'true'
run: npm ci
- name: Build packages
run: npm run build
- name: Package dist
run: tar -czf dist.tar.gz packages/*/dist
- name: Upload dist
uses: actions/upload-artifact@v7
with:
name: dist
path: dist.tar.gz
retention-days: 1
test:
name: Test
needs: setup
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v7
- name: Use Node.js
uses: actions/setup-node@v7
with:
node-version-file: '.node-version'
- name: Restore node_modules
id: node-modules-cache
uses: actions/cache@v6
with:
path: '**/node_modules'
key: node-modules-${{ runner.os }}-${{ hashFiles('package-lock.json') }}
- name: Install dependencies (cache miss fallback)
if: steps.node-modules-cache.outputs.cache-hit != 'true'
run: npm ci
- name: Download dist
uses: actions/download-artifact@v7
with:
name: dist
- name: Unpack dist
run: tar -xzf dist.tar.gz
- name: Run tests
run: npm run test:ci
typescript:
name: TypeScript
needs: setup
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v7
- name: Use Node.js
uses: actions/setup-node@v7
with:
node-version-file: '.node-version'
- name: Restore node_modules
id: node-modules-cache
uses: actions/cache@v6
with:
path: '**/node_modules'
key: node-modules-${{ runner.os }}-${{ hashFiles('package-lock.json') }}
- name: Install dependencies (cache miss fallback)
if: steps.node-modules-cache.outputs.cache-hit != 'true'
run: npm ci
- name: Download dist
uses: actions/download-artifact@v7
with:
name: dist
- name: Unpack dist
run: tar -xzf dist.tar.gz
- name: Run TypeScript
run: npm run typescript
- name: Typecheck e2e harness
run: npm run typecheck:e2e
e2e:
name: E2E
needs: setup
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v7
- name: Use Node.js
uses: actions/setup-node@v7
with:
node-version-file: '.node-version'
- name: Restore node_modules
id: node-modules-cache
uses: actions/cache@v6
with:
path: '**/node_modules'
key: node-modules-${{ runner.os }}-${{ hashFiles('package-lock.json') }}
- name: Install dependencies (cache miss fallback)
if: steps.node-modules-cache.outputs.cache-hit != 'true'
run: npm ci
- name: Download dist
uses: actions/download-artifact@v7
with:
name: dist
- name: Unpack dist
run: tar -xzf dist.tar.gz
- name: Get Playwright version
id: playwright-version
run: |
version=$(node -p "require('@playwright/test/package.json').version")
echo "version=$version" >> "$GITHUB_OUTPUT"
- name: Cache Playwright browsers
id: playwright-cache
uses: actions/cache@v6
with:
path: ~/.cache/ms-playwright
key: playwright-${{ runner.os }}-${{ steps.playwright-version.outputs.version }}
- name: Install Playwright browsers
if: steps.playwright-cache.outputs.cache-hit != 'true'
run: npx playwright install chromium --with-deps
- name: Install Playwright system deps
if: steps.playwright-cache.outputs.cache-hit == 'true'
run: npx playwright install-deps chromium
- name: Run E2E tests
run: npm run test:e2e
- name: Run node-framework E2E tests
run: npm run test:e2e:node
- name: Upload Playwright HTML report
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v7
with:
name: playwright-report
path: playwright-report/
retention-days: 7
- name: Upload Playwright traces and results
if: failure()
uses: actions/upload-artifact@v7
with:
name: playwright-test-results
path: test-results/
retention-days: 7