signals: add aix build constraint and SIGVTALRM#2159
Conversation
GOOS=aix builds fail with 'undefined: SignalLookup' because signals_unix.go excludes aix and no aix implementation exists. Every signal in the unix SignalLookup map is available on aix/ppc64, so adding the constraint is sufficient. Also adds SIGVTALRM to the lookup map for AIX workloads that use it. Validated by the IBM Power integration team in AIX builds of Vault Agent, which vendors consul-template for template rendering. Fixes hashicorp#2158 Co-authored-by: Hari G Muralidharan <harimura@in.ibm.com>
CI failures are pre-existing flakes, unrelated to this changeThe two red jobs ( The actual failures: 1. A filesystem-watch timing test — the watcher hadn't observed the write yet. Timing flake. 2. A latent, pre-existing race: Supporting evidence that these are repo-wide flakes rather than regressions from this PR:
A re-run of the two failed jobs should go green. No code change is needed here. |
Summary
Adds
aixto the build constraint ofsignals/signals_unix.goandSIGVTALRMtoSignalLookup, so the package compiles forGOOS=aix GOARCH=ppc64.Fixes #2158
Background
GOOS=aix go build ./signals/currently fails withundefined: SignalLookup. Every signal referenced in the unix lookup map exists on aix/ppc64 with the stock Go toolchain, so the constraint addition is sufficient — no platform-specific file needed.SIGVTALRMis added to the map for AIX workloads that configure it (e.g. as a kill/reload signal).This patch has been validated by the IBM Power integration team, who have been carrying it as a fork patch for AIX builds of Vault Agent (which vendors consul-template for template rendering); credited as commit co-author.
Testing
GOOS=aix GOARCH=ppc64 go build ./signals/— compilesgo build/go test ./signals/— greengit diff --checkclean; constraint-only change for existing platforms (plus one new map entry available on all of them)