--- name: ci-check description: Run local CI checks and verify GitHub Actions status. Use before committing, after pushing, or when asked to check/fix CI. --- # CI Check Run CI checks locally first, then verify GitHub Actions if the branch has been pushed. ## Step 1: Run local CI Run `./scripts/ci-local.sh` to execute the same checks as GitHub Actions: install, build, typecheck, and docker build. If any step fails, fix it before proceeding. Use `./scripts/ci-local.sh --quick` to skip the docker build when iterating on TypeScript fixes. ## Step 2: Check remote CI (if pushed) Run `gh run list --branch $(git branch --show-current) --limit 1` to find the most recent CI run for this branch. If no runs exist, the branch hasn't been pushed yet — tell the user. If the run status is `completed` and conclusion is `success`, report that CI is green and stop. If the run is `in_progress`, run `gh run watch ` to wait for completion. Then re-check. If the run `failed`, proceed to Step 3. ## Step 3: Read the failure logs Run `gh run view --log-failed` to get only the log lines from failed steps. This is more focused than `--log` which dumps everything. Identify which step failed: - `pnpm install --frozen-lockfile` — lockfile out of sync - `pnpm turbo build` — TypeScript compilation error - `pnpm turbo typecheck` — type errors without build - `docker build` — Dockerfile issue ## Step 4: Fix locally Based on the failure: **Lockfile drift**: Run `pnpm install` locally and commit the updated `pnpm-lock.yaml`. **Build/typecheck failure**: Read the error, find the file and line, fix the issue. Run `./scripts/ci-local.sh --quick` to verify before pushing. **Docker build failure**: Read the error. Common causes: missing COPY for a new config file, changed package name, missing dependency. Run `./scripts/ci-local.sh` (full) to verify. ## Step 5: Push and re-check After fixing, push the branch and run Step 2 again. Repeat until CI is green. ## Commands Reference | Command | Purpose | |---------|---------| | `./scripts/ci-local.sh` | Full local CI (install, build, typecheck, docker) | | `./scripts/ci-local.sh --quick` | Local CI without docker build | | `gh run list --branch --limit 5` | List recent runs for a branch | | `gh run view ` | Summary of a specific run | | `gh run view --log-failed` | Only failed step logs | | `gh run watch ` | Wait for an in-progress run |