Skip to content

ci(release): switch to OIDC trusted publishing and enforce conventional commit pipeline - #9

Merged
lemyskaman merged 3 commits into
mainfrom
feat/publish-to-npm
Jun 19, 2026
Merged

lemyskaman merged 3 commits into
mainfrom
feat/publish-to-npm

Conversation

@lemyskaman

Copy link
Copy Markdown
Member

Summary

Bundles three changes that were previously pushed directly to main — now going through the proper PR flow.

Changes included

Commit Description
ci(release) Remove NPM_TOKEN from workflow; authenticate exclusively via npm OIDC trusted publishing
docs(ci-cd) Complete rewrite of docs/ci-cd-release-automation.md with all setup steps, commands, and settings
docs(ci-cd) Document merge strategy enforcement and the PR-title → semver bump chain

Why this PR exists

The three commits above were made with an admin bypass directly to main while the pipeline was being debugged. Now that the pipeline is stable, they are being retroactively brought through the correct workflow as a baseline for the enforce_admins: true rule that will be applied once this PR is merged.

After this PR merges

  • main will be fully locked: no direct pushes, no force pushes, not even for admins.
  • All future changes must come through a PR with a passing conventional-commits title check and CI.

Trusted publisher configured on npmjs.com:
- Publisher: GitHub Actions
- Repository: kamansoft/vite-plugin-flatwave-react
- Workflow: release.yml
- Permission: npm publish

Publishing access on npmjs.com set to 'disallow tokens' (most restrictive).
No long-lived NPM_TOKEN secret needed — OIDC handles auth automatically.
… details

- Accurate current state: OIDC trusted publishing is active, NPM_TOKEN removed
- Complete npmjs.com settings: trusted publisher form values, publishing access
- Complete GitHub settings: branch protection rules with correct check names,
  secrets status (NPM_TOKEN can be deleted)
- All commands executed during setup with explanations
- Orphaned tag cleanup procedure documented
- Expanded troubleshooting: stale pending checks, orphaned tags, self-hosted
  runner limitation, manual workflow trigger
…ion chain

- Add end-to-end diagram showing how PR title gates the semver bump
- Document squash-only merge enforcement (allow_merge_commit: false,
  allow_rebase_merge: false) and why it is critical
- Document squash_merge_commit_title: PR_TITLE setting that locks the
  commit message to the validated PR title
- Add gh CLI command to apply merge strategy settings
- Add comparison table (before/after) for all changed merge settings
@lemyskaman
lemyskaman merged commit 5c5d8bf into main Jun 19, 2026
6 checks passed
@lemyskaman
lemyskaman deleted the feat/publish-to-npm branch June 19, 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.

1 participant