Add Dark UI support for Topic Discovery Experience on supported Dark UI page types #57573
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: Simorgh CI - Licences, Dependencies, Lint, Chromatic UI, NPM Audit | |
| on: | |
| pull_request: | |
| branches: | |
| - '**' | |
| push: | |
| branches: | |
| - 'latest' | |
| permissions: | |
| statuses: write | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| node-version: [22.x] | |
| env: | |
| CI: true | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: '0' | |
| - name: Use Node.js ${{ matrix.node-version }} | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| - name: Cache Node Modules | |
| id: cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| node_modules | |
| ws-nextjs-app/node_modules | |
| key: node-modules-${{ hashFiles('yarn.lock', 'ws-nextjs-app/yarn.lock') }} | |
| - name: Install Node Modules | |
| if: steps.cache.outputs.cache-hit != 'true' | |
| run: ./scripts/installNodeModules.sh | |
| - name: Chromatic UI Tests | |
| uses: chromaui/action@latest | |
| if: github.ref != 'refs/heads/latest' && github.event.pull_request.head.repo.full_name == 'bbc/simorgh' # Only run when not on latest or not a fork. | |
| with: | |
| token: ${{ secrets.SIMORGH_DEV_STORYBOOK_RELEASE }} | |
| projectToken: ${{ secrets.CHROMATIC_APP_CODE }} | |
| buildScriptName: 'build:storybook' | |
| exitOnceUploaded: true | |
| onlyChanged: true | |
| - name: Chromatic UI Tests - Latest | |
| uses: chromaui/action@latest | |
| if: github.ref == 'refs/heads/latest' # Only run on latest branch | |
| with: | |
| token: ${{ secrets.SIMORGH_DEV_STORYBOOK_RELEASE }} | |
| projectToken: ${{ secrets.CHROMATIC_APP_CODE }} | |
| buildScriptName: 'build:storybook' | |
| exitOnceUploaded: true | |
| onlyChanged: true | |
| autoAcceptChanges: true # Auto accept changes to accept a new baseline when merging to latest | |
| - name: Get Storybook Branch Permalink | |
| uses: actions/github-script@v7 | |
| if: github.ref != 'refs/heads/latest' && github.event.pull_request.head.repo.full_name == 'bbc/simorgh' # Only run when not on latest or not a fork. | |
| id: get-storybook-permalink | |
| with: | |
| script: | | |
| const storybookBranch = '${{ github.event.pull_request.head.ref }}'.toLowerCase().replaceAll(/[/.]/g, '-').trim('-').substring(0, 37); | |
| const storybookPermalink = `https://${storybookBranch}--5d28eb3fe163f6002046d6fa.chromatic.com`; | |
| core.setOutput('STORYBOOK_PERMALINK', storybookPermalink); | |
| - name: Publish Storybook Branch Permalink | |
| if: github.ref != 'refs/heads/latest' && github.event.pull_request.head.repo.full_name == 'bbc/simorgh' # Only run when not on latest or not a fork. | |
| run: | | |
| curl \ | |
| -X POST \ | |
| -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \ | |
| -H "Accept: application/vnd.github+json" \ | |
| -H "X-GitHub-Api-Version: 2022-11-28" \ | |
| https://api.github.com/repos/${{ github.repository }}/statuses/${{ github.event.pull_request.head.sha }} \ | |
| -d '{ | |
| "state": "success", | |
| "context": "Storybook Permalink", | |
| "description": "View the latest changes on Storybook for this PR", | |
| "target_url": "${{ steps.get-storybook-permalink.outputs.STORYBOOK_PERMALINK }}" | |
| }' \ | |
| --fail | |
| - name: Duplicate Dependency Checker | |
| if: github.ref != 'refs/heads/latest' | |
| run: yarn test:dependencies | |
| - name: Linting | |
| if: github.ref != 'refs/heads/latest' | |
| run: yarn test:lint | |
| - name: NPM Audit | |
| if: github.ref != 'refs/heads/latest' | |
| run: yarn npm audit --all --severity low --no-deprecations |