Release graphic generated during the release job
A release engineer runs this on every tag. The release job already has the version, the date, and the highlight lines. The graphic should come from those same facts, in the same job, so the version on the image cannot be wrong.
This is tag work. There is no human step after the tag for the picture. The job writes a data file, runs export, and attaches the PNG with whatever already handles release assets. Lerret does not attach it.
The job is one release card PNG, written into dist/release-images. The component lives at .lerret/release/release-card.jsx. The job points export at .lerret/release. Path, --data, and --out are the three pieces of that command.
Give Lerret a React component under .lerret/ and a data file the job just wrote. export writes a PNG. Same component, data from the tag. There is no batch product, no queue, no orchestrator, and no extra pipeline product.
The component is .lerret/release/release-card.jsx. It draws the version, the date, and highlight lines. One file in the repo.
The data is release.json, written by the release job from the tag and the changelog. Then the job runs export with --data release.json and --out dist/release-images. That is a single --data pass. The file is produced by the job, then consumed by export. Export does not fetch the changelog itself. --data is never written back into .lerret/.
The image is a PNG 1200×630, attached to the release by whatever already handles release assets.
The graphic is produced by the same job that produces the release, from the same facts. No human step, no wrong version number. The version string comes from the file the job just wrote.
The release job writes release.json from the tag and the changelog, then runs the command below. --data and --out are the flags that case already uses. Export does not fetch the changelog. The PNG lands in dist/release-images and is attached by whatever already handles release assets.
npx @lerret/cli@latest export .lerret/release --data release.json --out dist/release-images
Start a project with npx create-lerret@latest. More in the use cases index.