Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[quality] Refresh metrics workflow aborts on an oversized upstream member logo: /events shows stale KubeCon rooms

Open
#1,980 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
github-actions, javascript
Domain
ci-cd, devops

Research direction

Read .github/workflows/refresh-metrics.yml and the recommendation in this issue to identify the member collection, validation, and generation steps and how the scheduled lane opens pull requests. Separate member refresh into its own scheduled lane, add the explicit architecture asset validation step after generate:members, and verify the other datasets can refresh independently when member validation fails. The issue notes that edits under .github/workflows/** require a contributor with workflows permission.

Written by the indexing model from the issue text.

Description

agent/quality bug ci stage/010-actionable

Finding

The weekly Refresh metrics lane (.github/workflows/refresh-metrics.yml,
cron: '17 3 * * 2') failed on its last scheduled run and opened no pull
request, so none of the four datasets it refreshes have been updated since
2026-10-24 (the metrics, member-directory, case-study and end user talk data):

Every collector step succeeded. The job died at npm run test:unit, in
tests/validators-smoke.test.mjs ("validate-architecture-assets.mjs passes
against current repo data"):

1 error(s) in architecture assets:
  [error] static/img/end-user-members/fe60e14655aad3a6-subaru.svg: asset exceeds 2 MB limit (2.21 MB)

collect:enduser-members had mirrored a new upstream Subaru logo (the
landscape entry moved from fe60e14655aad3a6-subaru.png to a 2.21 MB .svg),
and the 2 MB publish limit in scripts/lib/validate-architecture-assets.mjs
is an error for member logos by design ("The automated member refresh must
fail instead of shipping warnings"). That gate did its job; the problem is that
it aborts the whole lane, so the metrics, member-directory, case-study and
data/end-user-talks.json refreshes were all held back by a single oversized
third-party logo.

What an end user sees today

/events renders data/end-user-talks.json, which is now behind the official
Sessionize feed. Re-running npm run collect:end-user-talks against the live
API today (2026-10-29) produces four corrections — three of them room
assignments, eleven days before KubeCon + CloudNativeCon NA 2026:

Session Field Site shows Upstream now
Kubernetes Secrets Were a Bad Idea. Now What? (1247134) room Hyatt Regency | Level 4 | Regency Ballroom B-D Hyatt Regency | Level 4 | Regency Ballroom CD
Allocating Kubernetes Idle Per-Instance (1250015) room Hyatt Regency | Level 4 | Regency Ballroom B-D Hyatt Regency | Level 4 | Regency Ballroom CD
When Agents Talk to Agents (1250936) room Hyatt Regency | Level 4 | Regency Ballroom B-D Hyatt Regency | Level 4 | Regency Ballroom CD
BurritoBot Said Let's Dance, the Platform Said No (1249553) speakers Michael Forrester, Whitney Lee Michael Rishi Forrester, Whitney Lee

The talk set is otherwise unchanged (83 talks, none added or removed), and
npm run validate:end-user-talks passes on the refreshed file. The page's own
"Verified" line still reads October 24, 2026, so a reader has no way to tell
the room labels are stale.

Recommendation

  • Re-run Refresh metrics (workflow_dispatch) and merge the pull
    request it opens, so the four datasets — including the corrected room
    labels — land before the conference. The oversized logo no longer
    reproduces: npm run collect:enduser-members on main today reports "No
    end user member changes detected", and npm run validate:architecture-assets
    is clean (186 assets, one pre-existing foreignObject warning).
  • Stop one dataset's gate from blocking the other three. The member
    collection (collect:enduser-members, validate:enduser-members,
    generate:members) is the only step pair that mirrors third-party binary
    assets, and it is the only one that can fail on upstream content the
    repository does not control. Moving it to its own scheduled lane, with
    its own automation/refresh-members branch and pull request, leaves the
    metrics, case-study and talk-schedule refreshes unaffected when an
    upstream logo breaks the publish limit. The 2 MB gate itself should stay
    an error — that is the decision recorded in
    scripts/lib/validate-architecture-assets.mjs.
  • While the lane is being touched, add an explicit
    - run: npm run validate:architecture-assets step after
    generate:members. Today the breach only surfaces indirectly, through
    the validators smoke test, where the failure reads as a unit-test failure
    rather than "the logo this lane just mirrored is too big".

Both of the last two items edit .github/workflows/refresh-metrics.yml. A
GitHub App at the contributor tier cannot push a diff that touches
.github/workflows/**, so this issue carries no pull request: the change needs
a human (or an agent with the workflows permission) to land. Nothing in the fix
lives outside that file.

Priority

  • Impact: medium — wrong room labels on /events for three sessions, eleven
    days before the event; three further datasets silently frozen.
  • Effort: low.

🐝 Hive Agent: quality | Instance: hosted-available-lke648397-260827-5n31 | SHA: e7ac6e8

— hive: agent=quality backend=copilot model=claude-opus-5 copilot=1.0.88

Dominant language
JavaScript
Stars
0
Forks
3
Avg merge
7h 15m
Merged PRs (30d)
565

Getting set up

Open in Codespaces

Starts the project's dev container in your browser, under your own GitHub account.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from cncf/endusers

All issues in cncf/endusers

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.