Releases: birdcar/actions
v1.0.3
v1.0.2
Changed
- Stop parsing at
---separator - content after is ignored (test plans, notes, etc.) - Skip task checkbox items (
- [ ]and- [x]) - these are test checklists, not changelog entries
v1.0.1
Changed
- Replace manual changelog parsing with
keep-a-changelogSDK - Merge
[Unreleased]entries with PR-generated changes automatically - Concatenate entries when version already exists (supports manual pre-entries)
- Handle all changelog categories (Added, Changed, Fixed, Removed, Deprecated, Security)
- Unit tests pass (
bun test) - Integration test with birdhouse repo release
v1.0.0
Added
auto-releaseaction for automatic releases from merged PRscreate-releaseaction for creating releases from pushed tagsbun run new <name>- Generator script to scaffold new actionsbun run build- Build script that compiles all actionsbun run build --compile- Cross-compile actions to native executablesbun run build --watch- Watch mode for development- CI workflow to validate builds on PRs
- Auto-release workflow for automatic versioning on PR merge
- Shared utilities in
shared/action-utils.ts - Shared testing utilities with mock implementations for @actions/* packages
- TypeScript support throughout with strict type checking
- Biome for linting and formatting
- PR template with changelog format guidance
- Comprehensive AGENTS.md/CLAUDE.md documentation
Changed
- BREAKING: Actions moved from
dev/to repository root (e.g.,create-release/instead ofdev/create_release/oractions/create-release/) - BREAKING: Action names changed to kebab-case (e.g.,
create_release→create-release) - Migrated build system from
@vercel/nccto Bun's native bundler - Upgraded all dependencies to latest versions
- Actions now target Node 20 (previously Node 16)
- All actions rewritten in TypeScript with dependency injection for testability
Removed
- Removed
@birdcar/quickdependency - Removed ESLint configuration (replaced by Biome)
- Removed old npm-based build tooling
- Removed shell script implementations
- Tests pass locally (
bun test) - Build succeeds (
bun run build) - Lint passes (
bun run lint) birdcar/actions/dev/create_release@main→birdcar/actions/create-release@v1birdcar/actions/dev/deploy_to_heroku@main→birdcar/actions/deploy-to-heroku@v1birdcar/actions/dev/poetry_export@main→birdcar/actions/poetry-export@v1birdcar/actions/dev/poetry_install@main→birdcar/actions/poetry-install@v1
v0.4.0
NPM workspaces exist now, which means we can make working with this monorepo of GitHub actions much less unweildy. The problem with that is that the folder structure is different, so those who want to update to the latest version of the previous set of actions will need to update the path in their uses declaration.
Changed
- Breaking change. Moved folders for all existing actions into the
devdirectory to allow for better monorepo organization by topic. Consumers will need to update their yaml files.
v0.3.1
Ran into a snag with the previous release related to a difference between the octokit API and the releases REST API.
Fixed
- Previously I attempted to create a release with
make_latest, however it appears that Octokit's createRelease method doesn't currently support that. I'm going to leave it alone for now.
v0.2.1
Some days, you realize that you wrote a bunch of stuff and never tested it. This is one of those days.
Changed
- Bugfix: The
poetry_installaction failed to set the poetry env correctly, resulting in an inability to then use that env for commands later. The reason for this is that I was relying on the output from thesetup-pythonstep to set the poetry envrionment version. However, I've now shifted to just using the same input value thatsetup-pythonis relying on, making it simpler and less likely to fail (I hope). - Updated Action:
poetry_installwill now only install and configure Python and Poetry, but will not take the extra step of installing the dependencies itself. - Updated Action:
poetry_exportonce leveragedpoetry_installas its first step to simplify production deployments to SaaS but combining the install of production dependencies with the requirements.txt output, but that turns out to not be necessary sincepoetry exportoutputs the production requirements without needing additional configuration. Right now I'm not going to support theextrasflag which adds value to this action, but I may consider doing that in the future
v0.2.0
Another day, another release of birdcar/actions.
Added
- New Action:
poetry_install. Poetry is a way of managing python packages, and this action automate the setup and caching of Python, Poetry, and the dependencies specified in yourpoetry.lockfile. - New Action:
poetry_export. A significant amount of both my side projects and the internal tools I develop professionally are deployed on Heroku. At the moment, Heroku requires all Python projects to have arequirements.txtfile in the root of the project repository for dependencies to be installed (though that looks to be changing with their move to CloudNativeBuildpacks in the near term future 🤞🏽). This action will use Poetry to generate therequirements.txtfile for you, and then commit it to the repository to ensure that you don't need to manage it.
Changed
- Updated Action:
deploy_to_heroku. Initially, thedeploy_to_herokuaction would also checkout the repository for you. This is actually not great for composing actions together; resulting in either duplicate work (i.e. checking the repository out twice) or odd environmental changes. This update will remove the checkout step and leave that up to the consumer.
Removed
- Deleted Action:
setup_poetry. As it turns out, theactions/setup-pythonaction has built in dependency caching! It needs to be composed with a few other steps to be useful, but the bulk of the work in thesetup_poetrywas manually performing that caching step, so it's no longer needed. Usepoetry_installmoving forward, and see the readme in that directory for usage instructions.
v0.1.0
First release of my personal actions repository. Read the Added section to see the list of actions available in this release, along with a short description. For more information, see the README in each of the action folders.
Added
- New Action:
create_release. Have you also written the same "Automatically publish a release when I create a new tag" GitHub action in almost every project you've created? Well now you don't have to! For the low, low price of "being forced to use keepachangelog's Changelog format" you, too can now stop worrying and just use this action. - New Action:
setup_poetry. Poetry is a wonderful package.. manager? Orchestrator? Project manager? Whatever it is, it makes working with Python dependencies more like usingnpm,bundle, orcargo. This action will help you take advantage of that and cache the dependencies as part of your GitHub Actions cache to speed up your test runs. - New Action:
poetry_requirements. Use Poetry, but need to generate arequirements.txtfile for use with Heroku or some other PaaS?poetry_requirementswill get you sorted - New Action:
deploy_to_heroku. Heroku has its own deployment pipeline, but if you want to use GitHub Actions for CI or control the flow inside of GitHub, you're out of luck. Fortunately, this action will allow you to control your Heroku application deployments inside GitHub actions.