* Expect publish output to be shared through a file
* throw at all times
* match latest changes
* fmt
* rename things
* update changesets
* add changeset
* Add select-mode, version, and publish sub-actions
* Rename
* No github-token needed for select-mode for now
* extend select-mode with publish-plan check and upload
* Rename base-branch to pr-base-branch
* add `pack` subaction
* `--from-pack` support in the publish subaction
* rename CLI arg
* update rolldown config
* rename pack dir input/output
* tweak retendion days
---------
Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
* Fixed an issue with GitHub releases not being created for successfully published packages when some packages failed to be published
* Format
---------
Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>
* fix: conditionally append NPM_TOKEN to .npmrc for trusted publishing support
The .npmrc generation now intelligently handles both traditional NPM token
authentication and trusted publishing scenarios:
- Only appends auth token to .npmrc when NPM_TOKEN is defined (not undefined)
- Uses strict comparison (!== undefined) instead of truthy checks
- Provides informative logging when no NPM_TOKEN is present
- Maintains full backward compatibility with existing workflows
This fixes issues with trusted publishing where OIDC tokens from GitHub
Actions are used instead of NPM_TOKEN, preventing 'undefined' from being
written to the registry auth configuration.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Update src/index.ts
Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
* simplify
* tweak changeset
---------
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
* fix: use latest ghcommit and fix cwd for git-cli
- `cwd` was not working correctly when commitMode was set to `git-cli`,
as it was attempting to resolve the `cwd` twice.
(This problem only occured when specifying a relative path for `cwd`.)
- Update `ghcommit`, and avoid calling `process.chdir()` to change the
working directory. Instead, we now pass the `cwd` option everywhere.
fixes#475
* simplify
* Apply suggestions from code review
---------
Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
* Fix PRs sometimes not getting reopened
There was a race-condition that means sometimes
existing PRs would not be found,
and new PRs would be opened.
This has now been fixed by fetching existing PRs
before making any changes.
fixes#487
* Apply suggestions from code review
---------
Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
* Make git add work consistently with subdirectories
Currently, depending on your `commitMode`,
when running the action with `cwd` set to a subdirectory of a repo,
the action will either:
- `git-cli`: add the files changed in the subdirectory only
- `github-api`: add files changed anywhere in the repository
This commit brings github-api in line with git-cli,
so that it only adds files in the current working directory.
* Explicitly set `cwd` for all exec calls
* Avoid using `ExecOptions` from `@actions/exec`
* Rename type
* remove redundant `filter`
---------
Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>
* Create tags on GitHub using API
To allow for signed tags to be created,
rather than use the git CLI to push tags,
manually push each tag using the GitHub API,
which will sign the tag using the built-in GitHub GPG key.
* Use ghcommit to push changes
To allow for all commits to be signed,
use the GitHub API to push changes.
* Add changeset version
* Allow tag publish to fail, assume it was manually published
* Add to changeset
* Update @s0/ghcommit
* Update ghcommit to fix missing ref bug
* Make using GitHub API Optional
Change this to a minor version bump,
with a new feature that allows for using the
GitHub API to create tags and commits.
* Use a strategy pattern for GitHub API vs CLI usage
* refactor git interactions
* fix mock thing
* usechangesets pkg
* switch to `commitMode`
---------
Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com>