shuke987 opened a new pull request, #67635:
URL: https://github.com/apache/doris/pull/67635
### What problem does this PR solve?
Issue Number: N/A
Problem Summary: A review that fails with `refresh_token_reused` leaves its
credentials eligible because the runner only records usage limits. Later
reviews can repeatedly select the same unusable credentials.
Record explicit reuse failures in a separate OSS object keyed by the
selected refresh token's SHA-256, then check that marker before selecting a
downloaded auth snapshot. A replacement refresh token restores eligibility;
metadata-only changes do not. Separate objects keep late failures and
usage-context writes from overwriting another token's quarantine state. Marker
read/write failures are surfaced explicitly.
The marker applies to the selected token version. Runs that already selected
credentials before the marker was written can still fail. This does not add
credential leasing or change auth writeback.
### Release note
None
### Check List (For Author)
- Test
- [x] Unit Test: `python3 -m unittest discover -s .github/scripts -p
'test_*.py'` — 90 passed, including 18 new tests executing the actual workflow
shell with fake OSS, Codex and GitHub.
- [x] Manual test: YAML parsing, `bash -n` for all 22 workflow shell
blocks, and `git diff --check` passed.
- No live credentials, OSS writes or model calls were used in validation.
- Behavior changed:
- [x] Yes. Future selections skip credential versions recorded for
refresh-token reuse. Replacing the refresh token restores eligibility, subject
to existing usage cooldowns.
- Does this need documentation?
- [x] No. Internal CI behavior and recovery are documented in workflow
comments and failure messages.
### Check List (For Reviewer who merge this PR)
- [ ] Confirm the release note
- [ ] Confirm test cases
- [ ] Confirm document
- [ ] Add branch pick label
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]