Skip to content

feat: prepare v1 for CLI 5, and stay on CLI 4 (v1.7) - #82

Draft
hawkeyexl wants to merge 4 commits into
mainfrom
claude/action-v1.7
Draft

hawkeyexl wants to merge 4 commits into
mainfrom
claude/action-v1.7

Conversation

@hawkeyexl

Copy link
Copy Markdown
Contributor

Summary

The last planned v1 release. It keeps the floating v1 tag on CLI 4, and it stops a non-zero exit from losing results. Closes #80.

  • Exit handling: runs with ignoreReturnCode, deletes any stale output file first, and still loads results. The results, issue, and PR steps now run before a non-zero exit fails the job. A missing results file still fails the job right away.
  • exit_on_fail: true keeps failing through setFailed. The action.yml default is gone, so empty means false, with a core.notice that v2 defaults it to true.
  • version: defaults to 4. It refuses latest, and any version or range that can install 5 or later, such as 5, ^5, >=4, *, and 4 || 5, with a pointer to @v2. Empty still means the locally linked CLI.
  • $RESULTS: cut to fit GitHub's 65,536-character limit, with a link to the run. Tokens now fill in one pass, so $PROMPT or $& inside the results stays literal and can't grow the body after it's measured.
  • Diagnostics: crash messages now include stderr, since CLI 5 logs there.
  • Dispatch workflows: main.yml and test-current-release.yml defaulted version to latest, which would now be refused, so they default to 4.

Decisions to check

  • Other dist-tags, like next, get a warning instead of a refusal, because the Action can't tell what they install without a registry call. Tags that read as a version, like v5-rc, are refused.
  • The range check is hand-written, to avoid adding semver for one release. v2 deletes it. A bound like <5.0.0-rc.1 refuses, which errs safe.

Skipped

Testing

  • npm test: 36 pass, 0 fail. npm run typecheck passes, and dist/ is rebuilt.
  • Ran the built dist/index.js on Windows with a stub npx, covering exit 0, 1, and 2 with exit_on_fail true, false, and unset, with and without failed specs, a stale output file, and refused versions. Each case gave the expected job result and results output.
  • Not run: the Actions workflows on hosted runners, or a real issue or PR creation.

🤖 Generated with Claude Code

Make v1.7 the last v1 release, so the floating v1 tag can't cross into CLI 5.

- Run the CLI with ignoreReturnCode, delete any stale output file first, and
  still load results. A missing results file still fails the job. A non-zero
  exit still fails it too, now after the results, issue, and PR steps.
- Include stderr in crash diagnostics, since CLI 5 logs there.
- Default version to 4. Refuse latest, and any version or range that can
  install 5 or later, with a pointer to @v2. Empty still means the local CLI.
- Cap $RESULTS to fit GitHub's issue body limit, and link to the run. Fill
  issue tokens in one pass, so text inside the results stays literal.
- Remove the exit_on_fail default. Empty means false, with a notice that v2
  defaults it to true.

Closes #80

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Nov 4, 2026 •

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

hawkeyexl and others added 2 commits November 7, 2026 04:06
The deprecated `ios` input description and the WDA cache retirement
notice linked to doc-detective.com/docs/..., which redirects to the docs
home and loses the anchor. Point both at docs.doc-detective.com.

The `create_pr_on_change` and `create_issue_on_fail` descriptions said
they were only valid for the "runTests" command, but the action has no
`command` input.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The README documented a `command` input (`runTests`/`runCoverage`) that
action.yml never declared, and qualified two inputs with "Only valid if
`command` is `runTests`". Remove both.

Also make the `issue_body` default match action.yml, including the
`$RUN_URL` token, and name the `record` step instead of the old
`startRecording` action.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
docs: remove the command input from the v1 README

This branch has not been deployed

No deployments
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.

create_issue_on_fail fails when $RESULTS pushes issue_body over GitHub's 65536-character limit

1 participant