The repository now has Bun-based tests and a Gitea Actions validation workflow, but the release path is not yet exercised end-to-end. For a library intended to be published, we should have a dedicated release workflow that runs on version tags and validates the actual release path instead of relying entirely on ad hoc manual steps.
The target behavior is a Gitea Actions workflow that runs when a tag matching x.y.z is pushed, performs the normal release checks, and exercises npm publish. The main unresolved detail is how npmjs.com authentication should be handled from Gitea Actions.
Goals / scope
Add a dedicated Gitea Actions workflow for releases triggered by pushed tags matching x.y.z
Re-run the project's normal validation in the release workflow, including Bun-based tests and any package/build checks the repo already uses
Validate the package that would be published (for example via npm pack and/or equivalent package-content checks)
Include an npm publish step targeting npmjs.com
Ensure publishing happens only for intended release tags, not for branches or pull requests
Keep the workflow small and understandable; avoid unnecessary matrix or orchestration complexity
Out of scope / non-goals
Automated version bumping
Changelog generation or release notes automation
Publishing to multiple registries
Pre-release channel support (alpha, beta, rc) in the initial version
Complex approval gates, rollback automation, or a broader release-management system
Acceptance criteria
A workflow file exists for releases and is triggered only by tags matching the intended x.y.z pattern
The workflow runs the repo's standard validation using the current tooling, including Bun-based tests
The workflow validates package contents before attempting publish
The workflow includes an npm publish step to npmjs.com that is gated to release tags only
The required authentication mechanism is documented clearly enough for a maintainer to configure it in Gitea
If authentication is missing or misconfigured, the workflow fails in a clear and diagnosable way
Open questions / notes
What is the right npmjs.com authentication approach for this repo in Gitea Actions?
Likely candidate: an automation token stored as a repository or organization secret such as NPM_TOKEN
We should confirm that this works cleanly in the current Gitea Actions environment
Which npm account or org should own publishing rights for the package?
Should this workflow also create or update a Gitea release entry, or should that remain out of scope for the first pass?
It may make sense to land the README operational-guidance issue first so the documented manual process and automated process stay aligned.
## Problem
The repository now has Bun-based tests and a Gitea Actions validation workflow, but the release path is not yet exercised end-to-end. For a library intended to be published, we should have a dedicated release workflow that runs on version tags and validates the actual release path instead of relying entirely on ad hoc manual steps.
The target behavior is a Gitea Actions workflow that runs when a tag matching `x.y.z` is pushed, performs the normal release checks, and exercises `npm publish`. The main unresolved detail is how npmjs.com authentication should be handled from Gitea Actions.
## Goals / scope
- [ ] Add a dedicated Gitea Actions workflow for releases triggered by pushed tags matching `x.y.z`
- [ ] Re-run the project's normal validation in the release workflow, including Bun-based tests and any package/build checks the repo already uses
- [ ] Validate the package that would be published (for example via `npm pack` and/or equivalent package-content checks)
- [ ] Include an `npm publish` step targeting npmjs.com
- [ ] Ensure publishing happens only for intended release tags, not for branches or pull requests
- [ ] Keep the workflow small and understandable; avoid unnecessary matrix or orchestration complexity
## Out of scope / non-goals
- [ ] Automated version bumping
- [ ] Changelog generation or release notes automation
- [ ] Publishing to multiple registries
- [ ] Pre-release channel support (`alpha`, `beta`, `rc`) in the initial version
- [ ] Complex approval gates, rollback automation, or a broader release-management system
## Acceptance criteria
- [ ] A workflow file exists for releases and is triggered only by tags matching the intended `x.y.z` pattern
- [ ] The workflow runs the repo's standard validation using the current tooling, including Bun-based tests
- [ ] The workflow validates package contents before attempting publish
- [ ] The workflow includes an `npm publish` step to npmjs.com that is gated to release tags only
- [ ] The required authentication mechanism is documented clearly enough for a maintainer to configure it in Gitea
- [ ] If authentication is missing or misconfigured, the workflow fails in a clear and diagnosable way
## Open questions / notes
- What is the right npmjs.com authentication approach for this repo in Gitea Actions?
- Likely candidate: an automation token stored as a repository or organization secret such as `NPM_TOKEN`
- We should confirm that this works cleanly in the current Gitea Actions environment
- Which npm account or org should own publishing rights for the package?
- Should this workflow also create or update a Gitea release entry, or should that remain out of scope for the first pass?
- It may make sense to land the README operational-guidance issue first so the documented manual process and automated process stay aligned.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Problem
The repository now has Bun-based tests and a Gitea Actions validation workflow, but the release path is not yet exercised end-to-end. For a library intended to be published, we should have a dedicated release workflow that runs on version tags and validates the actual release path instead of relying entirely on ad hoc manual steps.
The target behavior is a Gitea Actions workflow that runs when a tag matching
x.y.zis pushed, performs the normal release checks, and exercisesnpm publish. The main unresolved detail is how npmjs.com authentication should be handled from Gitea Actions.Goals / scope
x.y.znpm packand/or equivalent package-content checks)npm publishstep targeting npmjs.comOut of scope / non-goals
alpha,beta,rc) in the initial versionAcceptance criteria
x.y.zpatternnpm publishstep to npmjs.com that is gated to release tags onlyOpen questions / notes
NPM_TOKEN