mirror of https://github.com/docker/buildx.git
govulncheck to report known vulnerabilities
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
This commit is contained in:
parent
d130f8ef0a
commit
386d599309
|
@ -215,6 +215,36 @@ jobs:
|
||||||
name: test-reports-${{ env.TESTREPORTS_NAME }}
|
name: test-reports-${{ env.TESTREPORTS_NAME }}
|
||||||
path: ${{ env.TESTREPORTS_BASEDIR }}
|
path: ${{ env.TESTREPORTS_BASEDIR }}
|
||||||
|
|
||||||
|
govulncheck:
|
||||||
|
runs-on: ubuntu-24.04
|
||||||
|
permissions:
|
||||||
|
# required to write sarif report
|
||||||
|
security-events: write
|
||||||
|
steps:
|
||||||
|
-
|
||||||
|
name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
-
|
||||||
|
name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v3
|
||||||
|
with:
|
||||||
|
version: ${{ env.BUILDX_VERSION }}
|
||||||
|
driver-opts: image=${{ env.BUILDKIT_IMAGE }}
|
||||||
|
buildkitd-flags: --debug
|
||||||
|
-
|
||||||
|
name: Run
|
||||||
|
uses: docker/bake-action@v5
|
||||||
|
with:
|
||||||
|
targets: govulncheck
|
||||||
|
env:
|
||||||
|
GOVULNCHECK_FORMAT: sarif
|
||||||
|
-
|
||||||
|
name: Upload SARIF report
|
||||||
|
if: ${{ github.ref == 'refs/heads/master' && github.repository == 'docker/buildx' }}
|
||||||
|
uses: github/codeql-action/upload-sarif@v3
|
||||||
|
with:
|
||||||
|
sarif_file: ${{ env.DESTDIR }}/govulncheck.out
|
||||||
|
|
||||||
prepare-binaries:
|
prepare-binaries:
|
||||||
runs-on: ubuntu-24.04
|
runs-on: ubuntu-24.04
|
||||||
outputs:
|
outputs:
|
||||||
|
|
|
@ -217,3 +217,18 @@ target "integration-test" {
|
||||||
inherits = ["integration-test-base"]
|
inherits = ["integration-test-base"]
|
||||||
target = "integration-test"
|
target = "integration-test"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
variable "GOVULNCHECK_FORMAT" {
|
||||||
|
default = null
|
||||||
|
}
|
||||||
|
|
||||||
|
target "govulncheck" {
|
||||||
|
inherits = ["_common"]
|
||||||
|
dockerfile = "./hack/dockerfiles/govulncheck.Dockerfile"
|
||||||
|
target = "output"
|
||||||
|
args = {
|
||||||
|
FORMAT = GOVULNCHECK_FORMAT
|
||||||
|
}
|
||||||
|
no-cache-filter = ["run"]
|
||||||
|
output = ["${DESTDIR}"]
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
# syntax=docker/dockerfile:1
|
||||||
|
|
||||||
|
ARG GO_VERSION="1.22"
|
||||||
|
ARG GOVULNCHECK_VERSION="v1.1.3"
|
||||||
|
ARG FORMAT="text"
|
||||||
|
|
||||||
|
FROM golang:${GO_VERSION}-alpine AS base
|
||||||
|
WORKDIR /go/src/github.com/docker/buildx
|
||||||
|
ARG GOVULNCHECK_VERSION
|
||||||
|
RUN --mount=type=cache,target=/root/.cache \
|
||||||
|
--mount=type=cache,target=/go/pkg/mod \
|
||||||
|
go install golang.org/x/vuln/cmd/govulncheck@$GOVULNCHECK_VERSION
|
||||||
|
|
||||||
|
FROM base AS run
|
||||||
|
ARG FORMAT
|
||||||
|
RUN --mount=type=bind,target=. <<EOT
|
||||||
|
set -ex
|
||||||
|
mkdir /out
|
||||||
|
govulncheck -format ${FORMAT} ./... | tee /out/govulncheck.out
|
||||||
|
EOT
|
||||||
|
|
||||||
|
FROM scratch AS output
|
||||||
|
COPY --from=run /out /
|
Loading…
Reference in New Issue