Skip to content

feat: set up secure npm release automation for Gyros#36

Merged
Primajin merged 3 commits into
mainfrom
claude/setup-release-automation-for-gyros
Jul 10, 2026
Merged

feat: set up secure npm release automation for Gyros#36
Primajin merged 3 commits into
mainfrom
claude/setup-release-automation-for-gyros

Conversation

@Claude

@Claude Claude AI commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Thanks for asking me to work on this. I will get started on it and keep this PR's description up to date as I form a plan and make progress.


This section details on the original issue you should resolve

<issue_title>Set up secure, transparent npm release automation for Gyros</issue_title>
<issue_description>## Summary
Set up a secure, transparent, repeatable npm release pipeline for Primajin/Gyros so the package can be published and maintained with confidence.

Problem

We want to publish Gyros to npm and get it into users' hands, but the package namespace gyros is already taken. We also need a release process that raises trust and makes it clear that the published package is built directly from this repository's source rather than from an opaque or manually-driven process.

Today, we have an NPM_TOKEN secret configured for Actions with a 90-day token lifetime, and it is not available to Copilot agents or Dependabot. However, we still need to design and implement the release automation around it.

Proposed work

  • Determine the package publishing strategy:
    • evaluate an alternative available npm package name, or
    • publish under the user scope if that is the preferred path.
  • Copy/adapt the release and commit lint workflows from the sibling project Primajin/webapp-console-log-action.
  • Use conventional commits plus Release Please to create a repeatable, auditable release flow.
  • Add npm publishing automation that runs after a GitHub Release is created.
  • Ensure the publish pipeline is secure and transparent so consumers can verify that the npm artifact corresponds to the source in this repository.

Requirements

  • Release automation should be based on GitHub Actions.
  • The pipeline should use the existing NPM_TOKEN Actions secret.
  • Publishing must not rely on manual local steps.
  • The process should make the provenance of the published package easy to understand and inspect.
  • The workflow should be modeled after Primajin/webapp-console-log-action where appropriate.

Acceptance criteria

  • A package name decision is documented and implemented (new unscoped name or @Primajin/<name> style publishing).
  • the users profile is https://www.npmjs.com/~primajin
  • Conventional commits and Release Please are configured in Primajin/Gyros.
  • A release workflow exists that creates or updates releases in a repeatable way.
  • An npm publish workflow exists and runs only after the GitHub release step succeeds.
  • The npm publish job uses the NPM_TOKEN secret from GitHub Actions.
  • The workflow design clearly demonstrates that published artifacts are generated from the repository source in CI.
  • Documentation is added describing how releases are cut and how trust/transparency are maintained.

Implementation notes

Potential implementation details to consider:

  • use GitHub Releases as the gate for npm publication;
  • ensure package versioning is driven by Release Please;
  • consider npm provenance / trusted publishing support if compatible with the repository and package setup;
  • document the exact workflow chain so maintainers and users can audit the process.

Reference

Sibling project to mirror/adapt:

Comments on the Issue (you are @claude[agent] in this section)

@Claude Claude AI linked an issue Jul 10, 2026 that may be closed by this pull request
@Claude
Claude AI requested a review from Primajin July 10, 2026 06:25
@Primajin
Primajin marked this pull request as ready for review July 10, 2026 13:32
Copilot AI review requested due to automatic review settings July 10, 2026 13:32
@Primajin
Primajin force-pushed the claude/setup-release-automation-for-gyros branch from f85b51e to f9ccbc5 Compare July 10, 2026 13:32
@Primajin
Primajin temporarily deployed to pr-preview/pr-36 July 10, 2026 13:32 — with GitHub Actions Inactive
@Primajin Primajin changed the title [WIP] Set up secure npm release automation for Gyros chore: set up secure npm release automation for Gyros Jul 10, 2026
@github-actions

github-actions Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1

QR code for preview link

🚀 View preview at
https://Primajin.github.io/Gyros/pr-preview/pr-36/

Built to branch gh-pages at 2026-07-10 14:01 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

@github-actions github-actions Bot changed the title chore: set up secure npm release automation for Gyros feat: set up secure npm release automation for Gyros Jul 10, 2026
@github-actions

Copy link
Copy Markdown
Contributor

@github-actions

Copy link
Copy Markdown
Contributor

Console Logs

✅ No logs were captured

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR sets up an automated, auditable release pipeline for Gyros using Release Please and a GitHub Actions–driven npm publish workflow, and updates the package to publish under the @primajin scope.

Changes:

  • Configure Release Please (config + manifest) and add a Release Please workflow on main.
  • Add an npm publish workflow triggered by GitHub Release publication, publishing @primajin/gyros with provenance.
  • Add Conventional Commits contributor documentation and a PR title lint/sync workflow.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
release-please-config.json Defines Release Please behavior for a Node package and changelog section mapping.
.release-please-manifest.json Seeds Release Please manifest version tracking for the root package.
.github/workflows/release-please.yml Adds automation to open/update release PRs and create GitHub Releases/tags.
.github/workflows/npm-publish.yml Publishes the package to npm on release publication, building from CI and using provenance.
.github/workflows/lint-pr-title.yml Enforces Conventional Commit–style PR titles and attempts to sync title bump level to commits.
package.json Switches the npm package name to the scoped @primajin/gyros.
CONTRIBUTING.md Documents commit conventions, release flow, provenance, and the package naming decision.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/release-please.yml
Comment thread .github/workflows/lint-pr-title.yml
Comment thread CONTRIBUTING.md Outdated
Co-authored-by: Copilot Autofix powered by AI <[email protected]>
Co-authored-by: Jannis Hell <[email protected]>
@Primajin
Primajin temporarily deployed to pr-preview/pr-36 July 10, 2026 13:59 — with GitHub Actions Inactive
Comment thread CONTRIBUTING.md
@github-actions

Copy link
Copy Markdown
Contributor

@Primajin
Primajin enabled auto-merge (squash) July 10, 2026 14:03
@github-actions

Copy link
Copy Markdown
Contributor

@Primajin
Primajin disabled auto-merge July 10, 2026 14:04
@Primajin
Primajin merged commit fdfc1e3 into main Jul 10, 2026
10 checks passed
@Primajin
Primajin deleted the claude/setup-release-automation-for-gyros branch July 10, 2026 14:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Set up secure, transparent npm release automation for Gyros

3 participants