mirror of
https://ops.gitlab.net/gitlab-org/gitlab-build-images.git
synced 2025-12-11 02:52:56 +01:00
Merge branch 'acunskis-cache-chrome-correct-os' into 'master'
Cache chrome for correct debian version See merge request https://gitlab.com/gitlab-org/gitlab-build-images/-/merge_requests/603 Merged-by: Balasankar 'Balu' C <balasankar@gitlab.com> Approved-by: Balasankar 'Balu' C <balasankar@gitlab.com> Co-authored-by: Andrejs Cunskis <acunskis@gitlab.com>
This commit is contained in:
commit
d92090dc0f
7 changed files with 40 additions and 13 deletions
|
|
@ -4,7 +4,7 @@
|
||||||
- docker
|
- docker
|
||||||
- high-cpu
|
- high-cpu
|
||||||
variables:
|
variables:
|
||||||
QEMU_IMAGE: tonistiigi/binfmt:qemu-v6.2.0
|
QEMU_IMAGE: tonistiigi/binfmt:qemu-v7.0.0
|
||||||
before_script:
|
before_script:
|
||||||
- |
|
- |
|
||||||
if [ "$PUSH_CUSTOM_IMAGE" == "true" ]; then
|
if [ "$PUSH_CUSTOM_IMAGE" == "true" ]; then
|
||||||
|
|
@ -43,6 +43,11 @@
|
||||||
needs: []
|
needs: []
|
||||||
variables:
|
variables:
|
||||||
ARCH: linux/amd64,linux/arm64
|
ARCH: linux/amd64,linux/arm64
|
||||||
|
parallel:
|
||||||
|
matrix:
|
||||||
|
- BUILD_OS: debian
|
||||||
|
OS_VERSION: bullseye
|
||||||
|
NOTIFY_VERSION_UPDATE: "true"
|
||||||
before_script:
|
before_script:
|
||||||
- !reference [.install-qemu, before_script]
|
- !reference [.install-qemu, before_script]
|
||||||
script:
|
script:
|
||||||
|
|
@ -52,6 +57,8 @@
|
||||||
--build-arg CI_PROJECT_ID=$CI_PROJECT_ID \
|
--build-arg CI_PROJECT_ID=$CI_PROJECT_ID \
|
||||||
--build-arg CI_JOB_TOKEN=$CI_JOB_TOKEN \
|
--build-arg CI_JOB_TOKEN=$CI_JOB_TOKEN \
|
||||||
--build-arg CI_SLACK_WEBHOOK_URL=$CI_SLACK_WEBHOOK_URL \
|
--build-arg CI_SLACK_WEBHOOK_URL=$CI_SLACK_WEBHOOK_URL \
|
||||||
|
--build-arg BUILD_OS=$BUILD_OS \
|
||||||
|
--build-arg OS_VERSION=$OS_VERSION \
|
||||||
--platform $ARCH \
|
--platform $ARCH \
|
||||||
-f "Dockerfile.cache-chrome" \
|
-f "Dockerfile.cache-chrome" \
|
||||||
.
|
.
|
||||||
|
|
|
||||||
|
|
@ -22,8 +22,10 @@ e2e-docker:
|
||||||
e2e-chrome:
|
e2e-chrome:
|
||||||
extends:
|
extends:
|
||||||
- e2e-docker
|
- e2e-docker
|
||||||
variables:
|
parallel:
|
||||||
CHROME: '107'
|
matrix:
|
||||||
|
- RUBY: ['2.7', '3.0']
|
||||||
|
CHROME: ['106', '107']
|
||||||
|
|
||||||
# Image used for running full e2e test suite
|
# Image used for running full e2e test suite
|
||||||
e2e-full:
|
e2e-full:
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,12 @@
|
||||||
# Save amd64 chrome and arm64 .deb files to package registry
|
# Save amd64 chrome and arm64 .deb files to package registry
|
||||||
FROM debian:latest
|
ARG BUILD_OS=debian
|
||||||
|
ARG OS_VERSION=bullseye
|
||||||
|
FROM ${BUILD_OS}:${OS_VERSION}
|
||||||
|
|
||||||
ARG TARGETARCH
|
ARG TARGETARCH
|
||||||
|
|
||||||
|
ARG BUILD_OS
|
||||||
|
ARG OS_VERSION
|
||||||
ARG CI_API_V4_URL
|
ARG CI_API_V4_URL
|
||||||
ARG CI_PROJECT_ID
|
ARG CI_PROJECT_ID
|
||||||
ARG CI_JOB_TOKEN
|
ARG CI_JOB_TOKEN
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ ARG CUSTOM_BASE_IMAGE
|
||||||
FROM ${CUSTOM_BASE_IMAGE}
|
FROM ${CUSTOM_BASE_IMAGE}
|
||||||
|
|
||||||
ARG BUILD_OS
|
ARG BUILD_OS
|
||||||
|
ARG OS_VERSION
|
||||||
# TARGETARCH is automatically populated by buildx --platform argument
|
# TARGETARCH is automatically populated by buildx --platform argument
|
||||||
ARG TARGETARCH
|
ARG TARGETARCH
|
||||||
|
|
||||||
|
|
@ -35,7 +36,7 @@ RUN if [ -n "$GIT_VERSION" ]; then /scripts/install-git && git --version; fi
|
||||||
# Chrome
|
# Chrome
|
||||||
ARG CHROME_VERSION
|
ARG CHROME_VERSION
|
||||||
|
|
||||||
RUN if [ -n "$CHROME_VERSION" ]; then /scripts/install-chrome "$CHROME_VERSION" && ( google-chrome --version || chromium --version ); fi
|
RUN if [ -n "$CHROME_VERSION" ]; then /scripts/install-chrome "$CHROME_VERSION"; fi
|
||||||
|
|
||||||
# NodeJS and Yarn
|
# NodeJS and Yarn
|
||||||
ARG NODE_INSTALL_VERSION
|
ARG NODE_INSTALL_VERSION
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ function save-package() {
|
||||||
local REGISTRY_PACKAGE=${4:-$PKG}
|
local REGISTRY_PACKAGE=${4:-$PKG}
|
||||||
local SOURCE_DEB=${5:-$DEB}
|
local SOURCE_DEB=${5:-$DEB}
|
||||||
|
|
||||||
local URL="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${REGISTRY_PACKAGE}/${LATEST_VERSION}/${DEB}"
|
local URL="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${BUILD_OS}-${OS_VERSION}-${REGISTRY_PACKAGE}/${LATEST_VERSION}/${DEB}"
|
||||||
|
|
||||||
echo "Checking if ${PKG} v${LATEST_VERSION} is already cached"
|
echo "Checking if ${PKG} v${LATEST_VERSION} is already cached"
|
||||||
local FILE_CHECK=$(curl --silent --location --head --output /dev/null --write "%{http_code}\\n" "$URL")
|
local FILE_CHECK=$(curl --silent --location --head --output /dev/null --write "%{http_code}\\n" "$URL")
|
||||||
|
|
@ -81,6 +81,7 @@ function cache-chromium() {
|
||||||
|
|
||||||
function notify-chrome-updated() {
|
function notify-chrome-updated() {
|
||||||
[ ! -f chrome-version ] && exit
|
[ ! -f chrome-version ] && exit
|
||||||
|
[ -z "$CI_SLACK_WEBHOOK_URL" ] && exit
|
||||||
|
|
||||||
local chrome_version=$(cat chrome-version)
|
local chrome_version=$(cat chrome-version)
|
||||||
local msg="New version of chrome has been released: \`${chrome_version}\`!\n"
|
local msg="New version of chrome has been released: \`${chrome_version}\`!\n"
|
||||||
|
|
@ -103,5 +104,5 @@ if [ "$TARGETARCH" == "amd64" ]; then
|
||||||
cache-chromium
|
cache-chromium
|
||||||
else
|
else
|
||||||
cache-chromium
|
cache-chromium
|
||||||
notify-chrome-updated
|
[ "$NOTIFY_VERSION_UPDATE" == "true" ] && notify-chrome-updated || exit 0
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
|
|
@ -48,18 +48,26 @@ function build_debian() {
|
||||||
rm -rf /etc/apt/sources.list.d/google*.list
|
rm -rf /etc/apt/sources.list.d/google*.list
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function build_ubi() {
|
||||||
|
echo "This OS is not supported for chrome install!"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
BUILD_OS=${BUILD_OS:-debian}
|
BUILD_OS=${BUILD_OS:-debian}
|
||||||
|
OS_VERSION=${OS_VERSION:-bullseye}
|
||||||
CHROME_VERSION=${1:-107.0.5304.87-1}
|
CHROME_VERSION=${1:-107.0.5304.87-1}
|
||||||
ARCH=${TARGETARCH:-amd64}
|
ARCH=${TARGETARCH:-amd64}
|
||||||
if [ "${ARCH}" == "amd64" ]; then
|
PKG=$([ "${ARCH}" == "amd64" ] && echo "google-chrome-stable" || echo "chromium")
|
||||||
PKG=google-chrome-stable
|
DOWNLOAD_URL_BASE="https://gitlab.com/api/v4/projects/1075790/packages/generic/${BUILD_OS}-${OS_VERSION}-${PKG}"
|
||||||
else
|
|
||||||
PKG=chromium
|
|
||||||
fi
|
|
||||||
DOWNLOAD_URL_BASE="https://gitlab.com/api/v4/projects/1075790/packages/generic/${PKG}"
|
|
||||||
|
|
||||||
if [[ $BUILD_OS =~ debian ]]; then
|
if [[ $BUILD_OS =~ debian ]]; then
|
||||||
build_debian "$@"
|
build_debian "$@"
|
||||||
elif [[ $BUILD_OS =~ ubi ]]; then
|
elif [[ $BUILD_OS =~ ubi ]]; then
|
||||||
build_ubi "$@"
|
build_ubi "$@"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "${ARCH}" == "amd64" ]; then
|
||||||
|
google-chrome --version
|
||||||
|
else
|
||||||
|
chromium --version
|
||||||
|
fi
|
||||||
|
|
|
||||||
|
|
@ -18,11 +18,13 @@ function print_image_args() {
|
||||||
debian:*)
|
debian:*)
|
||||||
CUSTOM_BASE_IMAGE="$1:$2"
|
CUSTOM_BASE_IMAGE="$1:$2"
|
||||||
BUILD_OS=debian
|
BUILD_OS=debian
|
||||||
|
OS_VERSION=$2
|
||||||
;;
|
;;
|
||||||
|
|
||||||
ubi:8.*)
|
ubi:8.*)
|
||||||
CUSTOM_BASE_IMAGE="registry.access.redhat.com/ubi8/ubi:$2"
|
CUSTOM_BASE_IMAGE="registry.access.redhat.com/ubi8/ubi:$2"
|
||||||
BUILD_OS=ubi
|
BUILD_OS=ubi
|
||||||
|
OS_VERSION=$2
|
||||||
;;
|
;;
|
||||||
|
|
||||||
*) fail "Unknown image version $1:$2" ;;
|
*) fail "Unknown image version $1:$2" ;;
|
||||||
|
|
@ -30,6 +32,7 @@ function print_image_args() {
|
||||||
|
|
||||||
printf -- "--build-arg CUSTOM_BASE_IMAGE=%s " "$CUSTOM_BASE_IMAGE"
|
printf -- "--build-arg CUSTOM_BASE_IMAGE=%s " "$CUSTOM_BASE_IMAGE"
|
||||||
printf -- "--build-arg BUILD_OS=%s " "$BUILD_OS"
|
printf -- "--build-arg BUILD_OS=%s " "$BUILD_OS"
|
||||||
|
printf -- "--build-arg OS_VERSION=%s " "$OS_VERSION"
|
||||||
}
|
}
|
||||||
|
|
||||||
function print_golang_args() {
|
function print_golang_args() {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue