Skip to content

feat(drivercentral): a tag build's drivercentral artifact is the whole DriverCentral upload - #199

Merged
derek-miller merged 1 commit into
mainfrom
feat/dc-upload-kit
Nov 10, 2026
Merged

derek-miller merged 1 commit into
mainfrom
feat/dc-upload-kit

Conversation

@derek-miller

Copy link
Copy Markdown
Contributor

A DriverCentral upload needed files from two places. The build artifact had the driver zip, the PDFs and, since #193 and #195, the description and Revisions HTML. The product card, facts strip, banners and listing photos had to be fetched from resources/drivercentral/. This puts all of it in the drivercentral artifact, so a tag build's download is the whole upload.

What it does now

make build writes dist/drivercentral/listing/, beside <repo>.zip, c4z/ and docs/:

listing/
  description.html            from resources/drivercentral/description.md
  revisions.html              every released CHANGELOG section, DriverCentral build
  product-card-300x300.png
  banners/facts-strip-2400x136.png, launch-post-2400x1200.png, spotlight-4096x848.png
  photos/1-....png ...        the rendered listing photos, not photos/sources/

description.html and revisions.html move from dist/drivercentral/ into listing/. The zip still packs only c4z/ and docs/, so integrators' downloads are unchanged. An image a repo hasn't rendered yet is just left out.

The Build workflow gains workflow_dispatch. Tag artifacts last 14 days, and GitHub re-runs a run only within 30 days, so an older tag's upload can be rebuilt from the Actions tab by running Build on the tag. A manual run on a tag stamps the tag's date and keeps its artifact 14 days. Release only fires on a tag push, so it doesn't publish twice.

Checked: the default render's render and build checks pass. With ESPHome's real images dropped into the render, make build writes the listing above with all three banners, the four photos and no sources, and the zip holds only c4z/ and docs/.

What reaches a driver repo

On copier update, the Makefile, .github/workflows/build.yml and CONTRIBUTING change. The seeded resources/drivercentral/README.md is skip-if-exists, so only new repos get its updated paths.

@svc-finitelabs svc-finitelabs Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Approving. I ran the default render's build leg with a product card, two of the three banners, two photos and a photos/sources/ image committed into the render. make build and make verify pass, listing/ holds exactly those files with the missing banner left out and nothing from sources/, and the zip still contains only c4z/ and docs/. A manual run is safe for releases because Release only fires on a tag push and filters Build runs on --event push. A dispatch on a tag still gets the tag version stamp, REQUIRE_SECRETS and 14-day retention through ref_type == 'tag', and its own run_id concurrency group.

@derek-miller
derek-miller merged commit 8bdd363 into main Nov 10, 2026
20 checks passed
@derek-miller
derek-miller deleted the feat/dc-upload-kit branch November 10, 2026 13:54
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.

1 participant