Files
Kigi-CLI/crates/codegen/kigi-update/Cargo.toml
T
ZacharyZhang-NY 86e3724310 F8: distribution and GitHub-Releases self-update
- .github/workflows/release.yml: on tag v* build all 5 targets (macOS
  arm64/x86_64, Linux arm64/x86_64 incl. free arm runners, Windows
  x86_64) with the release-dist profile, archive kigi-<version>-<triple>
  with LICENSE/NOTICE/THIRD-PARTY-NOTICES, generate SHA256SUMS, publish
  the release (prerelease for tags containing '-'), with a tag↔workspace
  version guard.
- install.sh / install.ps1 (repo root): platform detection, latest or
  --version download from GitHub Releases, SHA-256 verification against
  SHA256SUMS, install into the kigi home's downloads/ + bin/kigi symlink
  (the same layout the self-updater manages), smoke test, PATH guidance.
- kigi-update rewritten onto the GitHub Releases API (documented wire
  shape; stable=/latest, alpha=semver-max across the list, pinned=/tags):
  SHA-256 gate before any binary swap, tar.gz/zip extraction per
  platform, atomic bin/kigi symlink swap, channel/rollback semantics and
  the KIGI_AUTO_UPDATE gate preserved verbatim; every x.ai/GCS/npm
  endpoint deleted, npm/gh-release installers removed, legacy grok/agent
  links retired on install. kigi-env owns the update base URL with a
  KIGI_UPDATE_BASE_URL override (this is what the test artifact server
  injects).
- .cargo/config.toml: removed the non-portable neoverse-v2 CPU pin on
  Linux arm64 (fleet-specific); RELRO/NX hardening link-args now apply
  to the gnu targets too, matching the release-dist profile's contract.
- THIRD-PARTY-NOTICES regenerated via cargo-about (about.toml +
  template); the M0 hand-built file is dropped and README points at the
  generated one. docs/RELEASE.md carries the release checklist.
- Deleted xAI-era leftovers: kigi-tui/scripts/install*.{sh,ps1} (x.ai
  CDN) and the @xai-official/grok npm skeleton (PRD F8: no npm).

Gates: fmt clean; workspace check/clippy 0/0 (--locked, -D warnings);
kigi-update 58 lib + 86 integration tests green; deny ok;
release-dist build of kigi-bin succeeds and reports 'kigi 0.1.0'.
2026-07-18 00:54:53 -04:00

44 lines
1.3 KiB
TOML

[package]
license = "Apache-2.0"
name = "kigi-update"
version.workspace = true
edition.workspace = true
[dependencies]
anyhow = { workspace = true }
futures = { workspace = true }
indicatif = { workspace = true }
reqwest = { workspace = true }
semver = { workspace = true }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
sha2 = { workspace = true }
thiserror = { workspace = true }
time = { workspace = true, features = ["serde"] }
tokio = { workspace = true, features = ["fs", "process", "io-util", "macros", "time"] }
tracing = { workspace = true }
kigi-shell = { workspace = true }
kigi-env = { workspace = true }
kigi-tools = { workspace = true }
kigi-version = { workspace = true }
# Release archives: tar.gz on Unix, zip on Windows (PRD F8).
[target.'cfg(not(windows))'.dependencies]
flate2 = { workspace = true }
tar = { workspace = true }
[target.'cfg(windows)'.dependencies]
zip = { workspace = true }
[dev-dependencies]
flate2 = { workspace = true }
semver = { workspace = true }
serde_json = { workspace = true }
serial_test = { workspace = true }
tar = { workspace = true }
tempfile = { workspace = true }
time = { workspace = true, features = ["serde"] }
tokio = { workspace = true, features = ["fs", "macros", "rt-multi-thread", "test-util"] }
wiremock = { workspace = true }
dunce = { workspace = true }