Use this checklist when preparing a new release of the llms.txt Generator action.
-
All tests pass locally
cd src npm test npm run test:integration
-
TypeScript compiles without errors
npm run build
-
No linting errors
npx tsc --noEmit
-
Code is properly formatted
-
No console.log or debug statements left in code
- README.md is up to date
- CHANGELOG.md is updated with new changes
- Action README (src/README.md) is current
- All examples in documentation work
- JSDoc comments are complete
- Breaking changes are clearly documented
- All unit tests pass
- All integration tests pass
- Manual testing completed
- Tested with real-world repositories
- Edge cases tested
- Error handling verified
- Dependencies are up to date
- No security vulnerabilities
npm audit
- Unused dependencies removed
- License compliance checked
- Decide version number (major.minor.patch)
- Update version in package.json
cd src npm version patch # or minor, or major
-
Build TypeScript
npm run build
-
Bundle with ncc
npm run bundle
-
Verify bundle size is reasonable
ls -lh dist/index.js
-
Test bundled action
export INPUT_BASE_URL="https://example.com" export INPUT_PROJECT_NAME="Test" node dist/index.js
-
Stage all changes
git add dist/ package.json package-lock.json
-
Commit with descriptive message
git commit -m "chore: release v1.0.0"
-
Tag is created (by npm version or manually)
git tag -a v1.0.0 -m "Release v1.0.0" -
Tag follows semantic versioning
-
Push commits
git push origin main
-
Push tags
git push origin --tags
- CI workflow passes
- Release workflow runs successfully
- GitHub release is created automatically
- Release notes are generated
- Major version tag is updated (e.g., v1)
- Release is published (not draft)
- Release notes are clear and complete
- Breaking changes are highlighted
- Migration guide included (if breaking changes)
- Assets are attached
- Action is published to GitHub Marketplace
- Marketplace listing is accurate
- Icon and branding are correct
- Categories are appropriate
-
Action works when referenced by tag
uses: your-org/your-repo/src@v1.0.0
-
Major version tag works
uses: your-org/your-repo/src@v1
-
Test in a real repository
-
All inputs work as expected
-
All outputs are set correctly
- Announce release (if major/minor)
- Update any example repositories
- Respond to issues/discussions
- Update documentation sites
- Monitor for issues in first 24 hours
- Check GitHub Actions usage
- Review any error reports
- Be ready to hotfix if needed
If issues are discovered:
- Create fix branch
- Fix the issue
- Test thoroughly
- Release patch version
- Update major version tag
- Identify last good version
- Update major version tag
git tag -fa v1 v1.0.0 -m "Rollback to v1.0.0" git push origin v1 --force - Communicate the rollback
- Plan proper fix
- Migration guide written
- Breaking changes clearly documented
- Deprecation warnings added (if applicable)
- Examples updated
- Consider backward compatibility options
- New features documented
- Examples added for new features
- Backward compatibility maintained
- Feature flags considered (if appropriate)
- Bug fix is minimal and focused
- No new features added
- No breaking changes
- Regression tests added
If releasing a security fix:
- Security advisory created
- CVE requested (if applicable)
- Users notified through appropriate channels
- Fix doesn't reveal vulnerability details
- Coordinated disclosure followed
- All core features implemented
- Comprehensive documentation
- Test coverage > 80%
- No known critical bugs
- Performance is acceptable
- Security review completed
- License file included
- Contributing guide available
- Code of conduct (if applicable)
Useful commands:
# Check current version
npm version
# View git tags
git tag -l
# View commits since last tag
git log $(git describe --tags --abbrev=0)..HEAD --oneline
# Generate changelog
git log --pretty=format:"- %s (%h)" --no-merges v1.0.0..HEAD
# Check bundle size
du -h src/dist/index.js
# Test action locally
bash test-action.sh- Always test thoroughly before releasing
- Communicate breaking changes clearly
- Keep releases small and focused
- Document everything
- Be responsive to issues after release
- Learn from each release to improve the process
Last Updated: [Date] Next Review: [Date]