grabowski 52a40c1c3e 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.
2026-10-16 18:50:01 +07:00
2026-10-13 16:32:25 +07:00
2026-10-13 16:32:25 +07:00
2026-10-13 16:32:25 +07:00
2026-10-13 16:32:25 +07:00
2026-10-13 16:32:25 +07:00
2026-10-13 16:32:25 +07:00
2026-10-13 16:32:25 +07:00

$REPO_NAME

$REPO_DESCRIPTION

Created from B4L/product-template. TEMPLATE.md explains the layout, the rules and proplan.toml.

Folder What goes there
release/ the latest stage's files: Gerbers, BOM, pick and place, PDFs, renders and documentation; written by CI at every stage tag, never by hand
assets/ the product image (assets/product.png, shown by proplan), renders
hardware/$REPO_NAME/ the KiCad project of the board
hardware/lib/ symbols, footprints and 3D models shared by the boards
firmware/ MCU code, one folder per target; firmware/lib/ for shared drivers
external/ third-party code as git submodules
software/ host tools and apps
mech/ FreeCAD sources and STEP exports
sim/ LTspice/ngspice models, calculation scripts and notebooks
test/ bench results per prototype stage (test/v0.1/)
docs/ documentation; docs/datasheets/ for vendor PDFs, docs/tex/ for LaTeX

Prototype stages

Each prototype is a git tag (v0.1, v0.2, ...). For the tag, CI builds the Gerbers and drill files, BOM, pick and place, schematic and PCB PDFs, 3D renders and the documentation as PDF, attaches them to the tag's release and puts them into release/, which always holds the newest stage. CHANGELOG.md says what each stage changes. In proplan the prototype stage links the tag.

Versioning

What Tag Scheme
Prototype stage v0.1, v0.2 the next stage takes the next number
Firmware target firmware/<target>/v1.2.0 SemVer
Software tool software/<tool>/2026.10.0 CalVer YYYY.MM.MICRO

TEMPLATE.md has the rules (what counts as breaking, pre-releases, changelogs).

S
Description
No description provided
Readme
95 KiB
0 Stars 8 Watchers 0 Forks
Languages
Python 100%