feat: add watermark on chart SVG and PNG prints #4658
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: ci | |
| on: | |
| pull_request: | |
| branches: | |
| - main | |
| push: | |
| branches: | |
| - main | |
| merge_group: | |
| branches: | |
| - main | |
| # cancel in-progress runs on new commits to same PR (gitub.event.number) | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.number || github.sha }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| lint: | |
| name: π Lint project | |
| runs-on: ubuntu-24.04-arm | |
| steps: | |
| - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | |
| - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 | |
| with: | |
| node-version: lts/* | |
| - uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c | |
| name: π§ Install pnpm | |
| with: | |
| cache: true | |
| - name: π¦ Install dependencies (root only, no scripts) | |
| run: pnpm install --filter . --ignore-scripts | |
| - name: π Lint project | |
| run: pnpm lint | |
| types: | |
| name: πͺ Type check | |
| runs-on: ubuntu-24.04-arm | |
| steps: | |
| - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | |
| - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 | |
| with: | |
| node-version: lts/* | |
| - uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c | |
| name: π§ Install pnpm | |
| with: | |
| cache: true | |
| - name: π¦ Install dependencies | |
| run: pnpm install | |
| - name: πͺ Type check | |
| run: pnpm test:types | |
| unit: | |
| name: π§ͺ Unit tests | |
| runs-on: ubuntu-24.04-arm | |
| steps: | |
| - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | |
| - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 | |
| with: | |
| node-version: lts/* | |
| - uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c | |
| name: π§ Install pnpm | |
| with: | |
| cache: true | |
| - name: π¦ Install dependencies | |
| run: pnpm install | |
| - name: π§ͺ Unit tests | |
| run: pnpm test:unit run --coverage --reporter=default --reporter=junit --outputFile=test-report.junit.xml | |
| - name: β¬οΈ Upload test results to Codecov | |
| if: ${{ !cancelled() }} | |
| uses: codecov/test-results-action@0fa95f0e1eeaafde2c782583b36b28ad0d8c77d3 # v1 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| test: | |
| name: π§ͺ Component tests | |
| runs-on: ubuntu-24.04-arm | |
| steps: | |
| - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | |
| - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 | |
| with: | |
| node-version: lts/* | |
| - uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c | |
| name: π§ Install pnpm | |
| with: | |
| cache: true | |
| - name: π¦ Install dependencies | |
| run: pnpm install | |
| - name: π Install browser | |
| run: pnpm playwright install chromium-headless-shell | |
| - name: π§ͺ Component tests | |
| run: pnpm test:nuxt run --coverage --reporter=default --reporter=junit --outputFile=test-report.junit.xml | |
| - name: β¬οΈ Upload coverage reports to Codecov | |
| uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5 | |
| with: | |
| report_type: test_results | |
| env: | |
| CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
| - name: β¬οΈ Upload coverage reports to Codecov | |
| uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5 | |
| env: | |
| CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
| browser: | |
| name: π₯οΈ Browser tests | |
| runs-on: ubuntu-24.04-arm | |
| container: | |
| image: mcr.microsoft.com/playwright:v1.58.0-noble | |
| steps: | |
| - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | |
| - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 | |
| with: | |
| node-version: lts/* | |
| - uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c | |
| name: π§ Install pnpm | |
| with: | |
| cache: true | |
| - name: π¦ Install dependencies | |
| run: pnpm install | |
| - name: ποΈ Build project | |
| run: pnpm build:test | |
| env: | |
| VALIDATE_HTML: true | |
| - name: π₯οΈ Test project (browser) | |
| run: pnpm test:browser:prebuilt | |
| a11y: | |
| name: βΏ Accessibility audit | |
| runs-on: ubuntu-latest # See https://github.com/GoogleChrome/lighthouse/discussions/16834 | |
| strategy: | |
| matrix: | |
| mode: [dark, light] | |
| steps: | |
| - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | |
| - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 | |
| with: | |
| node-version: lts/* | |
| - uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c | |
| name: π§ Install pnpm | |
| with: | |
| cache: true | |
| - name: π¦ Install dependencies | |
| run: pnpm install | |
| - name: ποΈ Build project | |
| run: pnpm build:test | |
| - name: βΏ Accessibility audit (Lighthouse - ${{ matrix.mode }} mode) | |
| run: pnpm test:a11y:prebuilt | |
| env: | |
| LHCI_GITHUB_APP_TOKEN: ${{ secrets.LHCI_GITHUB_APP_TOKEN }} | |
| LIGHTHOUSE_COLOR_MODE: ${{ matrix.mode }} | |
| knip: | |
| name: π§Ή Unused code check | |
| runs-on: ubuntu-24.04-arm | |
| steps: | |
| - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | |
| - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 | |
| with: | |
| node-version: lts/* | |
| - uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c | |
| name: π§ Install pnpm | |
| with: | |
| cache: true | |
| - name: π¦ Install dependencies | |
| run: pnpm install | |
| - name: π§Ή Check for unused code | |
| run: pnpm knip | |
| - name: π§Ή Check for unused production code | |
| run: pnpm knip --production | |
| i18n: | |
| name: π i18n validation | |
| runs-on: ubuntu-24.04-arm | |
| steps: | |
| - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | |
| - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 | |
| with: | |
| node-version: lts/* | |
| - uses: pnpm/action-setup@1e1c8eafbd745f64b1ef30a7d7ed7965034c486c # 1e1c8eafbd745f64b1ef30a7d7ed7965034c486c | |
| name: π§ Install pnpm | |
| with: | |
| cache: true | |
| - name: π¦ Install dependencies (root only, no scripts) | |
| run: pnpm install --filter . --ignore-scripts | |
| - name: π Check for missing or dynamic i18n keys | |
| run: pnpm i18n:report | |
| - name: π Check i18n schema is up to date | |
| run: | | |
| pnpm i18n:schema | |
| git diff --exit-code i18n/schema.json |