Skip to content

Add fixture metadata triage workflow#5653

Merged
FloEdelmann merged 10 commits intomasterfrom
feature/fixture-metadata-triage
Apr 27, 2026
Merged

Add fixture metadata triage workflow#5653
FloEdelmann merged 10 commits intomasterfrom
feature/fixture-metadata-triage

Conversation

@luc122c
Copy link
Copy Markdown
Contributor

@luc122c luc122c commented Apr 19, 2026

Summary

Adds a daily GitHub Agentic Workflow to triage PRs with new-fixture and via-editor labels, checking for missing required metadata in fixture JSON files.

What it does

  1. Finds open PRs with both new-fixture AND via-editor labels
  2. Excludes PRs already labelled incomplete
  3. For each PR, gets list of changed JSON files
  4. Identifies fixture files by checking for "$schema": ".../schemas/fixture.json"
  5. Validates that links.manual OR links.productPage exists
  6. Adds incomplete label and posts comment if both are missing

Schedule

Runs daily (can also be triggered manually)

Labels required

This workflow needs the following label to exist in the repository:

  • incomplete (already exists)
    Note: The workflow also supports a dry-run input when triggered manually - it will report what would be done without making changes.

@luc122c luc122c requested a review from FloEdelmann April 19, 2026 20:24
@luc122c luc122c marked this pull request as draft April 19, 2026 20:41
@luc122c luc122c marked this pull request as ready for review April 19, 2026 20:46
Copy link
Copy Markdown
Member

@FloEdelmann FloEdelmann left a comment

Choose a reason for hiding this comment

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

Good idea! If this works fine, we could try to introduce more validations (maybe using the fixture-valid test results) as automatic workflows.

Comment thread .github/workflows/fixture-metadata-triage.md
Comment thread .github/workflows/fixture-metadata-triage.md Outdated
Comment thread .gitattributes Outdated
Comment thread .github/workflows/fixture-metadata-triage.lock.yml
Comment thread .github/workflows/fixture-metadata-triage.md
Comment thread .github/workflows/fixture-metadata-triage.lock.yml
Comment thread .gitattributes Outdated
luc122c and others added 2 commits April 22, 2026 00:19
Co-authored-by: Flo Edelmann <git@flo-edelmann.de>
@luc122c luc122c requested a review from FloEdelmann April 22, 2026 16:27
Comment thread .github/workflows/fixture-metadata-triage.md
@FloEdelmann FloEdelmann enabled auto-merge (squash) April 27, 2026 19:13
Copy link
Copy Markdown
Member

@FloEdelmann FloEdelmann left a comment

Choose a reason for hiding this comment

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

@FloEdelmann FloEdelmann merged commit b36ef6c into master Apr 27, 2026
4 checks passed
@FloEdelmann FloEdelmann deleted the feature/fixture-metadata-triage branch April 27, 2026 19:19
@luc122c
Copy link
Copy Markdown
Contributor Author

luc122c commented Apr 27, 2026

@FloEdelmann It looks like the run failed because it needs a token setting. I had naively assumed it would be set automatically like GITHUB_TOKEN 🤦‍♂️
https://github.github.com/gh-aw/reference/engines/#github-copilot-default

@FloEdelmann
Copy link
Copy Markdown
Member

I set it now using gh aw secrets set COPILOT_GITHUB_TOKEN --value "github_pat_xxxxxxxx", see https://github.github.com/gh-aw/reference/auth/#copilot_github_token

@FloEdelmann
Copy link
Copy Markdown
Member

FloEdelmann commented Apr 27, 2026

@luc122c so the "dry-run" actually commented on one PR (#5657) and labeled some others, even if it shouldn't 😬

See its own output:

Triage Complete — Final Report

Run Summary:

Category Count
Total PRs found (new-fixture + via-editor) 100
Skipped (had existing reviews) 4
Skipped (already had incomplete label) 0
Total PRs checked 96
PRs valid (have manual or productPage) 74
PRs flagged (missing required metadata) 22

22 PRs flagged and labeled incomplete:

PR Fixture Reason
#5657 lantiss/cubergb Only other link
#5642 colorstage/delta-led-100w-beam-ring-100w No links
#5640 uking/1082 No links
#5639 pro-lights/slash No links
#5621 oxo/colorbeam-18-fcw Only video link
#5608 blenderdmx/beskydbeam Empty links {}
#5602 shehds/mini-wash-7x12w-rgbw No links
#5583 aolait/rgb-led-par-180w No links
#5581 aolit/rgb-led-par No links
#5560 jb-systems/challenger-wash No links
#5532 generic/eshiny-party-light-show-500mw-rgb-laser Only other link
#5517 varytec/typhoon-true-kid-720z Empty links
#5509 robe-lighting/ledforce-7-rgbw No links
#5505 brighter/profile-200 No links
#5489 blenderdmx/beskydbeam Empty links {}
#5437 ayra/flash-30-led-stroboscope No links
#5432 eurolite/led-tmh-s30 No links
#5427 chauvet-dj/eve-p-140-vw No links
#5421 botex/mpx-405 No links
#5420 varytec/led-theater-spot-250-mz-3200k No links
#5416 light4me/par-64-200w-led-zoom-auto Only video+other links
#5409 oxo/color-zoom180 Only video link
Actions taken:

So it sorta useful. It should ignore PRs with any link though (a video or forum post in other sometimes is enough).

But: Given that …

  • it can only view 100 PRs at a time,
  • only comment on one of them,
  • labels not all of the PRs it finds itself,
  • ignores the dry-run input,
  • and runs for 16 minutes for all of this,

… it sure sounds like this needs a lot of tweaking to be useful.

At least it seems to consume only one premium request, but that is bound to change soon, too.

@luc122c
Copy link
Copy Markdown
Contributor Author

luc122c commented Apr 27, 2026

Yes, I'm quite dissapointed with how that turned out! 🤣

I realised the 100 limitation, but thought that wouldn't matter too much once it had started clearing the backlog a bit. It's weird that it only commented on one. And it wasn't even related to the PR. I would have expected what it wrote to be in the report instead.

I think the dry-run input did work for the labels, I don't see the 'incomplete' label on any of those PR's. But yet it still commented. Hmm.

I'll open a PR to disable the 'daily' trigger so it's only manually triggered for now. Yes, it seems like it does need a lot more work for it to be useful.

I just seen this video that also discusses the changes to the GitHub Copilot pricing! It seems like they're essentially removing all the value from their offer.

@luc122c
Copy link
Copy Markdown
Contributor Author

luc122c commented Apr 27, 2026

Also, I don't know if this affected the AI's search but it's making it very difficult for me right now! https://www.githubstatus.com/incidents/ql942tw29yl6

@FloEdelmann
Copy link
Copy Markdown
Member

These ones were labeled as inomplete by the workflow:

From here on, the workflow failed to apply the label:

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.

2 participants