Skip to content

Stop the checkout from overriding the App it was meant to measure (T-1502) - #741

Merged
MongLong0214 merged 1 commit into
mainfrom
t1502-fix-checkout-creds
Aug 17, 2026
Merged

Stop the checkout from overriding the App it was meant to measure (T-1502)#741
MongLong0214 merged 1 commit into
mainfrom
t1502-fix-checkout-creds

Conversation

@MongLong0214

Copy link
Copy Markdown
Owner

The first measurement run failed before measuring anything:

remote: Permission to MongLong0214/commitlore.git denied to github-actions[bot]

It was carrying a valid App token at the time. actions/checkout defaults to persist-credentials: true, leaving an http.<url>.extraheader with the Actions token — and that header beats credentials embedded in a push URL. The push went out as github-actions[bot], was refused, and the run measured its own wiring instead of the question.

This is exactly the branch the actor capture was added for one commit earlier. It arrived before that capture could run, because the failure landed at the push rather than at the pull request. So the same correction moves one step earlier: after pushing, read back who the server says committed it.

What the failed run did establish

app-installation-token: installation 154501414, expires 2026-08-18T00:00:31Z

The App is installed on this repository and the token path works end to end. That was an open item on the owner's list — it cannot be checked from a user token, which is why it was there. A failed run answered it.

Still unmeasured

Whether an App-opened pull request runs the checks. That is the whole point of the workflow and it has not happened yet.

The first run failed before it could measure anything:

    remote: Permission to MongLong0214/commitlore.git denied to github-actions[bot]

It was carrying a valid App token at the time. `actions/checkout` defaults to `persist-credentials: true`, which leaves an `http.<url>.extraheader` holding the Actions token, and that header beats credentials embedded in a push URL. So the push went out as `github-actions[bot]` and was refused, and the run measured its own wiring instead of the question.

That is the branch the actor capture was added for one commit earlier, arriving before the capture could run -- the failure landed at the push rather than at the pull request. So the same correction goes one step earlier: after pushing, read back who the server says committed it, before opening anything on top.

The run did establish one thing that was open: the App is installed on this repository, and the token path works end to end. `app-installation-token: installation 154501414` is the first evidence of that -- it could not be checked from a user token, which is why it was on the owner's list.

Limit: this fixes the push identity; whether an App-opened pull request runs the checks is still unmeasured, which is the whole point of the workflow
Blast: local
Undo: easy
Certainty: firm
Record-Id: r-persistcreds1502
Provenance: authored
Verified: the failing run's log shows the mint step succeeding with an installation id and the push step refused for `github-actions[bot]`, which is the two facts together -- a good token and the wrong identity; the workflow parses with the option set
CommitLore-Version: 2.0.0
@github-actions

Copy link
Copy Markdown

CommitLore — record lint

Trailers: clean — 1 commit in origin/main..0711d8cc6a63ac2c0c68452a7b0373e12712019e
Active constraints: not read — commitlore: the index is incomplete: the build stopped after its time budget with 837 commit(s) or note(s) unread — records in them are missing from this answer. fix: commitlore init (or commitlore index) to finish the index (1 changed path)

Trailer violations fail this check. Active constraints are informational — they are what the repository already decided, not a verdict on this PR.

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