Skip to content

Releases: kenyonj/mark-ready-when-ready

v1.2.0

07 Apr 16:33

Choose a tag to compare

What's new

Private repo support (GitHub Free)

The action now works on private repos across all GitHub plans. On GitHub Free, gh pr checks fails because its internal GraphQL query accesses a restricted field (checkSuite.workflowRun). When this happens, the action automatically falls back to REST API polling — no configuration required.

New inputs

Input Default Description
polling-interval-seconds 10 Seconds between REST API polls when the fallback is active
polling-timeout-seconds 1800 Maximum seconds to wait for checks during fallback polling

How the fallback works

  1. gh pr checks --watch --required is tried first (better UX with streamed check names)
  2. If it fails with Resource not accessible by integration, the action switches to polling /commits/{sha}/check-runs and /commits/{sha}/status REST endpoints
  3. The trust-but-verify GraphQL step is unchanged — its query doesn't use the restricted fields

v1.1.3

16 Mar 16:35

Choose a tag to compare

What's Changed

  • Fixed permission validation: The contents: write check now uses a direct write test instead of the repo endpoint's .permissions field, which didn't reliably reflect GITHUB_TOKEN permissions when set at the workflow level.
  • Updated error messages: Permission error messages now reference both workflow and job level placement.

Full Changelog: v1.1.2...v1.1.3

v1.1.2

16 Mar 16:01

Choose a tag to compare

What's Changed

  • Permission validation: The action now validates token permissions (contents:write, pull-requests:write, checks:read, statuses:read) upfront and provides a clear, actionable error message with the exact permissions: block needed if any are missing.

Full Changelog: v1.1.1...v1.1.2

v1.1.1

16 Mar 14:31

Choose a tag to compare

Bug fix

  • Fix GraphQL verification for fork PRs — the verification step was querying the head repo (fork) for the PR number, which doesn't exist there. Now correctly queries the base repo where the PR lives.

v1.1.0

16 Mar 13:56

Choose a tag to compare

What's new

  • No more job-level if: required — the action now checks for the trigger label and draft status internally. Existing workflows with the if: still work (backwards compatible).
  • Graceful skip when no required checks are configured — instead of failing, the action exits with result=skipped.
  • Better error messages — clear guidance when contents: write is missing.

Migration

If you're on v1, just update your workflow to remove the job-level conditional — or leave it in place, both work:

jobs:
  mark-ready:
    runs-on: ubuntu-latest
    steps:
      - uses: kenyonj/mark-ready-when-ready@v1
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}