diff --git a/.gitlab/ci/pipelines/base_images.yml b/.gitlab/ci/pipelines/base_images.yml index c7cc43fee4ec52352c51498f4b8d088a4b0389b1..ee45d4568d60b4eac90835f43815301952096989 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 5897d55ff6944d4f235262e58a6860710ba0a332..deea2a3f20be7c9166f53b703a37b1047e51538c 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 0000000000000000000000000000000000000000..b4eb74f4276735588536c68da1abbb53f10a8277 --- /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