name: "@remark42/api" on: push: branches: - master paths: - ".github/workflows/ci-frontend-api.yml" - "frontend/packages/**" - "!**.md" pull_request: paths: - ".github/workflows/ci-frontend-api.yml" - "frontend/packages/**" - "!**.md" jobs: type-check: name: Type check runs-on: ubuntu-latest permissions: contents: read strategy: matrix: node: [ 16 ] steps: - name: Checkout uses: actions/checkout@v6 with: persist-credentials: false - name: Install pnpm uses: pnpm/action-setup@v4.2.0 with: version: 8 run_install: false - name: Install node uses: actions/setup-node@v6 with: node-version: ${{ matrix.node }} cache: "pnpm" cache-dependency-path: frontend/pnpm-lock.yaml - name: Install dependencies run: pnpm i working-directory: ./frontend - name: Run type check run: pnpm type-check:api working-directory: ./frontend lint: name: Lint runs-on: ubuntu-latest permissions: contents: read strategy: matrix: node: [ 16 ] steps: - name: Checkout uses: actions/checkout@v6 with: persist-credentials: false - name: Install pnpm uses: pnpm/action-setup@v4.2.0 with: version: 8 run_install: false - name: Install node uses: actions/setup-node@v6 with: node-version: ${{ matrix.node }} cache: "pnpm" cache-dependency-path: frontend/pnpm-lock.yaml - name: Install dependencies run: pnpm i working-directory: ./frontend - name: Run linters run: pnpm lint:api working-directory: ./frontend/ test: name: Tests & Coverage runs-on: ubuntu-latest permissions: contents: read strategy: matrix: node: [ 16 ] steps: - name: Checkout uses: actions/checkout@v6 with: persist-credentials: false - name: Install pnpm uses: pnpm/action-setup@v4.2.0 with: version: 8 run_install: false - name: Install node uses: actions/setup-node@v6 with: node-version: ${{ matrix.node }} cache: "pnpm" cache-dependency-path: frontend/pnpm-lock.yaml - name: Install dependencies run: pnpm i working-directory: ./frontend - name: Test & Coverage run: pnpm coverage:api working-directory: ./frontend - name: Upload coverage to Codecov uses: codecov/codecov-action@v5 with: token: ${{ secrets.CODECOV_TOKEN }} working-directory: ./frontend codecov_yml_path: ./frontend/apps/remark42/codecov.yml