diff --git a/.gitlab/ci/custom.images.yml b/.gitlab/ci/custom.images.yml index 74e9175..1026cf8 100644 --- a/.gitlab/ci/custom.images.yml +++ b/.gitlab/ci/custom.images.yml @@ -28,6 +28,9 @@ ubi-release: www-gitlab-com-debian-bullseye-ruby-3.0-node-16: extends: .build_static_image +www-gitlab-com-debian-bullseye-ruby-3.2-node-18: + extends: .build_static_image + build-git: extends: .build_static_image diff --git a/Dockerfile.www-gitlab-com-debian-bullseye-ruby-3.0-node-16 b/Dockerfile.www-gitlab-com-debian-bullseye-ruby-3.0-node-16 index 172b5df..d397c5a 100644 --- a/Dockerfile.www-gitlab-com-debian-bullseye-ruby-3.0-node-16 +++ b/Dockerfile.www-gitlab-com-debian-bullseye-ruby-3.0-node-16 @@ -14,6 +14,9 @@ RUN cd /usr/bin && find ../lib/google-cloud-sdk/bin -type f -executable -exec ln ADD /scripts/ /scripts/ ADD /patches /patches/ + +ENV NODE_INSTALL_VERSION=16.19.1 +ENV YARN_INSTALL_VERSION=1.22.19 RUN /scripts/install-www-gitlab-com # Set UTF-8 http://jaredmarkell.com/docker-and-locales/ diff --git a/Dockerfile.www-gitlab-com-debian-bullseye-ruby-3.2-node-18 b/Dockerfile.www-gitlab-com-debian-bullseye-ruby-3.2-node-18 new file mode 100644 index 0000000..2eed930 --- /dev/null +++ b/Dockerfile.www-gitlab-com-debian-bullseye-ruby-3.2-node-18 @@ -0,0 +1,26 @@ +ARG GCLOUD_VERSION=413.0.0 + +# Google-cloud-sdk +# +# gsutil 5.18 unnecessarily requires the storage.buckets.get +# permission: https://github.com/GoogleCloudPlatform/gsutil/issues/1663 +FROM gcr.io/google.com/cloudsdktool/cloud-sdk:$GCLOUD_VERSION as gcloud-sdk +FROM ruby:3.2.1-slim-bullseye + +# Install Google Cloud SDK for deploys via rsync +COPY --from=gcloud-sdk /usr/lib/google-cloud-sdk /usr/lib/google-cloud-sdk +COPY --from=gcloud-sdk /usr/share/google-cloud-sdk /usr/share/google-cloud-sdk +RUN cd /usr/bin && find ../lib/google-cloud-sdk/bin -type f -executable -exec ln -s {} \;; cd - + +ADD /scripts/ /scripts/ +ADD /patches /patches/ + +ENV NODE_INSTALL_VERSION=18.14.2 +ENV YARN_INSTALL_VERSION=1.22.19 +RUN /scripts/install-www-gitlab-com + +# Set UTF-8 http://jaredmarkell.com/docker-and-locales/ +# Must be set after install-essentials is run +ENV LANG C.UTF-8 +ENV LANGUAGE C +ENV LC_ALL C.UTF-8 diff --git a/scripts/install-node b/scripts/install-node index 7e0233e..24be9f5 100755 --- a/scripts/install-node +++ b/scripts/install-node @@ -2,14 +2,11 @@ set -xeuo pipefail IFS=$'\n\t' -NODE_INSTALL_VERSION=${1:-18.12.1} -YARN_INSTALL_VERSION=${2:-1.22.19} - # Map MAJOR.MINOR.patch -> MAJOR.x -NODE_MAJOR=`echo $NODE_INSTALL_VERSION | sed -r -e "s/([0-9]+)\.[0-9]+.*/\1\.x/g"` +NODE_MAJOR=$(echo "$NODE_INSTALL_VERSION" | sed -r -e "s/([0-9]+)\.[0-9]+.*/\1\.x/g") # add official debian repos for node -curl -sS -L https://deb.nodesource.com/setup_${NODE_MAJOR} | bash - +curl -sS -L "https://deb.nodesource.com/setup_${NODE_MAJOR}" | bash - apt-get update @@ -18,9 +15,12 @@ curl -s -O "https://deb.nodesource.com/node_$NODE_MAJOR/pool/main/n/nodejs/$NODE dpkg -i "$NODE_FILE_NAME" rm -f "$NODE_FILE_NAME" -npm install --global yarn@${YARN_INSTALL_VERSION} +npm install --global "yarn@${YARN_INSTALL_VERSION}" npm cache clean --force apt-get autoremove -yq apt-get clean -yqq rm -rf /var/lib/apt/lists/* + +node --version +yarn --version diff --git a/scripts/install-www-gitlab-com b/scripts/install-www-gitlab-com index 29dda8a..4a322cf 100755 --- a/scripts/install-www-gitlab-com +++ b/scripts/install-www-gitlab-com @@ -20,9 +20,7 @@ function build_debian() { apt-get install -yq --no-install-recommends imagemagick # Install node & yarn - NODE_INSTALL_VERSION=16.14.2 - YARN_INSTALL_VERSION=1.22.19 - /scripts/install-node $NODE_INSTALL_VERSION $YARN_INSTALL_VERSION && node --version && yarn --version + /scripts/install-node "${NODE_INSTALL_VERSION} ${YARN_INSTALL_VERSION}" # Install gitlab-runner curl -O -J -L "https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-ci-multi-runner-linux-${TARGETARCH:-amd64}"