diff --git a/.gitlab/ci/gitaly.images.yml b/.gitlab/ci/gitaly.images.yml index 7e2be4a..e6e99d9 100644 --- a/.gitlab/ci/gitaly.images.yml +++ b/.gitlab/ci/gitaly.images.yml @@ -19,10 +19,10 @@ gitaly: parallel: matrix: - OS: ['debian:bookworm'] - GOLANG: ['1.20', '1.21'] + GOLANG: ['1.20', '1.21', '1.22'] RUST: ['1.73'] GIT: ['2.36'] - OS: ['ubi:8.6'] - GOLANG: ['1.20', '1.21'] + GOLANG: ['1.20', '1.21', '1.22'] RUST: ['1.73'] GIT: ['2.36'] diff --git a/.gitlab/ci/gitlab.images.yml b/.gitlab/ci/gitlab.images.yml index 4f6e122..821e736 100644 --- a/.gitlab/ci/gitlab.images.yml +++ b/.gitlab/ci/gitlab.images.yml @@ -45,7 +45,7 @@ gitlab: - OS: ['debian:bookworm', 'debian:bookworm-slim'] RUBY: ['3.0.patched', '3.1.patched', '3.2.patched'] POSTGRESQL: ['13', '14', '15', '16'] - GOLANG: ['1.20', '1.21'] + GOLANG: ['1.20', '1.21', '1.22'] CHROME: ['120'] # Used by GitLab's compile-production-assets and compile-test-assets jobs @@ -100,11 +100,11 @@ gitlab-workhorse: matrix: - OS: ['debian:bookworm'] RUBY: ['3.0', '3.1', '3.2'] - GOLANG: ['1.20', '1.21'] + GOLANG: ['1.20', '1.21', '1.22'] RUST: ['1.73'] GIT: ['2.36'] - OS: ['ubi:8.6'] RUBY: ['3.0', '3.1', '3.2'] - GOLANG: ['1.20', '1.21'] + GOLANG: ['1.20', '1.21', '1.22'] RUST: ['1.73'] GIT: ['2.36'] diff --git a/Dockerfile.custom b/Dockerfile.custom index 1379fd7..2e1b21a 100644 --- a/Dockerfile.custom +++ b/Dockerfile.custom @@ -55,8 +55,9 @@ RUN if [ -n "$NODE_INSTALL_VERSION" ] ; then /scripts/install-node "$NODE_INSTAL # Golang ARG INSTALL_GOLANG_VERSION ARG GOLANG_DOWNLOAD_SHA256 +ARG INSTALL_GOLANG_VERSION_FIPS -RUN if [ -n "$INSTALL_GOLANG_VERSION" ] ; then /scripts/install-golang "${INSTALL_GOLANG_VERSION}" "${GOLANG_DOWNLOAD_SHA256}" && go version; fi +RUN if [ -n "$INSTALL_GOLANG_VERSION" ] ; then /scripts/install-golang "${INSTALL_GOLANG_VERSION}" "${GOLANG_DOWNLOAD_SHA256}" "${INSTALL_GOLANG_VERSION_FIPS}" && go version; fi # Git LFS (https://git-lfs.github.com/) ARG LFS_VERSION diff --git a/scripts/install-golang b/scripts/install-golang index 1d294dd..36f9545 100755 --- a/scripts/install-golang +++ b/scripts/install-golang @@ -4,6 +4,7 @@ set -xeou pipefail INSTALL_GOLANG_VERSION=${1} GOLANG_DOWNLOAD_SHA256=${2} +INSTALL_GOLANG_VERSION_FIPS=${3:-${INSTALL_GOLANG_VERSION}} GOLANG_DOWNLOAD_URL="https://golang.org/dl/go${INSTALL_GOLANG_VERSION}.linux-${TARGETARCH:-amd64}.tar.gz" @@ -14,7 +15,7 @@ function build_debian() { } function build_ubi() { - GO_MAJOR_VERSION=${INSTALL_GOLANG_VERSION%.*} + GO_MAJOR_VERSION=${INSTALL_GOLANG_VERSION_FIPS%.*} mkdir -p /tmp/golang curl -fsSL "$GOLANG_DOWNLOAD_URL" -o golang.tar.gz diff --git a/scripts/lib/custom-docker-build b/scripts/lib/custom-docker-build index 84507c3..9c1a034 100755 --- a/scripts/lib/custom-docker-build +++ b/scripts/lib/custom-docker-build @@ -41,19 +41,28 @@ function print_golang_args() { case "$1" in 1.20) INSTALL_GOLANG_VERSION=1.20.13 # Update scripts/install-golang for FIPS if this version is bumped + INSTALL_GOLANG_VERSION_FIPS=1.20.13 GOLANG_DOWNLOAD_SHA256[amd64]="9a9d3dcae2b6a638b1f2e9bd4db08ffb39c10e55d9696914002742d90f0047b5" GOLANG_DOWNLOAD_SHA256[arm64]="a2d811cef3c4fc77c01195622e637af0c2cf8b3814a95a0920cf2f83b6061d38" ;; 1.21) INSTALL_GOLANG_VERSION=1.21.6 + INSTALL_GOLANG_VERSION_FIPS=1.21.6 GOLANG_DOWNLOAD_SHA256[amd64]="3f934f40ac360b9c01f616a9aa1796d227d8b0328bf64cb045c7b8c4ee9caea4" GOLANG_DOWNLOAD_SHA256[arm64]="e2e8aa88e1b5170a0d495d7d9c766af2b2b6c6925a8f8956d834ad6b4cacbd9a" ;; + 1.22) + INSTALL_GOLANG_VERSION=1.22.0 + INSTALL_GOLANG_VERSION_FIPS=1.21.6 + GOLANG_DOWNLOAD_SHA256[amd64]="f6c8a87aa03b92c4b0bf3d558e28ea03006eb29db78917daec5cfb6ec1046265" + GOLANG_DOWNLOAD_SHA256[arm64]="6a63fef0e050146f275bf02a0896badfe77c11b6f05499bb647e7bd613a45a10" + ;; *) fail "Unknown golang version $1" ;; esac printf -- "--build-arg INSTALL_GOLANG_VERSION=%s " "$INSTALL_GOLANG_VERSION" printf -- "--build-arg GOLANG_DOWNLOAD_SHA256=%q " "${GOLANG_DOWNLOAD_SHA256[*]}" + printf -- "--build-arg INSTALL_GOLANG_VERSION_FIPS=%s " "${INSTALL_GOLANG_VERSION_FIPS}" } function print_rust_args() {