-
Notifications
You must be signed in to change notification settings - Fork 44
docs: add release workflow skill for Claude #2308
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Use dorny/paths-filter to detect when only package.json version bumps occur (prepare-release branch). Jobs still run and report success, satisfying required checks without running unnecessary tests.
| steps: | ||
| - uses: actions/checkout@v4 | ||
|
|
||
| - uses: dorny/paths-filter@v3 |
Check warning
Code scanning / CodeQL
Unpinned tag for a non-immutable Action in workflow Medium
Uses Step: changes
| steps: | ||
| - uses: actions/checkout@v4 | ||
|
|
||
| - uses: dorny/paths-filter@v3 |
Check warning
Code scanning / CodeQL
Unpinned tag for a non-immutable Action in workflow Medium test
Uses Step: changes
| if: steps.changes.outputs.code != 'true' | ||
| run: echo "Only version changes detected, skipping storybook tests" | ||
|
|
||
| - if: steps.changes.outputs.code == 'true' && steps.changes.outputs.ui == 'true' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cache step condition stricter than build steps
The cache step in the storybook job requires both code == 'true' && ui == 'true', but subsequent build and test steps (pnpm install, pnpm build, test:storybook:update) only require code == 'true'. When code changes occur outside the packages/keychain directory (code=true but ui=false), the storybook tests will run without the benefit of caching, resulting in slower CI runs. The cache condition likely needs to match the other steps by checking only code == 'true'.
Additional Locations (1)
| - '**/*.tsx' | ||
| - '**/*.js' | ||
| - '**/*.jsx' | ||
| - '!**/package.json' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Inconsistent JSON path filter across workflow files
The code filter in quality.yml includes **/*.json (excluding package.json), but the code filter in test.yml omits JSON files entirely. This means changes to configuration files like tsconfig.json will trigger linting but skip tests. If a TypeScript config change breaks compilation, it won't be caught until a subsequent PR modifies TypeScript source files.
Additional Locations (1)
| - '**/*.tsx' | ||
| - '**/*.js' | ||
| - '**/*.jsx' | ||
| - '!**/package.json' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Dependency-only updates skip all CI checks
The code path filters don't include pnpm-lock.yaml or other lock files. When a dependency update PR changes only package.json (excluded) and pnpm-lock.yaml (not in filter), code evaluates to false and all tests and linting are skipped. This means Renovate/Dependabot PRs with breaking dependency changes could merge without running any CI checks. Before this change, tests always ran regardless of which files changed.
Summary
Adds a new Claude skill (
.claude/commands/release.md) that documents and automates the release workflow.The skill allows triggering releases via
/release minor,/release patch,/release major, or a specific version like/release 0.12.0. It guides through the GitHub Actionsrelease-dispatchworkflow process.Note
Introduces a Claude release command and optimizes CI to skip unnecessary work on version-only changes.
.claude/commands/release.mddocumenting the release process, semver calculation, and how to triggerrelease-dispatchviagh(including prerelease handling)quality.ymlandtest.ymlto usedorny/paths-filterand gate Node/pnpm/lint/build/test/Codecov/Storybook steps behindcodechanges, with clear skip messagescodefilter (includes*.css), conditional caching/execution, and a stricter final check conditioned onsteps.changes.outputs.code == 'true'Written by Cursor Bugbot for commit 0acad9c. This will update automatically on new commits. Configure here.