chore: security upgrades 2026-09 - #33
Merged
Merged
Conversation
Bumps the actions-all group with 3 updates: [step-security/harden-runner](https://github.com/step-security/harden-runner), [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) and [github/codeql-action/upload-sarif](https://github.com/github/codeql-action). Updates `step-security/harden-runner` from 2.21.0 to 2.21.1 - [Release notes](https://github.com/step-security/harden-runner/releases) - [Commits](step-security/harden-runner@05e3151...e14015d) Updates `golangci/golangci-lint-action` from 7.0.1 to 9.3.0 - [Release notes](https://github.com/golangci/golangci-lint-action/releases) - [Commits](golangci/golangci-lint-action@9fae48a...ba0d7d2) Updates `github/codeql-action/upload-sarif` from 4.37.9 to 4.38.0 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@cdf488f...b96794f) --- updated-dependencies: - dependency-name: step-security/harden-runner dependency-version: 2.21.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: actions-all - dependency-name: golangci/golangci-lint-action dependency-version: 9.3.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions-all - dependency-name: github/codeql-action/upload-sarif dependency-version: 4.38.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: actions-all ... Signed-off-by: dependabot[bot] <support@github.com> (cherry picked from commit 32e27f9)
Bumps alpine from 3.23.5 to 3.24.1. --- updated-dependencies: - dependency-name: alpine dependency-version: 3.24.1 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> (cherry picked from commit 69af559)
TestServer_Shutdown_ErrorPaths shared one handler between the HTTP and HTTPS servers and closed a single `handlerStarted` channel from a sync.Once, so it only ever waited for whichever request arrived first. The other server had nothing in flight when Shutdown ran against a canceled context, returned nil, and left its error branch uncovered. Which side lost the race varied by machine, so the 100% coverage gate passed locally and failed intermittently on CI. The coverage:ignore added for this sat on the HTTPS branch and did nothing on the runs where the HTTP branch was the uncovered one. Give each server its own handler and its own started channel, wait for both before shutting down, and assert the error names both servers. Both branches are now exercised on every run, so the ignore comes off and internal/server is back to a real 100%.
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Docker Images BuiltImages are available for testing: # gatekeeperd
docker pull ghcr.io/tight-line/gatekeeperd:pr-33-a6f85fb
# gatekeeper-relay
docker pull ghcr.io/tight-line/gatekeeper-relay:pr-33-a6f85fbdocker-compose.ymlGATEKEEPERD_IMAGE=ghcr.io/tight-line/gatekeeperd:pr-33-a6f85fb \
RELAY_IMAGE=ghcr.io/tight-line/gatekeeper-relay:pr-33-a6f85fb \
docker-compose --profile relay upHelm (values override)image:
repository: ghcr.io/tight-line/gatekeeperd # or gatekeeper-relay
tag: "pr-33-a6f85fb"Images expire ~15 days after PR closes. |
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.



Collapses the two open Dependabot PRs onto one branch and fixes the coverage
flake that was making one of them look red.
Closes #31
Closes #32
What is here
build(deps):step-security/harden-runnerv2.21.0 -> v2.21.1,golangci/golangci-lint-actionv7 -> v9.3.0,github/codeql-action/upload-sarifv4.37.9 -> v4.38.0 (build(deps): bump the actions-all group with 3 updates #32)build(deps):alpine3.23.5 -> 3.24.1 in both Dockerfiles (build(deps): bump alpine from 3.23.5 to 3.24.1 #31)fix(test): make bothServer.Shutdownerror branches deterministicThe coverage flake
PR #31 touched nothing but the two Dockerfiles and still failed
testwith:That is the HTTP shutdown error branch, and it is not something an alpine bump
can reach.
TestServer_Shutdown_ErrorPathsgave both servers the same handlerand closed a single
handlerStartedchannel from async.Once, so it waitedfor whichever of the two requests arrived first and then shut down. The server
that had not started yet had no connection in flight,
Shutdownreturned nilfor it, and its error branch never ran.
Whichever side lost the race was the uncovered one, and that varied by machine.
The
coverage:ignoreadded in 0.2.15 sat on the HTTPS branch, so it coveredexactly one of the two symmetric outcomes and did nothing on a run where HTTP
was the short one.
Each server now gets its own handler and its own started channel, the test waits
for both, and it asserts the joined error names both servers. Both branches run
every time, so the ignore is gone and
internal/serverreports a real 100%instead of 98.5%.
Verified with 8 clean runs plus 6 more under CPU contention at
-cpu=1; bothblocks report covered in every one.
Survey notes
govulncheckis clean. The one module-level finding, GO-2026-5932(
x/crypto/openpgpunmaintained), hasFixed in: N/Aand nothing hereimports openpgp.
go list -u -mreports no direct module updates outstanding.uses:is pinned to a full SHA, and everysetup-gojob alreadyallowlists
release-assets.githubusercontent.com:443.active; none has been disabled for inactivity sincesnyk.ymlwas switched back on last pass.disabledat the repo level, though.github/dependabot.ymlcovers all three ecosystems, which is what openedbuild(deps): bump alpine from 3.23.5 to 3.24.1 #31 and build(deps): bump the actions-all group with 3 updates #32.
make checkis green on the committed tree: lint 0 issues, coverage 99.0% withevery uncovered line carrying a marker, both binaries build.