From 76471d25c61032071f2bd49069feb326f337bda3 Mon Sep 17 00:00:00 2001 From: Pietro Abate Date: Fri, 20 Jun 2025 15:08:29 +0200 Subject: [PATCH] images: add apk base images --- .gitlab/ci/pipelines/base_images.yml | 23 +++++++++++++++++++++++ ci/bin/base_images.ml | 11 +++++++++++ images/base-images/Dockerfile.alpine | 28 ++++++++++++++++++++++++++++ 3 files changed, 62 insertions(+) create mode 100644 images/base-images/Dockerfile.alpine diff --git a/.gitlab/ci/pipelines/base_images.yml b/.gitlab/ci/pipelines/base_images.yml index c7cc43fee4ec..ee45d4568d60 100644 --- a/.gitlab/ci/pipelines/base_images.yml +++ b/.gitlab/ci/pipelines/base_images.yml @@ -119,3 +119,26 @@ oc.base-images.rockylinux: matrix: - RELEASE: - "9.6" + +oc.base-images.alpine: + image: ${GCP_REGISTRY}/tezos/docker-images/ci-docker:v1.13.0 + stage: images + tags: + - gcp_very_high_cpu + dependencies: [] + timeout: 60 minutes + before_script: + - . ./scripts/ci/datadog_send_job_info.sh + - ./scripts/ci/docker_initialize.sh + script: + - scripts/ci/build-base-images.sh images/base-images/Dockerfile.alpine + services: + - docker:${DOCKER_VERSION}-dind + variables: + DOCKER_VERSION: 24.0.7 + DISTRIBUTION: alpine + IMAGE_PATH: alpine + parallel: + matrix: + - RELEASE: + - "3.20" diff --git a/ci/bin/base_images.ml b/ci/bin/base_images.ml index 5897d55ff694..deea2a3f20be 100644 --- a/ci/bin/base_images.ml +++ b/ci/bin/base_images.ml @@ -16,6 +16,8 @@ let rockylinux_matrix = [[("RELEASE", ["9.6"])]] let fedora_matrix = [[("RELEASE", ["39"; "42"])]] +let alpine_matrix = [[("RELEASE", ["3.20"])]] + let jobs = let make_job_base_images ~__POS__ ~name ~matrix ~distribution ?image_path dockerfile = @@ -70,11 +72,20 @@ let jobs = ~matrix:rockylinux_matrix "images/base-images/Dockerfile.rpm" in + let job_alpine_based_images = + make_job_base_images + ~__POS__ + ~name:"oc.base-images.alpine" + ~distribution:"alpine" + ~matrix:alpine_matrix + "images/base-images/Dockerfile.alpine" + in [ job_debian_based_images; job_ubuntu_based_images; job_fedora_based_images; job_rockylinux_based_images; + job_alpine_based_images; ] let child_pipeline = diff --git a/images/base-images/Dockerfile.alpine b/images/base-images/Dockerfile.alpine new file mode 100644 index 000000000000..b4eb74f42767 --- /dev/null +++ b/images/base-images/Dockerfile.alpine @@ -0,0 +1,28 @@ +ARG IMAGE=invalid +# the image with proper version is set as ARG +#hadolint ignore=DL3006 +FROM ${IMAGE} + +SHELL ["/bin/ash", "-euo", "pipefail", "-c"] + +ENV TZ=Etc/UTC + +# hadolint ignore=DL3018,DL3019 +RUN apk update && apk add --no-cache npm curl jq + +# Set NPM registry +# NPM_REGISTRY_DOMAIN and NPM_REGISTRY are set in the GitLab CI/CD +ARG NPM_REGISTRY_DOMAIN +ARG NPM_REGISTRY +COPY images/ci/datadog/package.json \ + images/ci/datadog/package-lock.json \ + /usr/local/lib/datadog/ + +# hadolint ignore=DL3003 +RUN --mount=type=secret,id=npm_token \ + if [ -n "$NPM_REGISTRY" ] ; then \ + npm set registry "$NPM_REGISTRY" && \ + npm set //"${NPM_REGISTRY_DOMAIN}":_authToken="$(cat /run/secrets/npm_token)"; \ + fi \ + && cd /usr/local/lib/datadog && npm ci +ENV PATH=/usr/local/lib/datadog/node_modules/.bin:$PATH -- GitLab