release/: the newest stage's manufacturing files and documentation

A stage tag (v*) now builds, with kicad-cli, pandoc and pdflatex in the CI
image (.gitea/scripts/release-files.py):
- per board: Gerbers + Excellon drill zip (JLCPCB-compatible settings), BOM
  (grouped, DNP left out), pick and place, schematic and PCB PDFs, 3D renders;
- docs/*.md and docs/tex/*.tex as PDF, tag and commit in the footer;
- release/README.md with tag, commit, ERC/DRC result, files, SHA-256 and the
  stage's CHANGELOG section.
Every file name carries the tag. release-attach.py attaches the files plus a
zip of the whole folder to the tag's release (replacing assets of an earlier
run); for the newest stage tag (not older stages, not pre-releases) the job
commits them to release/ on main with [skip ci].

.gitignore: !/release/ after Release/ (Windows matches it case-insensitively);
.gitattributes: release/** -text so the SHA-256 match on every checkout.
TEMPLATE.md: "Release files" section, rules and CI updated.

Tested in git.b4l.co.th/b4l/kicad10_auto_node with harNES's board and docs:
v0.1 committed, v0.0 and v0.2-rc.1 left release/ alone, v0.2 tagged on an
older commit landed on top of a moved main; uploads byte-exact against a stub
of the Gitea release API.
This commit is contained in:
grabowski committed 2026-10-16 18:50:01 +07:00
1 parent 0e002be80c
commit 52a40c1c3e
11 files changed
+654 -53

No files matched your search

+3 -2
View File
@@ -7,5 +7,6 @@ Project) as `hardware/$REPO_NAME/$REPO_NAME.kicad_pro`.
- A real variant built next to it (48 V, 2-board) gets its own folder under
`hardware/` and its own `[[boards]]` entry in `proplan.toml`.
- Shared symbols, footprints and 3D models go to `hardware/lib/`.
- Gerbers, BOMs and PDFs are built by CI (`.gitea/workflows/kibot.yml`); do not
commit them.
- Gerbers, BOMs and PDFs are built by CI, never committed by hand: KiBot checks
every push (`.gitea/workflows/kibot.yml`), and a stage tag puts the board's
files into `release/hardware/$REPO_NAME/` (`.gitea/workflows/release.yml`).