fix(epg): harden three latent edges from the #1165 manual-mapping review #978
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: | |
| push: | |
| branches: | |
| - master | |
| pull_request: | |
| branches: | |
| - master | |
| workflow_dispatch: | |
| jobs: | |
| lint: | |
| name: Lint | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '22' | |
| cache: 'pnpm' | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Lint all projects | |
| run: pnpm nx run-many --target=lint --all --parallel=3 --output-style=static | |
| env: | |
| CI: true | |
| NX_TASKS_RUNNER_DYNAMIC_OUTPUT: false | |
| unit-and-typecheck: | |
| name: Unit Tests and Typechecks | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 45 | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '22' | |
| cache: 'pnpm' | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Typecheck web and Electron entry points | |
| run: pnpm run typecheck:ci | |
| - name: Check i18n drift | |
| run: pnpm run i18n:check | |
| - name: Run Tier A unit coverage suite | |
| run: pnpm run coverage:ci | |
| env: | |
| CI: true | |
| NX_TASKS_RUNNER_DYNAMIC_OUTPUT: false | |
| - name: Run Tier B/C validation commands | |
| run: node tools/coverage/check-coverage-policy.mjs --run-non-tier-a | |
| env: | |
| CI: true | |
| NX_TASKS_RUNNER_DYNAMIC_OUTPUT: false | |
| - name: Upload unit coverage artifact | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: unit-coverage | |
| path: | | |
| coverage/merged/ | |
| retention-days: 14 | |
| - name: Upload unit coverage to Codecov | |
| if: always() | |
| uses: codecov/codecov-action@v6 | |
| with: | |
| files: ./coverage/merged/lcov.info,./coverage/merged/cobertura-coverage.xml | |
| flags: unit | |
| name: iptvnator-unit | |
| fail_ci_if_error: false | |
| handle_no_reports_found: true | |
| disable_search: true | |
| token: ${{ secrets.CODECOV_TOKEN }} |