Fix CI: enable ICMP tests on Linux and fix gotestfmt on macOS/Windows
Three pre-existing issues prevented the Check workflow from passing: 1. Linux: ICMP tests fail because ping_group_range on GitHub Actions runners defaults to "1 0" (unprivileged ICMP disabled). Add sysctl step to allow unprivileged ICMP sockets. 2. macOS: go test -json emits linker warnings (LC_DYSYMTAB) as "Action":"build-output" JSON lines. gotestfmt v2.5.0 predates this action type (Go 1.21+) and panics in parseLine (gotesttools/gotestfmt#64). Filter build-output lines before piping to gotestfmt. 3. Windows: GO_TEST_LOG_OUTPUT pointed to /tmp/gotest.log which does not resolve through the MSYS2-to-native-Go boundary. Use relative path instead. These failures were masked by fail-fast: Linux failed first (ICMP), cancelling macOS and Windows before they reached gotestfmt.
This commit is contained in:
parent
839b874cad
commit
556d6bafa2
|
|
@ -14,5 +14,8 @@ jobs:
|
||||||
go-version: ${{ matrix.go-version }}
|
go-version: ${{ matrix.go-version }}
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
- name: Allow unprivileged ICMP (Linux)
|
||||||
|
if: runner.os == 'Linux'
|
||||||
|
run: sudo sysctl -w net.ipv4.ping_group_range="0 2147483647"
|
||||||
- name: Test
|
- name: Test
|
||||||
run: make test
|
run: make test
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@ cscope.*
|
||||||
/packaging
|
/packaging
|
||||||
.DS_Store
|
.DS_Store
|
||||||
*-session.log
|
*-session.log
|
||||||
|
gotest.log
|
||||||
ssh_server_tests/.env
|
ssh_server_tests/.env
|
||||||
/.cover
|
/.cover
|
||||||
built_artifacts/
|
built_artifacts/
|
||||||
|
|
|
||||||
4
Makefile
4
Makefile
|
|
@ -128,7 +128,7 @@ endif
|
||||||
#for FIPS compliance, FPM defaults to MD5.
|
#for FIPS compliance, FPM defaults to MD5.
|
||||||
RPM_DIGEST := --rpm-digest sha256
|
RPM_DIGEST := --rpm-digest sha256
|
||||||
|
|
||||||
GO_TEST_LOG_OUTPUT = /tmp/gotest.log
|
GO_TEST_LOG_OUTPUT = gotest.log
|
||||||
|
|
||||||
.PHONY: all
|
.PHONY: all
|
||||||
all: cloudflared test
|
all: cloudflared test
|
||||||
|
|
@ -164,7 +164,7 @@ generate-docker-version:
|
||||||
test: vet
|
test: vet
|
||||||
$Q go test -json -v -mod=vendor -race $(LDFLAGS) ./... 2>&1 | tee $(GO_TEST_LOG_OUTPUT)
|
$Q go test -json -v -mod=vendor -race $(LDFLAGS) ./... 2>&1 | tee $(GO_TEST_LOG_OUTPUT)
|
||||||
ifneq ($(FIPS), true)
|
ifneq ($(FIPS), true)
|
||||||
@go run -mod=readonly github.com/gotesttools/gotestfmt/v2/cmd/gotestfmt@latest -input $(GO_TEST_LOG_OUTPUT)
|
@grep -v '"Action":"build-output"' $(GO_TEST_LOG_OUTPUT) | go run -mod=readonly github.com/gotesttools/gotestfmt/v2/cmd/gotestfmt@latest
|
||||||
endif
|
endif
|
||||||
|
|
||||||
.PHONY: cover
|
.PHONY: cover
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue