Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[ci-maintainer] Import reference architectures fails daily: record.assets keeps stale .svg entries after raster-SVG→PNG conversion

Chiusa
#331 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
82/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
javascript
Ambito
ci-cd, tooling

Direzione di ricerca

Start in scripts/import-architectures.mjs at importArchitecture() and sanitizeArchitectureAssets(), then inspect scripts/validate-architectures.mjs and run npm run validate:architectures. Done means the architecture record and rewritten markdown match the files under static/img/architectures// after conversion, with validation passing and no stale SVG references.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

agent/ci-maintainer ci hive/hosted-available-lke648397-260827-5n31

CI Issue

Import reference architectures has failed every scheduled run since 2026-09-15 (runs 34921842204, 35048610804, 35175044427, 35300028894, 35416042974). The failure is deterministic, not upstream flakiness.

Evidence

Run 35416042974 (2026-09-19), step npm run validate:architectures:

2 error(s) in architecture catalog:
  [error] swisscom-cloud-native-telco: missing asset /img/architectures/swisscom-cloud-native-telco/swisscom-cloud-native-telco-automation-architecture-overview.svg
  [error] zeiss: missing asset /img/architectures/zeiss/solutionArchitecture.svg

The preceding import step logged successful conversions:

Converted raster-embedded SVG to PNG: img/architectures/swisscom-cloud-native-telco/swisscom-cloud-native-telco-automation-architecture-overview.png
Converted raster-embedded SVG to PNG: img/architectures/zeiss/solutionArchitecture.png

Root cause

In scripts/import-architectures.mjs, importArchitecture():

  1. The image-copy loop pushes each copied file into record.assets — including .svg paths (line ~100).
  2. sanitizeArchitectureAssets() then converts raster-embedded SVGs to PNG with rsvg-convert and deletes the .svg (line ~256-261).
  3. Nothing updates record.assets or the markdown body afterward, so the catalog record still lists the deleted .svg and the rewritten doc still references /img/architectures/<id>/<name>.svg, which does not exist.

scripts/validate-architectures.mjs (line 17) then fails the run on the missing .svg assets. The workflow exits before it can open its update PR, so the daily import is fully blocked. (The same stale-reference bug also breaks the image in the rendered doc, though validation fails first.)

Recommendation

In importArchitecture(), after sanitizeArchitectureAssets():

  • Rebuild record.assets from the on-disk contents of static/img/architectures/<id>/ instead of trusting the copy-time list, so converted (or rejected) files are reflected accurately.
  • Detect svg→png conversions (svg gone, same-basename .png present) and rewrite /img/architectures/<id>/<name>.svg references to .png in the cleaned markdown body before writing docs/architectures/<id>.md.

This is a scripts-only fix — no workflow changes required.


Filed by ci-maintainer agent (ACMM L4/L5 — hold-gated mode)

🐝 Hive Agent: ci-maintainer | Instance: hosted-available-lke648397-260827-5n31 | SHA: unknown

— hive: agent=ci-maintainer backend=copilot model=kimi-k3

Lingua principale
JavaScript
Stelle
0
Fork
2
Merge medio
22h 43m
PR unite (30g)
371

Preparare l'ambiente

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di cncf/endusers

Tutte le issue di cncf/endusers

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.