Skip to content

feat: v0.3 ergonomics — --latest, release-notes, Action PR mode - #1

Merged
Blackman99 merged 1 commit into
mainfrom
feat/v0.3-ergonomics
Oct 19, 2026
Merged

Blackman99 merged 1 commit into
mainfrom
feat/v0.3-ergonomics

Conversation

@Blackman99

Copy link
Copy Markdown
Owner

Summary

Implements the full v0.3 — ergonomics milestone:

  1. --latest (Action input latest): suggest the newest release already on the target Node; default stays the smallest major jump.
  2. Release-notes links: each suggested bump gets a release_notes URL (https://github.com/{owner}/{repo}/releases/tag/{tag}) in text / md / json.
  3. Action PR mode: create-pr (+ pr-branch / pr-title) runs --fix and opens or updates a PR when there is a diff (no PR if empty). Documents contents:write + pull-requests:write.

Version bumped to 0.3.0 (changelog, roadmap marked shipped, .github/release-notes/v0.3.0.md drafted). No git tag / GitHub release in this PR — awaits user approval after merge.

Test plan

  • pytest -q (18 passed locally)
  • ruff check src tests pr_body.py --select F,E9
  • mkdocs build --strict
  • CI green on this PR

- CLI/Action --latest prefers the newest node24-capable release; default
  remains the smallest major jump
- Findings with a suggestion include release_notes (GitHub releases URL)
  in text, Markdown, and JSON
- Action create-pr (+ pr-branch/pr-title) applies --fix and opens or
  updates a PR when there is a diff
- Bump version to 0.3.0; changelog, roadmap, release notes drafted
  (tag/release not published)
@changeset-bot

changeset-bot Bot commented Oct 19, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 1b1e50b

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@Blackman99
Blackman99 merged commit 785caf3 into main Oct 19, 2026
10 checks passed
@Blackman99
Blackman99 deleted the feat/v0.3-ergonomics branch October 19, 2026 02:37
@Blackman99 Blackman99 added enhancement New feature or request documentation Improvements or additions to documentation labels Oct 19, 2026
@Blackman99

Copy link
Copy Markdown
Owner Author

In scope for GOAL.md and it completes the v0.3 ergonomics milestone in ROADMAP.md: --latest, release-notes links and the Action PR mode all serve "apply that change safely". Tests cover the resolver, CLI and PR-body helper. Nice work.

One thing to fix before merge:

  • create-pr can't update an existing PR branch on later runs. actions/checkout only fetches the triggering ref, so there's no origin/actnode/node-runtime tracking ref on the runner. git push --force-with-lease with no tracking ref expects the remote branch not to exist, so the second scheduled run gets rejected (stale info) and the "Updated PR #N" path is never reached. Fetching the branch first fixes it:
    git fetch --no-tags --depth=1 origin "+refs/heads/${branch}:refs/remotes/origin/${branch}" 2>/dev/null || true
    right before the push.

Small notes, not blocking:

  • With create-pr: true and the default fail: true, the job still exits 1 after opening the PR. The docs example sets fail: false, which is the right call; maybe say so in the create-pr input description too.
  • pr_body.py at the repo root works through github.action_path, but it isn't in the wheel. That's fine as long as it's only used by the Action.

I'll merge once that's fixed and CI is green. No tag or release in this PR, as the description says.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant