Skip to content

chore(release): simplify workflow — bump-level dispatch, drop testpypi/preflight/smoke - #55

Merged
antosubash merged 2 commits into
mainfrom
feature/adoring-turing-734201
Apr 22, 2026
Merged

antosubash merged 2 commits into
mainfrom
feature/adoring-turing-734201

Conversation

@antosubash

Copy link
Copy Markdown
Owner

Summary

  • Replace the release workflow's version + target inputs with a bump choice (patch / minor / major, default patch) plus an optional version override. A new resolve job computes the next version from framework/core/pyproject.toml and shares it with every downstream job.
  • Delete the preflight job, both smoke jobs, and every testpypi code path (input option, environment, conditional gates, repository-url conditional).
  • Stop running pr.yml on pushes to main — the preflight gate was its only consumer, so push runs were pure waste.
  • Harden publish-npm: verify the tarball's package.json is scoped to @simple-module-py/<matrix.package> before publishing, and prefix the path with ./ so npm doesn't parse dist-npm/simple-module-py-ui-0.0.1.tgz as a GitHub user/repo shorthand (root cause of the recent publish failure).
  • Rewrite docs/release.md to match the new flow.

Why

The TestPyPI rehearsal, preflight gating, and post-release smoke were all optional safety nets that rarely caught anything and made the dispatch UI noisy. The bump-level dispatch matches how I actually pick versions; keeping an explicit override preserves the escape hatch for prereleases. The npm guard fixes a real failure from the last release attempt.

Test plan

  • Dispatch manually with default inputs (bump: patch, no version) once merged and verify resolve picks the expected next version
  • Dispatch with an explicit version (e.g. prerelease tag) and confirm the override path
  • Confirm publish-npm matrix no longer triggers the ssh://git@github.com/dist-npm/... error

…i/preflight/smoke

- Replace `version` + `target` inputs with a `bump` choice (patch/minor/major,
  default patch) and an optional `version` override. A new `resolve` job
  computes the next version from framework/core/pyproject.toml and shares it
  with downstream jobs.
- Remove the preflight job (version validation now happens in `resolve`; the
  pr.yml gating was the last consumer of `actions: read`).
- Remove the post-release smoke job and the testpypi-only smoke-testpypi job.
- Drop testpypi entirely: the target input, its environment, the conditional
  publish-npm gate, and the repository-url conditional on pypa-publish.
- Stop running pr.yml on push to main (it only triggered so the old preflight
  could read its conclusion).
- Harden npm publish: verify the tarball's package.json names
  @simple-module-py/<matrix.package> before publishing, and prefix the path
  with `./` so npm doesn't parse it as a GitHub user/repo shorthand.
- Update docs/release.md to match.
@antosubash
antosubash merged commit 716b542 into main Apr 22, 2026
10 checks passed
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