Repository navigation
ci: remove obsolete documentation deployments - #1
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 598e48aa35
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| items = request_json( | ||
| self.prefix + "/pulls?" + query, self.token, github=True | ||
| ) |
There was a problem hiding this comment.
Revalidate each aliased PR without mutable pagination
When there are more than 100 open PRs and a PR from an already-read page closes during pagination, GitHub's page-number pagination shifts a later PR onto the previous page, so the next request skips it and this function returns an incomplete set as authoritative. sweep() then treats that still-open PR as closed and may force-delete its serving preview; the refresh before deletion calls the same pagination routine. Query the candidate PR directly before deleting its alias, or otherwise make omission during pagination fail closed.
Useful? React with 👍 / 👎.
Intent
Keep the active documentation deployments without retaining historical sites or previews of closed pull requests.
Changes
Add a trusted, fixed-project cleanup workflow that keeps canonical production, currently serving open-PR aliases, and in-progress deployments. It removes superseded production and preview deployments, closed-PR previews, and legacy branch previews. The Worker can request a sweep after publication or PR closure; a ten-minute schedule recovers missed requests.
Cleanup independently resolves complete Cloudflare and GitHub state, refreshes candidates before deletion, and refuses incomplete metadata or ambiguous identities. Its workflow runs separately from publication, so cleanup failures do not change a verified publishing result. Current publishing validation and the operational production snapshot remain unchanged.
Validation
python -B -m unittest discover -s testsactionlint -no-color .github/workflows/publish.yml .github/workflows/ci.yml .github/workflows/cleanup.ymlzizmor --no-progress --format plain .github/workflowsgit diff --checkNotes
Live Cloudflare pagination and retention qualification follows activation. Historical deployments removed by the sweep will no longer be available for rollback. The two providers do not expose an atomic cross-service state check; concurrent changes can defer cleanup to a later sweep. No reviewers were requested.