Skip to content

feat: add issue tracker provider abstraction #87

feat: add issue tracker provider abstraction

feat: add issue tracker provider abstraction #87

Workflow file for this run

name: ci
on:
pull_request:
push:
branches:
- main
workflow_dispatch:
permissions:
contents: read
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
concurrency:
group: ci-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
typecheck:
name: typecheck
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v6
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: 22
- name: Enable Corepack and pnpm
# setup-node's pnpm cache hook expects pnpm to already exist on PATH.
# We bootstrap pnpm explicitly first to keep the workflow deterministic.
run: |
corepack enable
corepack prepare pnpm@10.31.0 --activate
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Run typecheck
run: pnpm typecheck
test:
name: test
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v6
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: 22
- name: Enable Corepack and pnpm
# setup-node's pnpm cache hook expects pnpm to already exist on PATH.
# We bootstrap pnpm explicitly first to keep the workflow deterministic.
run: |
corepack enable
corepack prepare pnpm@10.31.0 --activate
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Run tests
run: pnpm test
build:
name: build
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v6
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: 22
- name: Enable Corepack and pnpm
# setup-node's pnpm cache hook expects pnpm to already exist on PATH.
# We bootstrap pnpm explicitly first to keep the workflow deterministic.
run: |
corepack enable
corepack prepare pnpm@10.31.0 --activate
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Run build
run: pnpm build
policy:
name: policy
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: 22
- name: Enable Corepack and pnpm
# setup-node's pnpm cache hook expects pnpm to already exist on PATH.
# We bootstrap pnpm explicitly first to keep the workflow deterministic.
run: |
corepack enable
corepack prepare pnpm@10.31.0 --activate
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Generate coverage data
run: pnpm test:coverage
- name: Run changed-lines coverage check
run: pnpm ci:coverage
- name: Run CI policy check
run: pnpm ci:policy
- name: Upload CI reports
if: always()
uses: actions/upload-artifact@v7
with:
name: ci-reports
path: |
.specforge/ci/policy-report.txt
.specforge/ci/changed-lines-coverage-report.txt
if-no-files-found: error