feat: Optional 2FA #11008
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
| # To upgrade pinned actions: Use https://github.com/mheap/pin-github-action | |
| name: CI - Frontend | |
| env: | |
| OS: &os ubuntu-24.04 | |
| TIMEOUT: &timeout 5 | |
| SHOULD_RUN: &should-run >- | |
| github.event_name == 'workflow_dispatch' || | |
| github.event_name == 'workflow_call' || | |
| github.repository == 'getkirby/kirby' || | |
| github.repository_owner != 'getkirby' | |
| on: | |
| # only the long-lived base branches run on push, so that their caches | |
| # are seeded for the pull requests targeting them; feature/fix branches | |
| # are covered by the pull_request event instead, which can restore caches | |
| # from its base branch and keeps the same commit from running twice | |
| push: | |
| branches: | |
| - "main" | |
| - "develop-patch" | |
| - "develop-minor" | |
| - "v*/develop" | |
| paths: &frontend-paths | |
| - ".github/actions/setup-npm/**" | |
| - ".github/workflows/frontend.yml" | |
| - "panel/**" | |
| - "!panel/scripts/**" | |
| pull_request: | |
| paths: *frontend-paths | |
| workflow_call: | |
| workflow_dispatch: | |
| concurrency: | |
| group: frontend-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| # ===================== Tests & Style ===================== | |
| tests: | |
| name: "Tests & Style" | |
| if: *should-run | |
| runs-on: *os | |
| timeout-minutes: *timeout | |
| defaults: | |
| run: | |
| working-directory: panel | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 | |
| - name: Setup Node/npm | |
| uses: ./.github/actions/setup-npm | |
| - name: Run JavaScript unit tests with coverage | |
| run: npm run test:coverage | |
| - name: Upload coverage results to Codecov | |
| uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7 | |
| with: | |
| # for better reliability if the GitHub API is down | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| fail_ci_if_error: true | |
| files: panel/tests/coverage/lcov.info | |
| disable_search: true | |
| flags: frontend | |
| - name: Check for TypeScript type errors | |
| run: npm run test:types | |
| - name: "ESLint: JavaScript coding style violations" | |
| run: npm run lint -- --max-warnings 0 --format stylish --no-fix | |
| - name: "Prettier: JavaScript coding style violations" | |
| run: npm run format -- --check |