check / check (push) Waiting to run
script/lint-darwin (make lint-darwin; run by script/check, and its commands by the Dockerfile lint stage) runs go vet and golangci-lint with GOOS=darwin and cgo off. Compiling cgo for macOS needs Apple's SDK, and keychainunlocker.go uses go-keychain, which is cgo there, so it and its tests are now built only with cgo on macOS, like internal/macse; their stubs serve a macOS build without cgo. checkMacOSAvailable moves to seunlocker_darwin.go. The findings in the newly checked files are fixed, and lines over 88 columns in the unchecked ones are wrapped. Model: opus-5-5
26 lines
840 B
Bash
Executable File
26 lines
840 B
Bash
Executable File
#!/bin/sh
|
|
# script/lint-darwin: type-check (go vet) and lint the code as a macOS
|
|
# build compiles it, from Linux, in docker only. CI runs on Linux, which
|
|
# never compiles the files built only for macOS. Builds the lint-darwin
|
|
# stage of Dockerfile.lint, rebuilt on every run as script/lint does.
|
|
#
|
|
# Cgo is off: compiling cgo code for macOS needs Apple's SDK headers. That
|
|
# leaves out the files built only with cgo on macOS: the keychain unlocker
|
|
# (keychainunlocker.go and its tests) and the Secure Enclave bindings
|
|
# (internal/macse). Nothing on Linux checks those.
|
|
set -eu
|
|
|
|
ROOT="$(cd "$(dirname "$0")/.." && pwd -P)"
|
|
|
|
main() {
|
|
cd "$ROOT"
|
|
docker build \
|
|
--progress=plain \
|
|
--target lint-darwin \
|
|
--no-cache-filter=lint-darwin \
|
|
--output=type=cacheonly \
|
|
-f Dockerfile.lint .
|
|
}
|
|
|
|
main "$@"
|