Skip to content

feat(release): support Linux arm64 detector builds#556

Closed
davidslater wants to merge 1 commit into
mainfrom
ace/01KXRKAPG2QVC059J5QJKDDXYA
Closed

feat(release): support Linux arm64 detector builds#556
davidslater wants to merge 1 commit into
mainfrom
ace/01KXRKAPG2QVC059J5QJKDDXYA

Conversation

@davidslater

Copy link
Copy Markdown
Collaborator

Created by GitHub Ace · View Session

Summary

Adds Linux arm64 support so the detector runs on different runner architectures, not just amd64.

Changes

Build & publish

  • release.yml and publish-main.yml now build both threat-detect-linux-amd64 and threat-detect-linux-arm64, add both to checksums.txt, and record each binary's sha256 in the release notes using per-arch lines: Binary asset sha256 (linux-<arch>): sha256:<hash>.

Promotion

  • promote-release.yml re-downloads and verifies both per-arch assets against their recorded digests before marking a release Latest.

Arch-aware consumers

  • detection-only.yml, replay-detection.yml, and the container smoke siblings now detect the runner arch via uname -m (x86_64→amd64, aarch64|arm64→arm64) and download the matching asset.
  • scripts/create-threat-detection-sibling-workflows.py emits the arch-aware download shell; *-container.lock.yml files regenerated.

Docs

  • README, DEVGUIDE, and CLAUDE.md updated to reflect the dual-arch assets and arch-aware download.

Verification

  • Cross-compiled the arm64 binary successfully.
  • Validated the per-arch sha256 parsing logic used by promote.
  • make build passes; sibling --check is clean; edited workflow YAML parses.

Build both threat-detect-linux-amd64 and threat-detect-linux-arm64 in the
release and publish-main workflows, recording each asset's sha256 in the
release notes. Promote verifies both per-arch assets against the recorded
digests. Consumers (detection-only, replay-detection, and the generated
container smoke siblings) now detect the runner architecture via `uname -m`
and download the matching asset. Docs updated accordingly.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: David Slater <12449447+davidslater@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 17, 2026 18:09

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds Linux arm64 release support alongside amd64 and selects architecture-specific binaries at runtime.

Changes:

  • Builds, publishes, checksums, and verifies both architectures.
  • Makes detector consumers architecture-aware.
  • Updates generated workflows and documentation.
Show a summary per file
File Description
scripts/create-threat-detection-sibling-workflows.py Generates architecture-aware downloads.
README.md Documents dual-architecture assets.
DEVGUIDE.md Updates release guidance.
CLAUDE.md Updates repository architecture guidance.
.github/workflows/smoke-copilot-container.lock.yml Selects the Copilot smoke asset by architecture.
.github/workflows/smoke-claude-container.lock.yml Selects the Claude smoke asset by architecture.
.github/workflows/smoke-codex-container.lock.yml Selects the Codex smoke asset by architecture.
.github/workflows/replay-detection.yml Fetches the matching replay detector.
.github/workflows/release.yml Builds and publishes both architectures.
.github/workflows/publish-main.yml Publishes dual-architecture edge assets.
.github/workflows/promote-release.yml Verifies both assets before promotion.
.github/workflows/detection-only.yml Selects the matching detector asset.

Review details

Tip

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

  • Files reviewed: 12/12 changed files
  • Comments generated: 1
  • Review effort level: Medium

Comment thread README.md
case "$(uname -m)" in
x86_64) asset=threat-detect-linux-amd64 ;;
aarch64|arm64) asset=threat-detect-linux-arm64 ;;
esac
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.

2 participants