Skip to content

misc(ci): add weekly ARD conformance script sync check - #17171

Merged
TravenReese merged 1 commit into
zizmor-workflow-fixesfrom
ard-conformance-sync
Aug 31, 2026
Merged

TravenReese merged 1 commit into
zizmor-workflow-fixesfrom
ard-conformance-sync

Conversation

@TravenReese

@TravenReese TravenReese commented Aug 10, 2026 •

Copy link
Copy Markdown
Collaborator

Adds automated weekly CI monitoring and an update helper script to keep Lighthouse's Agentic Resource Discovery (ARD) schema and conformance validator in sync with upstream ards-project/ard-spec.

@TravenReese
TravenReese requested a review from a team as a code owner August 10, 2026 17:59
@TravenReese
TravenReese requested review from paulirish and removed request for a team August 10, 2026 17:59
@TravenReese
TravenReese marked this pull request as draft August 10, 2026 18:00
Comment thread .github/workflows/cron-weekly.yml Fixed
@paulirish

Copy link
Copy Markdown
Member

minor: doesnt seem like this is "weekly" ... its just part of the update-deps flow.

@TravenReese TravenReese changed the title misc(ci): add weekly ARD conformance sync check misc(ci): integrate ARD schema sync into update-deps Aug 20, 2026
@connorjclark

connorjclark commented Aug 20, 2026 •

Copy link
Copy Markdown
Collaborator

Stacked PRs are new to GitHub. I don't know if merging the stack will take the PR's title over the commit message. So: please rewrite the incorrect commit message to match the title.

It's also not related to ci. I'll update with the expected message.

Comment thread core/scripts/update-ard-spec.js Outdated
Comment thread core/scripts/update-ard-spec.js Outdated

@lusayaa lusayaa left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm wondering if it makes sense to include this as part of its own weekly workflow instead of inside upgrade-deps.sh.

The main reason we need to regularly check the ARD repo is to stay in sync with the ai catalog schema and conformance tests so that we can get notified to update things accordingly on our end. Since updating the JS conformance validator is a manual port from Python, it requires human attention.

As is, the script will just print a diff to the terminal that gets lost in upgrade-deps logs, not really alert anyone that we need to update something. It silently updates the schema and bumps the pinned SHA in README.md without verifying if ard.js needs code changes.

Ideally, the flow goes something like

  • weekly cron run: If schema/conformance test changes in ARD repo compared to our pinned SHA -> CI check fails (or opens an issue/alerts us). If nothing changed -> green, nothing happens.
  • when alerted: engineer runs yarn update:ard-spec to update the spec, reviews the diff, follows specific instructions on how to update ard.js and tests to match, and bumps the pinned SHA

Open to other approaches too, as long as we do get an actionable notification.

@TravenReese

Copy link
Copy Markdown
Collaborator Author

I'm wondering if it makes sense to include this as part of its own weekly workflow instead of inside upgrade-deps.sh.

The main reason we need to regularly check the ARD repo is to stay in sync with the ai catalog schema and conformance tests so that we can get notified to update things accordingly on our end. Since updating the JS conformance validator is a manual port from Python, it requires human attention.

As is, the script will just print a diff to the terminal that gets lost in upgrade-deps logs, not really alert anyone that we need to update something. It silently updates the schema and bumps the pinned SHA in README.md without verifying if ard.js needs code changes.

Ideally, the flow goes something like

  • weekly cron run: If schema/conformance test changes in ARD repo compared to our pinned SHA -> CI check fails (or opens an issue/alerts us). If nothing changed -> green, nothing happens.
  • when alerted: engineer runs yarn update:ard-spec to update the spec, reviews the diff, follows specific instructions on how to update ard.js and tests to match, and bumps the pinned SHA

Open to other approaches too, as long as we do get an actionable notification.

Having a weekly cron check was actually my initial thought for this PR, so I agree with that path.

We can remove this from upgrade-deps.sh and add an up-to-date-with-ard-spec job to cron-weekly.yml that runs something like update-ard-spec.js --check that would fail whenever upstream is ahead of our pinned SHA.

When alerted, we can just run yarn update:ard-spec, which will download the latest schema, bump the pinned SHA, print the upstream conformance-test diff in the terminal, and then update ard.js in the third-party/.

What do you think about the workflow?

Comment thread .github/workflows/cron-weekly.yml Fixed
@connorjclark

connorjclark commented Aug 28, 2026 •

Copy link
Copy Markdown
Collaborator

The PR description doesn't match what the PR does anymore. Please make sure the first comment is always accurate.

I wouldn't remove the update-deps part. That's what is sure to get seen every release cycle. Doing a weekly cron is nice in theory but it's something we can forget to look at.

Comment thread core/scripts/update-ard-spec.js

This branch was successfully deployed

1 active deployment
Preview — b5e20fd3 Deployed Aug 31, 2026 by vercel[bot]
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.

5 participants