Skip to content

chore: move ant-keygen to its own repository#50

Merged
jacderida merged 1 commit intoWithAutonomi:mainfrom
jacderida:chore-move_ant_keygen
Mar 30, 2026
Merged

chore: move ant-keygen to its own repository#50
jacderida merged 1 commit intoWithAutonomi:mainfrom
jacderida:chore-move_ant_keygen

Conversation

@jacderida
Copy link
Copy Markdown
Collaborator

Summary

  • Extracted ant-keygen into its own repository at WithAutonomi/ant-keygen with a standalone release workflow
  • Removed src/bin/keygen.rs and its [[bin]] entry from this repo
  • Release archives no longer bundle ant-keygen; the sign job now downloads it from the new repo's GitHub releases via gh release download
  • Cleaned up ant-keygen references from 4 deploy/testnet scripts

Test plan

  • cargo build --release passes after removal
  • cargo clippy --all-features -- -D clippy::panic -D clippy::unwrap_used -D clippy::expect_used passes
  • Verified ant-keygen v0.1.0 release exists and archive structure matches the download pattern in the sign job
  • End-to-end: trigger a release and confirm the sign job successfully downloads and uses ant-keygen

🤖 Generated with Claude Code

ant-keygen is now maintained at WithAutonomi/ant-keygen as a standalone
tool. This removes the binary from this repo and updates the release
workflow to download it from the new repo's GitHub releases instead of
building it locally.

Changes:
- Remove [[bin]] entry and src/bin/keygen.rs
- Release archives no longer bundle ant-keygen
- Sign job downloads ant-keygen via gh release download
- Remove ant-keygen references from deploy/testnet scripts
- Update release notes to link to new repo for verification

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings March 30, 2026 19:31
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Extracts the ant-keygen release-signing utility from this repository and updates build/release automation and deployment scripts to stop bundling or installing it from ant-node artifacts.

Changes:

  • Removes the ant-keygen binary target (src/bin/keygen.rs) and its Cargo.toml [[bin]] entry.
  • Updates the release workflow to download ant-keygen from the new WithAutonomi/ant-keygen repository during signing, and stops bundling it into release archives.
  • Cleans up deploy/testnet scripts and cloud-init that previously attempted to install ant-keygen from the ant-node release artifacts.

Reviewed changes

Copilot reviewed 6 out of 8 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/bin/keygen.rs Removes the embedded ant-keygen CLI implementation from this repo.
Cargo.toml Removes the [[bin]] ant-keygen target declaration.
Cargo.lock Updates lockfile entries consistent with dependency graph changes after removing ant-keygen.
.github/workflows/release.yml Stops bundling ant-keygen in archives; signing job now downloads and executes ant-keygen from a separate repo.
scripts/testnet/deploy-all.sh Stops attempting to install ant-keygen alongside ant-node.
scripts/testnet/build-and-deploy.sh Stops copying ant-keygen from build artifacts to /usr/local/bin.
deploy/terraform/cloud-init/worker.yml Removes ant-keygen install steps from worker provisioning script.
deploy/scripts/spawn-nodes.sh Stops attempting to install ant-keygen when extracting release archives.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/release.yml
@jacderida jacderida merged commit d92f626 into WithAutonomi:main Mar 30, 2026
16 checks passed
mickvandijke added a commit that referenced this pull request Apr 1, 2026
Add unit and e2e tests covering the remaining Section 18 scenarios:

Unit tests (32 new):
- Quorum: #4 fail→abandoned, #16 timeout→inconclusive, #27 single-round
  dual-evidence, #28 dynamic threshold undersized, #33 batched per-key,
  #34 partial response unresolved, #42 quorum-derived paid-list auth
- Admission: #5 unauthorized peer, #7 out-of-range rejected
- Config: #18 invalid config rejected, #26 dynamic paid threshold
- Scheduling: #8 dedup safety, #8 replica/paid collapse
- Neighbor sync: #35 round-robin cooldown skip, #36 cycle completion,
  #38 snapshot stability mid-join, #39 unreachable removal + slot fill,
  #40 cooldown peer removed, #41 cycle termination guarantee,
  consecutive rounds, cycle preserves sync times
- Pruning: #50 hysteresis prevents premature delete, #51 timestamp reset
  on heal, #52 paid/record timestamps independent, #23 entry removal
- Audit: #19/#53 partial failure mixed responsibility, #54 all pass,
  #55 empty failure discard, #56 repair opportunity filter,
  response count validation, digest uses full record bytes
- Types: #13 bootstrap drain, repair opportunity edge cases,
  terminal state variants
- Bootstrap claims: #46 first-seen recorded, #49 cleared on normal

E2e tests (4 new):
- #2 fresh offer with empty PoP rejected
- #5/#37 neighbor sync request returns response
- #11 audit challenge multi-key (present + absent)
- Fetch not-found for non-existent key

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
mickvandijke added a commit that referenced this pull request Apr 1, 2026
Add unit and e2e tests covering the remaining Section 18 scenarios:

Unit tests (32 new):
- Quorum: #4 fail→abandoned, #16 timeout→inconclusive, #27 single-round
  dual-evidence, #28 dynamic threshold undersized, #33 batched per-key,
  #34 partial response unresolved, #42 quorum-derived paid-list auth
- Admission: #5 unauthorized peer, #7 out-of-range rejected
- Config: #18 invalid config rejected, #26 dynamic paid threshold
- Scheduling: #8 dedup safety, #8 replica/paid collapse
- Neighbor sync: #35 round-robin cooldown skip, #36 cycle completion,
  #38 snapshot stability mid-join, #39 unreachable removal + slot fill,
  #40 cooldown peer removed, #41 cycle termination guarantee,
  consecutive rounds, cycle preserves sync times
- Pruning: #50 hysteresis prevents premature delete, #51 timestamp reset
  on heal, #52 paid/record timestamps independent, #23 entry removal
- Audit: #19/#53 partial failure mixed responsibility, #54 all pass,
  #55 empty failure discard, #56 repair opportunity filter,
  response count validation, digest uses full record bytes
- Types: #13 bootstrap drain, repair opportunity edge cases,
  terminal state variants
- Bootstrap claims: #46 first-seen recorded, #49 cleared on normal

E2e tests (4 new):
- #2 fresh offer with empty PoP rejected
- #5/#37 neighbor sync request returns response
- #11 audit challenge multi-key (present + absent)
- Fetch not-found for non-existent key

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.

3 participants