managing-github-ci
Configures GitHub Actions workflows and CI/CD pipelines. Manages automated releases via Changesets, PR validation, and Husky hooks. Troubleshoots CI failures. Triggers on: GitHub Actions, CI pipeline, workflow, release automation, Husky hooks, gh CLI, workflow failure.
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
GitHub CI Automation
Overview
Guide the configuration and management of GitHub Actions workflows, release automation, and CI/CD pipelines for the Saleor Configurator project.
When to Use
- Creating or modifying GitHub Actions workflows
- Setting up automated releases via Changesets
- Troubleshooting CI failures
- Configuring pre-commit/pre-push hooks (Husky)
Quick Reference
| Workflow | Trigger | Purpose |
|---|---|---|
test-on-pr.yml |
PR to main | Typecheck, lint, test, build |
release.yml |
Push to main | Changesets publish to npm |
changeset-bot.yml |
PR opened/synced | Comment on missing changesets |
Project CI Architecture
.github/
├── workflows/
│ ├── test-on-pr.yml # PR validation
│ ├── release.yml # Automated releases
│ └── changeset-bot.yml # Changeset automation
.husky/
├── pre-push # Schema docs generation
.changeset/
├── config.json # Changeset configuration
└── *.md # Pending changesets
Workflows
test-on-pr.yml
Validates PRs before merge. Runs: typecheck, lint, test, build. Uses pnpm 9 + Node 20.
See references/workflow-templates.md for full YAML.
Required Checks
| Check | Command | Purpose |
|---|---|---|
| Type check | pnpm typecheck |
TypeScript validation |
| Lint | pnpm lint |
Biome linting |
| Test | pnpm test |
Vitest test suite |
| Build | pnpm build |
Compilation check |
release.yml
Automated npm releases via Changesets. Triggers on push to main with concurrency control.
Uses changesets/action@v1 with pnpm publish:ci-prod. Requires GITHUB_TOKEN and NPM_TOKEN.
Release Flow
1. Developer creates changeset -> pnpm changeset
2. PR merged to main
3. Changesets action runs:
a. If changesets exist -> Creates "Version Packages" PR
b. If version PR merged -> Publishes to npm
changeset-bot.yml
Comments on PRs about missing changesets. Uses changesets/bot@v1.
Pre-Push Hooks (Husky)
Located in .husky/pre-push:
- Runs
pnpm generate-schema-docsbefore every push - Auto-commits schema documentation updates
- Ensures docs stay in sync with schema changes
Changesets Configuration
Located in .changeset/config.json. Key settings: access: "public", baseBranch: "main".
| Type | When to Use |
|---|---|
patch |
Bug fixes, documentation, refactoring |
minor |
New features, non-breaking enhancements |
major |
Breaking changes, API modifications |
GitHub CLI
Use gh for workflow management: gh run list, gh run view <id>, gh run watch <id>, gh run rerun <id>, gh pr checks <number>.
Troubleshooting CI Failures
Reproduce Locally
| Failure | Command |
|---|---|
| Type check | pnpm typecheck or npx tsc --noEmit |
| Lint | pnpm lint then pnpm check:fix |
| Tests | pnpm test -- --filter=<file> |
| Build | pnpm build |
Debugging Steps
- Check workflow logs in GitHub Actions UI
- Reproduce failure locally with commands above
- Fix the issue
- Push fix to PR
- Re-run failed jobs:
gh run rerun <run-id>
npm Publish Rate Limiting
If npm publish fails: wait and retry. Check status at https://status.npmjs.org/
Secrets Management
| Secret | Purpose | Where Set |
|---|---|---|
GITHUB_TOKEN |
Auto-provided | GitHub |
NPM_TOKEN |
npm publishing | Repository Settings > Secrets > Actions |
Common Mistakes
| Mistake | Fix |
|---|---|
Missing --frozen-lockfile |
Always use in CI installs |
Using @latest action versions |
Pin to specific versions (@v4) |
No concurrency setting |
Add to prevent duplicate runs |
| Forgetting to add changeset | Run pnpm changeset before PR |
References
Skill Reference Files
- Workflow Templates - Full YAML workflow definitions and reusable patterns
- Troubleshooting Guide - Detailed debugging patterns
Project Resources
-
.github/workflows/- Workflow files -
.husky/- Git hooks -
.changeset/- Changeset configuration
Related Skills
-
Creating releases: See
creating-changesetsfor changeset creation -
Local validation: See
validating-pre-commitfor reproducing CI checks locally
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-03-03
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!