mirror of
https://ops.gitlab.net/gitlab-org/gitlab-build-images.git
synced 2025-12-08 17:42:56 +01:00
Add Debian Bookworm images
This commit is contained in:
parent
5cc9de6b26
commit
db6f2daec2
10 changed files with 55 additions and 24 deletions
|
|
@ -70,7 +70,7 @@
|
|||
parallel:
|
||||
matrix:
|
||||
- BUILD_OS: debian
|
||||
OS_VERSION: bullseye
|
||||
OS_VERSION: [bullseye, bookworm]
|
||||
NOTIFY_VERSION_UPDATE: "true"
|
||||
before_script:
|
||||
- !reference [.install-qemu, before_script]
|
||||
|
|
|
|||
|
|
@ -20,11 +20,10 @@
|
|||
e2e:
|
||||
extends:
|
||||
- .e2e
|
||||
variables:
|
||||
OS: "debian:bullseye"
|
||||
parallel:
|
||||
matrix:
|
||||
- RUBY: ['3.0', '3.1', '3.2']
|
||||
- OS: ["debian:bullseye", "debian:bookworm"]
|
||||
RUBY: ['3.0', '3.1', '3.2']
|
||||
BUNDLER: ['2.4', '2.5']
|
||||
|
||||
# Image with ruby, bundler and docker
|
||||
|
|
@ -40,7 +39,8 @@ e2e-chrome:
|
|||
- e2e-docker
|
||||
parallel:
|
||||
matrix:
|
||||
- RUBY: ['3.0', '3.1', '3.2']
|
||||
- OS: ["debian:bullseye", "debian:bookworm"]
|
||||
RUBY: ['3.0', '3.1', '3.2']
|
||||
BUNDLER: ['2.4', '2.5']
|
||||
CHROME: ['119', '120']
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ gitaly:
|
|||
stage: gitaly
|
||||
parallel:
|
||||
matrix:
|
||||
- OS: ['debian:bullseye']
|
||||
- OS: ['debian:bullseye', 'debian:bookworm']
|
||||
GOLANG: ['1.19', '1.20', '1.21']
|
||||
RUST: ['1.73']
|
||||
GIT: ['2.36']
|
||||
|
|
|
|||
|
|
@ -36,15 +36,15 @@ gitlab:
|
|||
YARN: '1.22'
|
||||
GRAPHICSMAGICK: '1.3.36'
|
||||
ARCH: linux/amd64,linux/arm64
|
||||
GIT: '2.36'
|
||||
RUST: '1.73'
|
||||
NODE: '18.17'
|
||||
parallel:
|
||||
matrix:
|
||||
- OS: ['debian:bullseye', 'debian:bullseye-slim']
|
||||
- OS: ['debian:bullseye', 'debian:bullseye-slim', 'debian:bookworm', 'debian:bookworm-slim']
|
||||
RUBY: ['3.0.patched', '3.1.patched', '3.2.patched']
|
||||
GIT: ['2.36']
|
||||
POSTGRESQL: ['12', '13', '14', '15']
|
||||
GOLANG: ['1.19', '1.20', '1.21']
|
||||
RUST: ['1.73']
|
||||
NODE: ['18.17']
|
||||
POSTGRESQL: ['13', '14', '15']
|
||||
GOLANG: ['1.20', '1.21']
|
||||
CHROME: ['119', '120']
|
||||
|
||||
# Used by GitLab's compile-production-assets and compile-test-assets jobs
|
||||
|
|
@ -60,7 +60,7 @@ gitlab-assets:
|
|||
ARCH: amd64,arm64
|
||||
parallel:
|
||||
matrix:
|
||||
- OS: ['debian:bullseye']
|
||||
- OS: ['debian:bullseye', 'debian:bookworm']
|
||||
RUBY: ['3.0', '3.1', '3.2']
|
||||
GIT: ['2.33']
|
||||
NODE: ['18.17']
|
||||
|
|
@ -81,11 +81,10 @@ gitlab-slim-ruby:
|
|||
extends:
|
||||
- .gitlab
|
||||
stage: gitlab
|
||||
variables:
|
||||
OS: 'debian:bullseye-slim'
|
||||
parallel:
|
||||
matrix:
|
||||
- RUBY: ['3.0', '3.1', '3.2']
|
||||
OS: ['debian:bullseye-slim', 'debian:bookworm-slim']
|
||||
|
||||
# Used by GitLab's workhorse tests
|
||||
gitlab-workhorse:
|
||||
|
|
@ -98,7 +97,7 @@ gitlab-workhorse:
|
|||
RUBYGEMS: '3.4'
|
||||
parallel:
|
||||
matrix:
|
||||
- OS: ['debian:bullseye']
|
||||
- OS: ['debian:bullseye', 'debian:bookworm']
|
||||
RUBY: ['3.0', '3.1', '3.2']
|
||||
GOLANG: ['1.19', '1.20', '1.21']
|
||||
RUST: ['1.73']
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# Save amd64 chrome and arm64 .deb files to package registry
|
||||
ARG BUILD_OS=debian
|
||||
ARG OS_VERSION=bullseye
|
||||
ARG OS_VERSION=bookworm
|
||||
FROM ${BUILD_OS}:${OS_VERSION}
|
||||
|
||||
ARG TARGETARCH
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ new_image:
|
|||
extends:
|
||||
- .build_dynamic_image
|
||||
variables:
|
||||
OS: 'debian:bullseye'
|
||||
OS: 'debian:bookworm'
|
||||
RUBY: '3.0'
|
||||
GOLANG: '1.15'
|
||||
RUST: '1.73.0'
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@ function build_ubi() {
|
|||
}
|
||||
|
||||
BUILD_OS=${BUILD_OS:-debian}
|
||||
OS_VERSION=${OS_VERSION:-bullseye}
|
||||
OS_VERSION=${OS_VERSION:-bookworm}
|
||||
|
||||
# When using a -slim version, actually use the non-slim OS version.
|
||||
#
|
||||
|
|
|
|||
|
|
@ -18,6 +18,18 @@ function install_debian_bullseye_deps() {
|
|||
libre2-dev libevent-dev gettext rsync git-core lsb-release
|
||||
}
|
||||
|
||||
function install_debian_bookworm_deps() {
|
||||
apt-get install -y \
|
||||
curl wget build-essential apt-utils clang locales openssh-client \
|
||||
libclang-dev libssl-dev libyaml-dev libreadline-dev llvm-dev zlib1g-dev \
|
||||
libncurses5-dev libffi-dev ca-certificates libxml2-dev \
|
||||
libxslt1-dev libcurl4-openssl-dev libicu-dev \
|
||||
logrotate python3-docutils pkg-config cmake \
|
||||
libkrb5-dev postgresql-client unzip \
|
||||
libsqlite3-dev libpq-dev libpng-dev libjpeg-dev libzstd-dev \
|
||||
libre2-dev libevent-dev gettext rsync git-core lsb-release
|
||||
}
|
||||
|
||||
function prepare_debian_environment() {
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
|
|
@ -27,8 +39,9 @@ function prepare_debian_environment() {
|
|||
|
||||
case "$VERSION" in
|
||||
11)
|
||||
install_debian_bullseye_deps
|
||||
;;
|
||||
install_debian_bullseye_deps;;
|
||||
12)
|
||||
install_debian_bookworm_deps;;
|
||||
esac
|
||||
|
||||
# Set UTF-8
|
||||
|
|
|
|||
|
|
@ -16,6 +16,10 @@ JEMALLOC_DOWNLOAD_URL="https://github.com/jemalloc/jemalloc/releases/download/${
|
|||
BUNDLER_VERSION=${3:-""}
|
||||
RUBYGEMS_VERSION=${4:-""}
|
||||
|
||||
# only installed for Ruby 3.0 on debian bookworm
|
||||
CUSTOM_OPENSSL_VERSION=1.1.1w
|
||||
CUSTOM_OPENSSL_DIR=/usr/local/openssl_ruby
|
||||
|
||||
function build_common() {
|
||||
# Download jemalloc
|
||||
mkdir -p /usr/src/jemalloc
|
||||
|
|
@ -90,6 +94,7 @@ function build_debian() {
|
|||
apt-get update
|
||||
apt-get install -y --no-install-recommends bison dpkg-dev libgdbm-dev autoconf
|
||||
|
||||
install_custom_openssl_if_needed
|
||||
build_common
|
||||
|
||||
apt-get purge -y --auto-remove ruby
|
||||
|
|
@ -115,6 +120,20 @@ function build_ubi() {
|
|||
[ "$(command -v ruby)" = '/usr/local/bin/ruby' ]
|
||||
}
|
||||
|
||||
function install_custom_openssl_if_needed() {
|
||||
if [[ $RUBY_VERSION =~ "3.0" ]] && [[ $OS_VERSION =~ "bookworm" ]]; then
|
||||
apt-get install -y --no-install-recommends perl make gcc
|
||||
curl -fsSL "https://www.openssl.org/source/openssl-${CUSTOM_OPENSSL_VERSION}.tar.gz" | tar -xzC /tmp
|
||||
cd /tmp/openssl-${CUSTOM_OPENSSL_VERSION}
|
||||
./config --prefix="$CUSTOM_OPENSSL_DIR" --openssldir="$CUSTOM_OPENSSL_DIR" shared zlib
|
||||
make
|
||||
make install
|
||||
rm -rf /tmp/openssl-${CUSTOM_OPENSSL_VERSION}
|
||||
# set CONFIGURE_ARGS for ruby builds
|
||||
export CONFIGURE_ARGS="${CONFIGURE_ARGS:-} --with-openssl-dir=$CUSTOM_OPENSSL_DIR"
|
||||
fi
|
||||
}
|
||||
|
||||
BUILD_OS=${BUILD_OS:-debian}
|
||||
|
||||
if [[ $BUILD_OS =~ debian ]]; then
|
||||
|
|
|
|||
|
|
@ -93,8 +93,8 @@ function print_chrome_args() {
|
|||
CHROMIUM_VERSION=119.0.6045.159-1
|
||||
;;
|
||||
120|120.0)
|
||||
CHROME_VERSION=120.0.6099.199-1
|
||||
CHROMIUM_VERSION=120.0.6099.199-1
|
||||
CHROME_VERSION=120.0.6099.216-1
|
||||
CHROMIUM_VERSION=120.0.6099.216-1
|
||||
;;
|
||||
*) fail "Unknown chrome version $1" ;;
|
||||
esac
|
||||
|
|
@ -417,7 +417,7 @@ if [[ -n "$OS" ]]; then
|
|||
elif [[ -n "$UBI" ]]; then
|
||||
unset DEBIAN
|
||||
else
|
||||
DEBIAN=${DEBIAN:-bullseye}
|
||||
DEBIAN=${DEBIAN:-bookworm}
|
||||
fi
|
||||
|
||||
build_custom_if_needed $@
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue