Skip to content

Avalanche-io/c4toolkit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

C4 Toolkit

Coordinated release infrastructure for the C4 ecosystem. Every component ships together under a single suite version.

Suite Version 1.0.12

Component Version Language Install
c4 1.0.12 Go brew install mrjoshuak/tap/c4 or binary download
c4sh 1.0.12 Go included in Homebrew formula
c4git 1.0.12 Go included in Homebrew formula
c4py 1.0.12 Python pip install c4py
c4ts 1.0.12 TypeScript npm install @avalanche-io/c4
c4-swift 1.0.12 Swift SPM: from: "1.0.12"
libc4 1.0.12 C build from source
c4-containers 1.0.12 Docker ghcr.io/avalanche-io/c4

How it works

Each component has its own version. A suite release bundles specific component versions that are tested together. The version matrix lives in releases.json.

# Validate all components are tagged and tests pass
./scripts/validate.sh 1.0.12

# Build Go binaries for all platforms
./scripts/build.sh 1.0.12

# Generate Homebrew formula
./scripts/homebrew.sh 1.0.12

# Full release: validate + build + publish + GitHub release
./scripts/release.sh 1.0.12

Distribution

Homebrew (macOS / Linux)

brew install mrjoshuak/tap/c4

Installs c4, c4sh, and c4git. Updated each suite release.

Binary downloads

Platform archives on the Releases page:

Platform Archive
macOS arm64 c4-suite_vX.Y.Z_darwin_arm64.tar.gz
macOS amd64 c4-suite_vX.Y.Z_darwin_amd64.tar.gz
Linux arm64 c4-suite_vX.Y.Z_linux_arm64.tar.gz
Linux amd64 c4-suite_vX.Y.Z_linux_amd64.tar.gz
Windows amd64 c4-suite_vX.Y.Z_windows_amd64.zip
Windows arm64 c4-suite_vX.Y.Z_windows_arm64.zip

Individual tool archives also available (e.g., c4_v1.0.12_darwin_arm64.tar.gz).

Package managers

pip install c4py                    # Python
npm install @avalanche-io/c4        # TypeScript (browser + Node)
npm install @avalanche-io/c4-node   # TypeScript (Node extensions)
// Swift Package Manager
.package(url: "https://github.com/Avalanche-io/c4-swift.git", from: "1.0.12")

Containers

docker pull ghcr.io/avalanche-io/c4:1.0.12
docker pull ghcr.io/avalanche-io/c4-pipeline:1.0.12
docker pull ghcr.io/avalanche-io/c4-s3worker:1.0.12

Adding a new suite release

  1. Edit releases.json — add a new version entry with updated component versions
  2. Ensure all component repos are tagged
  3. Run ./scripts/validate.sh <version> to verify
  4. Run ./scripts/release.sh <version> to build and publish

License

Apache 2.0

About

Coordinated release infrastructure for the C4 ecosystem

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages