build: release script + Woodpecker CI for cross-compiled binary distribution #3
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "refs/pull/3/head"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Adds the release + distribution tooling for the elephant CLI, modelled on the
sibling hark pipeline (Woodpecker on Codeberg → Cloudflare R2, served at
files.anuna.io), adapted for elephant's specifics.What's here
release.sh— version bump → gate (cargo test+clippy) → commit → tag → push. Pushing the tag drives the pipeline. Checks all three sibling path-dep checkouts are present before gating..woodpecker/release.yaml— cross-compiles the four prebuilt binaries (darwin/linux×arm64/x64) from Linuxrust:1-bookwormcontainers (darwin via osxcross), each with a.sha256, then publishes them plusinstall.shto R2 atfiles.anuna.io/elephant/(flat "latest" + immutable<tag>/archive).scripts/install.sh—curl … | shinstaller: platform detect → download → SHA-256 verify → install to~/.local/bin(ELEPHANT_INSTALL_DIRoverride). No Rust toolchain, no sibling checkouts.scripts/install_test.sh— unit tests for platform/artifact resolution (all passing).disttarget — hand-stage a single-platform artifact.Elephant-specific adaptations (not a blind copy of hark)
cbcl-rs,spindle-rust, anddid-crdtat pinned commits (--lockedcannot pin path-dependency contents). All three pins verified present in their public Codeberg repos.[profile.release](lto = true,codegen-units = 1) over a large tree (iroh, openmls, loro). The three cross-links soften to thin LTO + 16 codegen-units (the same mitigation the zetl pipeline uses); nativelinux-x64keeps full LTO.libssl-dev:arm64, unlike zetl.Prereq before the first release
The three R2 secrets (
cf_r2_access_key_id,cf_r2_secret_access_key,cf_account_id) must exist in the Woodpecker repo config — the same ones the hark/zetl pipelines use. Then cut a release with./release.sh 0.1.0frommain.🤖 Generated with Claude Code
https://claude.ai/code/session_01UwjhsndS6KeqbBbgXgnAYm