Skip to content

docs: add build-from-source manual, package targets, and cold-cache gate - #1042

Closed
c03rad0r wants to merge 5 commits into
mainfrom
docs/build-from-source-final
Closed

c03rad0r wants to merge 5 commits into
mainfrom
docs/build-from-source-final

Conversation

@c03rad0r

Copy link
Copy Markdown
Contributor

What

Add a tested, user-facing build-from-source manual and make the build
targets explicit.

  • docs/build-from-source.md — tag-vs-main, ready-made package links
    (feed releases + installer), the requested build-setup status note
    (apology, GitHub-stripped CI across OpenTollGate repos, installer runbook,
    CI/reproducible-builds work), pinned toolchains, target table, cold-cache
    gate, package builds, artifact verification, and the Build fails on main: missing go.sum entry for go-nostr/nip19 (btcutil/bech32) #1036 go.sum
    troubleshooting.
  • make package-ipk — full .ipk via packaging/local-build-ipk.sh.
  • make package-apk — .apk via scripts/build-sdk-package.sh.
  • make manual-check / make cold-battery — executable manual checks in a
    fresh module cache.
  • Fix scripts/build-sdk-package.sh to stage the tollgate-cvm daemon; the
    SDK recipe requires it, and without it make package-apk fails.
  • Fix scripts/manual-build-check.sh cleanup (chmod -R u+w before rm -rf;
    the Go module cache is read-only, so the trap could turn a green battery into
    exit 1).
  • Link the manual from README.md, CONTRIBUTING.md,
    docs/release-process.md, and docs/reproducible-builds.md.
  • Add the required changelog fragment.

portal-build is documented as the prerequisite it is, not a package build.
packaging/build-ipk.sh remains the low-level packer and is not wrapped.

Why

Warm GOMODCACHE hides missing go.sum entries; cached CI stayed green while
a cold user build failed (#1036). The manual makes the tag/main distinction
explicit, and the cold-cache check is the interim gate until the CI lanes are
rebuilt. The build-setup note apologizes for the current mess and points normal
users at the installer runbook instead of a source build.

#1032 (merged as 4e55543) fixes the remaining two modules; the v0.6.0 tag
is clean and no v0.6.1 is needed.

Testing

  • Cold make go-battery on v0.6.0 (9364f2e) — PASS, 16 modules.
  • Cold make go-battery on main post-fix(modules): complete the go-nostr nip19 go.sum for the two remaining carriers #1032 — PASS, 18 modules.
  • make package-ipk ARCH=x86_64 — PASS,
    packaging/tollgate-wrt_v0.6.0-rc4_x86_64.ipk (8.5 MB; main still carries
    the rc4 VERSION until the release-metadata PR merges).
  • make package-apk SDK_TAG=x86-64-25.12.0 — PASS after the CVM fix,
    tollgate-wrt-0.6.0_rc4-r0.apk (12.6 MB).
  • Full TG_TOOLS=... make manual-check with pinned Node/npm — running against
    a clean clone; result will be added here.
  • Ansible wrapper in tollgate-infrastructure-kit syntax-checks.

No tag or release is moved by this PR.

Supersedes #1041

#1041’s head ref stopped syncing after its first commit, so the CVM fix and the
feedback/changelog commit could not be added there. This PR carries the full
tree; #1041 is closed, not merged.

Your Name added 3 commits October 21, 2026 16:56
Add docs/build-from-source.md as the single user-facing build entry point:
tag-vs-main, feed/installer links for ready-made packages, the CI-overhaul and
reproducible-builds status, pinned toolchains, the target table, cold-cache
battery, package builds, and the #1036 go.sum troubleshooting.

Add make package-ipk (local-build-ipk.sh) and make package-apk
(build-sdk-package.sh) as the two shippable package targets. portal-build is
their prerequisite; the low-level build-ipk.sh packer is deliberately not
wrapped.

Fix manual-build-check.sh cleanup: the Go module cache is read-only, so
chmod -R u+w before rm -rf. Without this, a successful battery exited 1 in the
trap.

Link the manual from README, CONTRIBUTING and release-process; update the
reproducible-builds cross-link.
The local SDK path built tollgate-wrt and tollgate but not the CVM module,
while packaging/Makefile requires the prebuilt daemon. Build it
presence-conditionally (main carries it; older tags predate it), matching
packaging/local-build-ipk.sh and the feed's CVM stanza.
Acknowledge the messy build setup, note that GitHub removed CI from all\nOpenTollGate repositories, link the installer runbook for normal installs,\nand state that CI and reproducible builds are being rebuilt. Add the required\nchangelog fragment for the build-from-source manual and package targets.
@c03rad0r

Copy link
Copy Markdown
Contributor Author

Superseded by #1043, opened from the felixfelix-bot fork so c03rad0r can merge it. #1043 carries the full tree: docs, package targets, CVM staging fix, manual-check cleanup fix, build-setup/installer feedback, and the changelog fragment.

@c03rad0r c03rad0r closed this Oct 21, 2026
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