Acceptatiecriteria voor toegankelijkheid Form Field Error Message #8958
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: Continuous Delivery | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| concurrency: | |
| group: ${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| continuous-integration: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout branch | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Install pnpm package manager | |
| uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0 | |
| - name: Set up Node.js version | |
| uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 | |
| with: | |
| node-version-file: .nvmrc | |
| - name: Check for known security issues with npm packages | |
| run: | | |
| echo "Auditing npm dependencies before installing them. For more information, see: https://nldesignsystem.nl/pnpm-audit" | |
| pnpm audit --audit-level critical | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: "Continuous Integration: lint" | |
| run: pnpm run --if-present lint | |
| - name: "Continuous Integration: build" | |
| run: pnpm run --if-present build | |
| - name: "Continuous Integration: test" | |
| run: pnpm run --if-present test | |
| - name: "Retain build artifact: website" | |
| uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 | |
| with: | |
| include-hidden-files: true | |
| name: website | |
| path: build/ | |
| retention-days: 1 | |
| - name: "Retain build artifact: website-next" | |
| uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 | |
| with: | |
| include-hidden-files: true | |
| name: website-next | |
| path: packages/website/dist/ | |
| retention-days: 1 | |
| csp-test: | |
| runs-on: ubuntu-latest | |
| needs: [continuous-integration] | |
| steps: | |
| - name: Checkout branch | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Install pnpm package manager | |
| uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0 | |
| - name: Set up Node.js version | |
| uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 | |
| with: | |
| node-version-file: .nvmrc | |
| - name: Check for known security issues with npm packages | |
| run: | | |
| echo "Auditing npm dependencies before installing them. For more information, see: https://nldesignsystem.nl/pnpm-audit" | |
| pnpm audit --audit-level critical | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: "Install headless browsers for end-to-end testing" | |
| run: pnpm run --if-present install-test-browsers | |
| - name: "Restore build artifact: website-next" | |
| uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0 | |
| with: | |
| name: website-next | |
| path: packages/website/dist/ | |
| - name: "Run tests" | |
| run: pnpm run --if-present test-csp | |
| e2e-test: | |
| runs-on: ubuntu-latest | |
| needs: [continuous-integration] | |
| steps: | |
| - name: Checkout branch | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Install pnpm package manager | |
| uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 # v4.2.0 | |
| - name: Set up Node.js version | |
| uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 | |
| with: | |
| node-version-file: .nvmrc | |
| - name: Check for known security issues with npm packages | |
| run: | | |
| echo "Auditing npm dependencies before installing them. For more information, see: https://nldesignsystem.nl/pnpm-audit" | |
| pnpm audit --audit-level critical | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: "Install headless browsers for end-to-end testing" | |
| run: pnpm run --if-present install-test-browsers | |
| - name: "Restore build artifact: website" | |
| uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0 | |
| with: | |
| name: website | |
| path: build/ | |
| - name: "Restore build artifact: website-next" | |
| uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0 | |
| with: | |
| name: website-next | |
| path: packages/website/dist/ | |
| - name: "Continuous Integration: end-to-end tests" | |
| run: pnpm run --if-present test-e2e | |
| - name: "Continuous Integration: a11y:next" | |
| run: pnpm run test-a11y:next | |
| - name: "Continuous Integration: a11y" | |
| if: ${{ github.ref_name == 'main' || (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'ci/a11y')) }} | |
| run: pnpm run --if-present test-a11y | |
| - name: "Upload test artifact: a11y" | |
| if: ${{ github.ref_name == 'main' || (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'ci/a11y')) }} | |
| uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 | |
| with: | |
| name: a11y | |
| path: | | |
| tmp/axe.json | |
| tmp/axe.next.json | |
| - name: "Continuous Integration: make screenshots" | |
| if: ${{ github.ref_name == 'main' || (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'visual regression test')) }} | |
| run: pnpm run --if-present test-visual | |
| - name: "Continuous Integration: publish screenshots to Argos" | |
| if: ${{ github.ref_name == 'main' || (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'visual regression test')) }} | |
| env: | |
| ARGOS_TOKEN: ${{ secrets.ARGOS_TOKEN }} | |
| run: pnpm run --if-present publish:argos | |
| - name: "Retain build artifact: test report" | |
| uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 | |
| with: | |
| name: playwright-report | |
| path: tmp/playwright-html-report/ | |
| retention-days: 7 | |
| - name: "Retain build artifact: screenshots" | |
| if: ${{ github.ref_name == 'main' || (github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'visual regression test')) }} | |
| uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 | |
| with: | |
| name: screenshots | |
| path: tmp/screenshots/ | |
| retention-days: 7 | |
| publish-website: | |
| runs-on: ubuntu-latest | |
| needs: continuous-integration | |
| if: github.ref == 'refs/heads/main' | |
| steps: | |
| - name: Checkout release branch | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: "Restore build artifact: website" | |
| uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0 | |
| with: | |
| name: website | |
| path: build/ | |
| - name: Continuous Deployment to GitHub Pages | |
| uses: JamesIves/github-pages-deploy-action@d92aa235d04922e8f08b40ce78cc5442fcfbfa2f # v4.8.0 | |
| with: | |
| branch: gh-pages | |
| folder: build/ |