Pin records which Upstream Version the Rebuild counts against #16

Closed
opened 2026-09-30 14:05:12 +00:00 by piscis · 0 comments
Owner

What to build

Make the Pin record which Upstream Version its Rebuild number counts against, so that bumping the Upstream Version never has to touch the Rebuild (decided in the grilling on #5, recorded in ADR 0003).

  • pin.env gets REBUILD_OF=v3.2.0 next to REBUILD=1. Update its comment: for a Rebuild, set REBUILD_OF to the current UPSTREAM_VERSION and raise REBUILD.
  • The Makefile works out the effective Rebuild: REBUILD if REBUILD_OF equals UPSTREAM_VERSION, otherwise 1. TAG uses it.
  • Add a make target that prints the tag (e.g. make print-tag), so CI (#6, #7) reads the tag from one place instead of repeating this logic.

Acceptance criteria

  • UPSTREAM_VERSION=v3.2.0 REBUILD=2 REBUILD_OF=v3.2.0 gives tag 3.2.0-r2
  • UPSTREAM_VERSION=v3.3.0 REBUILD=2 REBUILD_OF=v3.2.0 gives tag 3.3.0-r1
  • The current Pin still gives 3.2.0-r1, and make build and make smoke-test still work
  • make print-tag prints only the tag

Blocked by

  • None (can start immediately)

Context: see GLOSSARY.md (Upstream, Upstream Version, Image, Rebuild, Consumer, Pin) and docs/adr/ (0001 build from Upstream source for multi-arch, 0002 canonical Upstream not the Codeberg mirror, 0003 tag scheme and immutable Rebuild tags, 0004 public org vicoli-oss).

## What to build Make the Pin record which Upstream Version its Rebuild number counts against, so that bumping the Upstream Version never has to touch the Rebuild (decided in the grilling on #5, recorded in ADR 0003). - `pin.env` gets `REBUILD_OF=v3.2.0` next to `REBUILD=1`. Update its comment: for a Rebuild, set `REBUILD_OF` to the current `UPSTREAM_VERSION` and raise `REBUILD`. - The Makefile works out the effective Rebuild: `REBUILD` if `REBUILD_OF` equals `UPSTREAM_VERSION`, otherwise `1`. `TAG` uses it. - Add a `make` target that prints the tag (e.g. `make print-tag`), so CI (#6, #7) reads the tag from one place instead of repeating this logic. ## Acceptance criteria - [ ] `UPSTREAM_VERSION=v3.2.0 REBUILD=2 REBUILD_OF=v3.2.0` gives tag `3.2.0-r2` - [ ] `UPSTREAM_VERSION=v3.3.0 REBUILD=2 REBUILD_OF=v3.2.0` gives tag `3.3.0-r1` - [ ] The current Pin still gives `3.2.0-r1`, and `make build` and `make smoke-test` still work - [ ] `make print-tag` prints only the tag ## Blocked by - None (can start immediately) Context: see `GLOSSARY.md` (Upstream, Upstream Version, Image, Rebuild, Consumer, Pin) and `docs/adr/` (0001 build from Upstream source for multi-arch, 0002 canonical Upstream not the Codeberg mirror, 0003 tag scheme and immutable Rebuild tags, 0004 public org `vicoli-oss`).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Blocks
Reference
vicoli-oss/docker-forgejo-mcp#16
No description provided.