Skip to content

feat: publish skeleton #3738

feat: publish skeleton

feat: publish skeleton #3738

Workflow file for this run

name: quality
env:
FORCE_COLOR: 3
on:
pull_request:
branches:
- main
- canary
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
assign-pr-owner:
runs-on: ubuntu-latest
name: PR assignment
steps:
- name: Assign PR
uses: toshimaru/[email protected]
if: github.event_name == 'pull_request' && github.event.action == 'opened'
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
lint:
runs-on: ubuntu-latest
name: Lint
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install
uses: ./.github/composite-actions/install
- name: Lint
run: npm run lint
typecheck:
runs-on: ubuntu-latest
name: Typecheck
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install
uses: ./.github/composite-actions/install
- name: Type checking
run: npm run typecheck
test:
runs-on: ubuntu-latest
name: Unit testing
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install
uses: ./.github/composite-actions/install
- name: Test
run: npm run test:coverage
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v4
with:
fail_ci_if_error: false
file: ./dist/coverage/.coverage.json
token: ${{ secrets.CODECOV_TOKEN }}
name: Codecov UI
codecov_yml_path: ./.codecov.yml
test-e2e:
runs-on: ubuntu-latest
name: E2E testing
timeout-minutes: 60
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get changed files
uses: tj-actions/changed-files@v41
id: e2efiles
with:
files: |
./e2e/**/*.{ts,tsx}
./packages/components/**/*.{ts,tsx,mdx,json}
- name: E2E testing
if: steps.e2efiles.outputs.all_changed_files_count > 0
uses: ./.github/composite-actions/e2e
test-a11y:
runs-on: ubuntu-latest
name: Accessibility testing
timeout-minutes: 60
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get changed files
uses: tj-actions/changed-files@v41
id: a11yfiles
with:
files: |
./e2e/a11y/pages/**/*.tsx
./packages/components/**/*.{ts,tsx,mdx,json}
- name: Accessibility checking
if: steps.a11yfiles.outputs.all_changed_files_count > 0
uses: ./.github/composite-actions/pw-a11y
deploy:
runs-on: ubuntu-latest
name: Deployment
environment:
name: ${{ github.event_name != 'pull_request' && 'Production' || 'Preview'}}
url: ${{ steps.deployment.outputs.url }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install
uses: ./.github/composite-actions/install
- name: Install Vercel CLI
run: npm install --global vercel@latest --no-save --no-fund --no-audit --no-scripts
- name: Build Storybook
run: npm run storybook:build
- name: Build tailwind config viewer
run: npm run tailwind-config-viewer:build
- name: Deploy Storybook to Vercel
id: deployment
run: |
DEPLOYMENT_URL=$(vercel deploy --token $VERCEL_TOKEN --yes)
echo "::set-output name=url::$(echo $DEPLOYMENT_URL)"
env:
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
VERCEL_TOKEN: ${{secrets.VERCEL_TOKEN}}
security:
name: Security
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Run Lava Action
uses: adevinta/lava-action@v0