chore(Security): bump @storybook/addon-controls from 6.5.16 to 7.5.3 #2009
Workflow file for this run
This file contains 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: Build & Test | |
on: | |
pull_request: | |
push: | |
branches: | |
- master | |
workflow_dispatch: | |
jobs: | |
Build_icon_library: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Git clone repository | |
uses: actions/checkout@v3 | |
- name: Set up environment | |
uses: ./.github/actions/prepare-environment | |
- name: Build icon-library | |
run: | | |
yarn --cwd packages/icon-library build | |
- name: Build design-tokens | |
run: yarn --cwd packages/design-tokens build | |
- name: Create tar | |
run: | | |
cp -R packages/icon-library/dist distil | |
cp -R packages/design-tokens/dist distdt | |
tar -czvf dist.tar.gz distil distdt | |
- name: Persist artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: dist | |
path: ./dist.tar.gz | |
Security_audit: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Git clone repository | |
uses: actions/checkout@v3 | |
- name: Run audit | |
run: yarn run audit | |
Check_commits: | |
runs-on: ubuntu-latest | |
if: ${{ github.event_name == 'pull_request' }} | |
steps: | |
- name: Git clone repository | |
uses: actions/checkout@v3 | |
- name: Set up environment | |
uses: ./.github/actions/prepare-environment | |
- name: Check commits | |
uses: actions/github-script@v6 | |
with: | |
script: | | |
const { runCommitLint } = await import('${{ github.workspace }}/scripts/github-actions/runCommitlint.mjs') | |
await runCommitLint({ github, context, core }) | |
const { checkForFixups } = await import('${{ github.workspace }}/scripts/github-actions/checkForFixups.mjs') | |
await checkForFixups({ github, context, core }) | |
Lint_react-component-library: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Git clone repository | |
uses: actions/checkout@v3 | |
- name: Set up environment | |
uses: ./.github/actions/prepare-environment | |
- name: Get dependencies & run lint | |
run: | | |
yarn --cwd packages/react-component-library lint | |
Build_react-component-library: | |
runs-on: ubuntu-latest | |
needs: [Build_icon_library, Lint_react-component-library] | |
steps: | |
- name: Git clone repository | |
uses: actions/checkout@v3 | |
- name: Set up environment | |
uses: ./.github/actions/prepare-environment | |
with: | |
unpack-prebuilt-libraries: true | |
- name: Build | |
run: | | |
yarn --cwd packages/react-component-library build | |
Test_react-component-library: | |
runs-on: ubuntu-latest | |
needs: [Build_icon_library, Lint_react-component-library] | |
steps: | |
- name: Git clone repository | |
uses: actions/checkout@v3 | |
- name: Set up environment | |
uses: ./.github/actions/prepare-environment | |
with: | |
unpack-prebuilt-libraries: true | |
- name: Jest | |
env: | |
JEST_JUNIT_OUTPUT_DIR: test-results/jest | |
JEST_JUNIT_OUTPUT_NAME: react-component-results.xml | |
run: | | |
yarn --cwd packages/react-component-library test --ci --coverage --silent --no-cache --reporters=default --reporters=jest-junit --runInBand --testResultsProcessor=jest-sonar-reporter | |
- name: SonarCloud Scan | |
uses: defencedigital/design-system-sonarcloud-action@master | |
if: (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) && github.actor != 'dependabot[bot]' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | |
Build_storybook_e2e: | |
runs-on: ubuntu-latest | |
needs: [Build_icon_library, Lint_react-component-library] | |
steps: | |
- name: Git clone repository | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Set up environment | |
uses: ./.github/actions/prepare-environment | |
with: | |
unpack-prebuilt-libraries: true | |
- name: Build Storybook | |
run: | | |
yarn --cwd packages/react-component-library storybook:static:test | |
tar -czvf /tmp/storybook-static-e2e.tar.gz packages/react-component-library/.static_storybook | |
- name: Upload Storybook artefact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: storybook-static-e2e | |
path: /tmp/storybook-static-e2e.tar.gz | |
retention-days: 1 | |
Test-e2e_react-component-library: | |
name: Test-e2e_react-component-library (${{ matrix.shard }}/${{ matrix.total_shards }}) | |
runs-on: ubuntu-latest | |
needs: [Build_storybook_e2e] | |
strategy: | |
matrix: | |
shard: [1, 2, 3] | |
total_shards: [3] | |
steps: | |
- name: Git clone repository | |
uses: actions/checkout@v3 | |
- name: Set up environment | |
uses: ./.github/actions/prepare-environment | |
with: | |
unpack-prebuilt-libraries: true | |
- name: Cache Playwright browsers | |
uses: actions/cache@v3 | |
with: | |
path: ~/.cache/ms-playwright | |
key: playwright-${{ runner.os }}-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
playwright-${{ runner.os }}- | |
- name: Install Playwright | |
run: yarn --cwd packages/react-component-library test:e2e:install | |
- name: Download pre-built storybook | |
uses: actions/download-artifact@v3 | |
with: | |
name: storybook-static-e2e | |
path: /tmp | |
- name: Unpack pre-built storybook | |
run: tar -xzf /tmp/storybook-static-e2e.tar.gz | |
- name: Run e2e tests | |
env: | |
NODE_OPTIONS: --dns-result-order=ipv4first | |
run: yarn --cwd packages/react-component-library test:e2e --shard ${{ matrix.shard }}/${{ matrix.total_shards }} | |
- uses: actions/upload-artifact@v3 | |
if: always() | |
with: | |
name: playwright-test-results-${{ matrix.shard }} | |
path: packages/react-component-library/e2e-output/ | |
Test_design-tokens: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Git clone repository | |
uses: actions/checkout@v3 | |
- name: Set up environment | |
uses: ./.github/actions/prepare-environment | |
- name: Lint | |
run: yarn --cwd packages/design-tokens lint | |
- name: Build | |
run: yarn --cwd packages/design-tokens build | |
- name: Run tests | |
run: yarn --cwd packages/design-tokens test | |
# See post_built_and_test.yml for details about how this is used | |
Build_storybook: | |
runs-on: ubuntu-latest | |
needs: [Build_icon_library, Lint_react-component-library] | |
steps: | |
- name: Git clone repository | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Set up environment | |
uses: ./.github/actions/prepare-environment | |
with: | |
unpack-prebuilt-libraries: true | |
- name: Build Storybook | |
env: | |
CHROMATIC_SHA: ${{ github.event.pull_request.head.sha || github.sha }} | |
CHROMATIC_BRANCH: ${{ github.head_ref || github.ref_name }} | |
CHROMATIC_SLUG: ${{ github.event.pull_request.head.repo.full_name || github.repository }} | |
run: | | |
yarn --cwd packages/react-component-library storybook:static | |
echo "$CHROMATIC_SHA" > packages/react-component-library/.static_storybook/sha | |
echo "$CHROMATIC_BRANCH" > packages/react-component-library/.static_storybook/branch | |
echo "$CHROMATIC_SLUG" > packages/react-component-library/.static_storybook/slug | |
- name: Upload Storybook artefact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: storybook-static | |
path: packages/react-component-library/.static_storybook | |
Test_a11y: | |
runs-on: ubuntu-latest | |
needs: [Build_storybook] | |
steps: | |
- name: Git clone repository | |
uses: actions/checkout@v3 | |
- name: Set up environment | |
uses: ./.github/actions/prepare-environment | |
- name: Cache Playwright browsers | |
uses: actions/cache@v3 | |
with: | |
path: '~/.cache/ms-playwright' | |
key: playwright-${{ runner.os }}-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
playwright-${{ runner.os }}- | |
- name: Attach workspace | |
uses: actions/download-artifact@v3 | |
with: | |
name: storybook-static | |
path: packages/react-component-library/.static_storybook | |
- name: Set up Playwright | |
run: | | |
npm exec --no -- playwright install --with-deps chromium | |
- name: Run accessibility tests | |
env: | |
NODE_OPTIONS: --dns-result-order=ipv4first | |
run: | | |
npm exec --no -- concurrently -k -s first -n "SB,TEST" -c "magenta,blue" \ | |
"npm exec --no -- http-server packages/react-component-library/.static_storybook --port 6006 --silent" \ | |
"npm exec --no -- wait-on tcp:6006 && yarn --cwd packages/react-component-library test:a11y" |