Skip to content

Merge pull request #290 from SVendittelli/renovate/npm-cookie-vulnera… #783

Merge pull request #290 from SVendittelli/renovate/npm-cookie-vulnera…

Merge pull request #290 from SVendittelli/renovate/npm-cookie-vulnera… #783

Workflow file for this run

name: "Lint, Build, & Tests"
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
env:
DATABASE_URL: ${{ secrets.DATABASE_URL }}
SUPERTOKENS_API_KEY: ${{ secrets.SUPERTOKENS_API_KEY }}
SUPERTOKENS_CONNECTION_URI: ${{ secrets.SUPERTOKENS_CONNECTION_URI }}
jobs:
lint-and-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4
with:
node-version-file: "package.json"
cache: "npm"
- run: npm ci
- run: npm run lint
- run: npm run build
unit-tests:
needs: lint-and-build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4
with:
node-version-file: "package.json"
cache: "npm"
- run: npm ci
- name: Unit & Integration tests
run: npm run test:ci
- name: Smoke & Acceptance tests
run: |
npx playwright install
npm run test:storybook
- name: Upload jest coverage reports to Codecov
uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 # v4
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
with:
fail_ci_if_error: true
flags: jest
directory: coverage/jest
- name: Upload storybook coverage reports to Codecov
uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 # v4
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
with:
fail_ci_if_error: true
flags: storybook
directory: coverage/storybook
e2e-tests:
needs: lint-and-build
timeout-minutes: 60
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4
with:
node-version-file: "package.json"
cache: "npm"
- run: npm ci
- name: Install Playwright Browsers
run: npx playwright install --with-deps
- name: Waiting for 200 OK from the Vercel Preview
uses: patrickedqvist/wait-for-vercel-preview@06c79330064b0e6ef7a2574603b62d3c98789125 # v1.3.2
id: waitForDeploy
with:
token: ${{ secrets.GITHUB_TOKEN }}
max_timeout: 300
- name: Run Playwright tests
run: npm run e2e
env:
VERCEL_URL: ${{ steps.waitForDeploy.outputs.url }}
- uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4
if: always()
with:
name: playwright-report
path: playwright-report/
retention-days: 30