| name | ci-status |
| description | Check the CI pipeline status for the current branch after pushing changes.
Reports pass/fail with failure details. Use this after every push to confirm
your changes are truly done — CI must be green.
TRIGGER when: after git push, after committing changes, when asked to check CI,
or when verifying that work is complete.
|
CI Status
Monitor the GitHub Actions CI pipeline for the current branch. A feature is not done until CI passes.
Instructions
- Identify the current branch and latest commit:
BRANCH=$(git branch --show-current)
SHA=$(git rev-parse --short HEAD)
echo "Branch: $BRANCH | Commit: $SHA"
- Find the latest CI run for this branch:
gh api "repos/ryaneggz/open-harness/actions/runs?branch=$BRANCH&per_page=1" \
--jq '.workflow_runs[0] | {id: .id, status: .status, conclusion: .conclusion, head_sha: .head_sha[:7], name: .name}'
- If the run is still in progress, poll every 15 seconds (max 5 minutes):
RUN_ID=<id from step 2>
for i in $(seq 1 20); do
STATUS=$(gh api "repos/ryaneggz/open-harness/actions/runs/$RUN_ID" --jq '.status')
if [ "$STATUS" = "completed" ]; then
break
fi
echo "Still running... ($i/20)"
sleep 15
done
- Check the result:
gh api "repos/ryaneggz/open-harness/actions/runs/$RUN_ID" \
--jq '{status: .status, conclusion: .conclusion, url: .html_url}'
- If failed, get the failure details:
JOB_ID=$(gh api "repos/ryaneggz/open-harness/actions/runs/$RUN_ID/jobs" \
--jq '.jobs[] | select(.conclusion == "failure") | .id')
gh api "repos/ryaneggz/open-harness/actions/jobs/$JOB_ID/logs" 2>&1 \
| grep -B 15 "Process completed with exit code" | head -25
- Report the result:
-
PASS: Report "CI green" with the run URL
-
FAIL: Report the failing step, error message, and suggest a fix. Then fix the issue, commit, push, and run /ci-status again
-
NO RUN: No workflow's on: filter matched the push. This repo's CI is mostly PATH-filtered, not branch-filtered:
ci-harness.yml — push only: packages/**, package.json, pnpm-lock.yaml, pnpm-workspace.yaml, itself
docs.yml — PR or push-to-main: docs/**, apps/docs/**, blog/**, itself
conciseness.yml — push or PR: workspace/*.md, workspace/.claude/rules/*.md, itself
release.yml — tag push only
Infrastructure-only PRs (devcontainer/scripts/install/) trigger NOTHING on push — that's expected. pull_request-event workflows still fire when the PR opens. Diagnose with: git diff --name-only HEAD~1 HEAD and compare against each workflow's on: block.
CI Pipeline Steps
This project's CI (CI: Harness) runs these steps in order:
- Lint (
pnpm run lint)
- Format check (
pnpm run format:check)
- Type check (
pnpm run type-check)
- Prisma generate (
pnpm exec prisma generate)
- Prisma migrate (
npx prisma migrate deploy)
- Build (
pnpm run build)
- Test (
pnpm test)
- Playwright E2E (
pnpm run test:e2e)
Local Pre-flight
Before pushing, you can run the same checks locally to catch issues early:
pnpm -r run lint && pnpm -r run format:check && pnpm -r run build && pnpm -r run test