Skip to content

merge queue: checking main (e241ea7), #12409 and #12397 together - #12414

Closed
mergify[bot] wants to merge 5 commits into
mainfrom
mergify/merge-queue/5ce865d8f7
Closed

merge queue: checking main (e241ea7), #12409 and #12397 together#12414
mergify[bot] wants to merge 5 commits into
mainfrom
mergify/merge-queue/5ce865d8f7

Conversation

@mergify

@mergify mergify Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

🎉 This pull request has been checked successfully and will be merged soon. 🎉

Branch main (e241ea7), #12409 and #12397 are queued together for merge.

This pull request has been created by Mergify to speculatively check the mergeability of #12397.
You don't need to do anything. Mergify will close this pull request automatically when it is complete.

Required conditions of queue rule default for merge:

Required conditions to stay in the queue:

---
checking_base_sha: c68ff3c8fefeb7eb193d1f8c9881490c373731f4
previous_check_retries: []
previous_failed_batches: []
pull_requests:
  - number: 12397
    scopes: []
scopes: []
...

sileht and others added 5 commits August 15, 2026 22:18
The OpenAPI spec renamed the `eventlogs` tag to `activity_log` in a schema
sync, following the product rename of Event Logs to the Activity Log. Every
`/api/*` page is generated from those tags by `src/pages/api/[tag].astro`, so
the rename deleted `/api/eventlogs` and created `/api/activity-log`. The
sidebar entry was never updated, and it renders on every page of the site: a
404 reachable in one click from 225 pages.

Point the entry at `/api/activity-log` and rename it to match the product.
Redirect the old URL, which has been live long enough to be indexed and
bookmarked.

`TAG_LABELS` / `TAG_DESCRIPTIONS` are keyed by spec tag, so the rename also
orphaned the curated copy for this section — the generated page silently fell
back to `humanizeTag` plus a generated sentence. Rekey both entries to
`activity_log` rather than deleting them, and widen the description: the
Activity Log is a timeline of every Mergify event for a repository, not just
pull request activity.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Change-Id: I400be77552128bab6a8965b4b8bb5dae322f6802
`check:links` passed `--skip 'https?://'` to drop off-site links. linkinator
applies skip rules to the absolute URL of everything it fetches, and when it
is pointed at a directory it serves the build over HTTP and crawls it — so
that unanchored rule matched its own crawl root. The command exited 0 having
scanned zero links, and had been doing so on every pull request: the sidebar
link to the deleted `/api/eventlogs` page shipped through a green link check
that never requested a single URL.

Anchor the rule and exclude the local server. Both of its hostnames have to
be excluded, not just one: linkinator binds to `127.0.0.1` but builds its
trailing-slash redirects against `localhost`, so covering only the bind
address still skips nearly every page at the redirect hop.

The check now crawls 1355 links. It finds no pre-existing breakage — with the
previous commit in place the site is clean — and it fails on a reintroduced
`/api/eventlogs`.

Three supporting changes:

- Move the settings into `linkinator.config.mjs`. The `.json` linkinator loads
  by default was already dead (CLI flags replace config wholesale, so its
  `skip` list, `^/api` included, never applied). `.mjs` also lets the rule
  carry the comment explaining the trap and be asserted in a unit test — the
  failure mode here is a check that silently stops checking, which no amount
  of green CI would reveal.
- Crawl `/enterprise/` as a second entry point. Nothing outside that section
  links into it — it renders its own nav tree and is filtered out of the
  sitemap — so recursing from `/` alone reaches none of its eight pages and a
  broken link there would pass forever.
- Lower the concurrency and enable `retryErrors`. Now that pages are actually
  fetched, linkinator's own static server drops an occasional connection,
  surfacing as a status-0 failure on a different file each run. `retryErrors`
  covers status 0, 5xx and 429 only — a 404 is never retried, so this costs
  nothing in strictness. Its count and jitter are left on the built-in
  defaults on purpose: meow declares defaults for both, so a value set in the
  config file would be silently overridden — the same class of dead config as
  the `.json` this replaces.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Change-Id: I8f9a56dc53b23c7a340b51b471c734298600fd7d
@mergify
mergify Bot deployed to Mergify Merge Protections August 17, 2026 13:32 Active
@mergify mergify Bot closed this Aug 17, 2026
@mergify
mergify Bot deleted the mergify/merge-queue/5ce865d8f7 branch August 17, 2026 13:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants