fix: enable TypeScript strict mode and type-check tests in CI #23
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: CLI CI | |
| on: | |
| push: | |
| branches: [ dev ] | |
| pull_request: | |
| branches: [ dev ] | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| jobs: | |
| lint-and-test: | |
| runs-on: k8s | |
| steps: | |
| - name: Checkout CLI | |
| uses: actions/checkout@v5 | |
| with: | |
| path: cli | |
| - name: Checkout dcd (mock-api) | |
| uses: actions/checkout@v5 | |
| with: | |
| repository: moropo-com/dcd | |
| path: dcd | |
| ssh-key: ${{ secrets.DCD_SSH_DEPLOY_KEY }} | |
| # api/swagger.json is a file, which cone-mode sparse checkout rejects | |
| # as of git 2.51 ("is not a directory") — use non-cone patterns. | |
| sparse-checkout-cone-mode: false | |
| sparse-checkout: | | |
| /mock-api/ | |
| /api/swagger.json | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 10 | |
| run_install: false | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v5 | |
| with: | |
| node-version: '22' | |
| cache: 'pnpm' | |
| cache-dependency-path: './cli/pnpm-lock.yaml' | |
| - name: Install CLI dependencies | |
| working-directory: ./cli | |
| run: pnpm install --frozen-lockfile | |
| - name: Install Mock API dependencies | |
| working-directory: ./dcd/mock-api | |
| run: pnpm install --frozen-lockfile | |
| - name: Run CLI linter | |
| working-directory: ./cli | |
| run: pnpm lint | |
| - name: Type check (strict, src + tests) | |
| working-directory: ./cli | |
| run: pnpm typecheck | |
| - name: Run CLI tests | |
| working-directory: ./cli | |
| env: | |
| MOCK_API_DIR: ${{ github.workspace }}/dcd/mock-api | |
| run: pnpm test | |
| - name: Build CLI | |
| working-directory: ./cli | |
| run: pnpm build | |
| - name: Security audit | |
| working-directory: ./cli | |
| run: pnpm audit --audit-level moderate |