name: CLI Tests on: workflow_call: secrets: CODECOV_TOKEN: required: false permissions: contents: read concurrency: group: cli-tests-${{ github.head_ref || github.run_id }} cancel-in-progress: true jobs: test: name: CLI Tests (${{ matrix.os }}) runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [depot-ubuntu-24.04, windows-latest, macos-latest] env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} defaults: run: shell: bash working-directory: ./cli steps: - name: Checkout code uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: persist-credentials: false - name: Setup web environment uses: ./.github/actions/setup-web - name: Setup Bun uses: oven-sh/setup-bun@v2 with: bun-version: latest - name: Validate release manifest if: matrix.os == 'depot-ubuntu-24.04' run: scripts/release-validate-manifest.sh - name: CI pipeline (typecheck, lint, coverage, build) run: pnpm run ci - name: Report coverage if: ${{ env.CODECOV_TOKEN != '' && matrix.os == 'depot-ubuntu-24.04' }} uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0 with: directory: cli/coverage flags: cli env: CODECOV_TOKEN: ${{ env.CODECOV_TOKEN }}