ci(platforms): cover linux/arm64, the last shipped target nothing ran - #27
Merged
Merged
Conversation
`release-installation.schema.json` and `bundle-trust.schema.json` declare
`target_os: ["darwin","linux"]` and `target_arch: ["amd64","arm64"]`. That is
four shipped combinations. Coverage after the darwin lane landed:
linux/amd64 ubuntu-latest covered
darwin/arm64 macos-latest covered (macos-latest is Apple Silicon)
linux/arm64 - nothing
darwin/amd64 - nothing
`ubuntu-24.04-arm` is a standard hosted runner and unmetered on public
repositories, so linux/arm64 costs nothing to cover and it is a target this
repository ships binaries for.
darwin/amd64 stays uncovered on purpose. It needs `macos-13`, the last Intel
image, whose retirement is already announced; adding a lane on a runner being
withdrawn buys a short-lived signal. Worth revisiting only if that target is
still shipped by then.
`macos.yml` becomes `platforms.yml` with a matrix, since it is no longer about
macOS. Neither check name was in `required_contexts`, so nothing pinned them —
checked before renaming, which is the failure mode
NDDev-OpenNetwork/ci-workflows#29 was about.
The steps remain the repository's own declared commands from
`.gds/repository.yaml`. `fail-fast: false` so one platform failing still reports
the other.
Verified: actionlint 1.7.12 clean, and `gds context` on this branch reports no
`GDS_CONTEXT_POLICY_SOURCE_DIGEST_MISMATCH` — `.github` remains outside the
bundle source paths.
rldyourmnd
added a commit
to NDDev-OpenNetwork/agent-runtime
that referenced
this pull request
Aug 23, 2026
`docs/releasing.md` and `release.yml` build four targets — linux/amd64, linux/arm64, darwin/amd64, darwin/arm64. The test matrix covered two systems, and because `macos-latest` is Apple Silicon that meant linux/amd64 and darwin/arm64 ran while linux/arm64 was only ever cross-compiled at release time. `ubuntu-24.04-arm` is a standard hosted runner, unmetered on public repositories, so covering it costs nothing. Jobs in the matrix run in parallel, so wall-clock is unchanged. darwin/amd64 remains uncovered: it needs `macos-13`, the last Intel image, whose retirement is already announced. Adding a lane on a runner being withdrawn buys a signal that expires; the alternative is to stop shipping that target. The same gap was closed in `github-device-sync` this week (NDDev-OpenNetwork/github-device-sync#27), where both new lanes passed on their first run — `ubuntu-24.04-arm` in 109s. `Gate` is the only required status context here, so the added matrix entry introduces no new required check and nothing was pinned to the old names. Verified locally on linux/amd64: `go vet ./...` clean, `go test -race ./...` every package ok, actionlint 1.7.12 clean.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This repository declares four shipped combinations in its own schemas —
target_os: ["darwin","linux"]×target_arch: ["amd64","arm64"]— and the release builder emits them.ubuntu-latestmacos-latest(Apple Silicon)ubuntu-24.04-armis a standard hosted runner, unmetered on public repositories, so the third row costs nothing to fill and it is a target this repository ships binaries for.darwin/amd64 is deliberately still uncovered
It needs
macos-13, the last Intel image, whose retirement is already announced. A lane on a runner being withdrawn buys a signal that expires. Worth revisiting only if that target is still shipped by then — the alternative is to stop shipping it.Rename
macos.yml→platforms.yml, since it is no longer about macOS. Check names change fromdarwintodarwin-arm64/linux-arm64.Checked before renaming that nothing pins them: neither appears in
required_contextsin.gds/repository.yamlor the live ruleset, which require onlyGDS fast / go (1.26.5)andGDS PR required / go (1.26.5). That is the failure mode NDDev-OpenNetwork/ci-workflows#29 was about, so it seemed worth confirming rather than assuming.Unchanged
Steps are still the repository's own declared commands from
.gds/repository.yaml(go vet ./...,go build -trimpath ./core/cmd/gds,go test ./...), so the lane cannot drift into testing something else.fail-fast: falseso one platform failing still reports the other.Verification
actionlint 1.7.12 clean.
gds contexton this branch reports noGDS_CONTEXT_POLICY_SOURCE_DIGEST_MISMATCH—.githubremains outsidedevelopmentBundleSourcePaths, so the bundle lock is untouched.The darwin lane passed on its first real run:
go test ./...in 189s onmacos-latest. The linux/arm64 lane has never run; if it goes red that is the finding.