diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cf477cfb16e0c375bba6de8529b854193be68dd1..80738bd6520749640d9e2c64406ccf9c4aa2667c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -46,8 +46,8 @@ variables: # uses registry.gitlab.syncad.com/hive/common-ci-configuration/python_development:3.12-u24.04 CLIVE_TESTNET_BASE_IMAGE_TAG: "@sha256:e4797f961fd6c6a843d100b1838422f3b674430af408664286c1b6a6b23baafa" CLIVE_TESTNET_BASE_IMAGE: "registry.gitlab.syncad.com/hive/common-ci-configuration/python_development${CLIVE_TESTNET_BASE_IMAGE_TAG}" - # uses registry.gitlab.syncad.com/hive/common-ci-configuration/python_runtime:3.12-u24.04 - CLIVE_BASE_IMAGE_TAG: "@sha256:e751423e7019033d0b70fd0cbd15d05a11fbc5a4756c7e547df63f7029c0f2aa" + # uses registry.gitlab.syncad.com/hive/common-ci-configuration/python_runtime:3.12-u24.04-1 + CLIVE_BASE_IMAGE_TAG: "@sha256:28f515d0cda87b9372b48f70b9d48468bc074ad9b54940827f2eebf49fd8521f" CLIVE_BASE_IMAGE: "registry.gitlab.syncad.com/hive/common-ci-configuration/python_runtime${CLIVE_BASE_IMAGE_TAG}" # other: AFTER_SCRIPT_IGNORE_ERRORS: 'false' # without this errors in after_script will be ignored and just "WARNING: after_script failed, but job will continue unaffected: exit code 1" will be shown diff --git a/docker/Dockerfile b/docker/Dockerfile index 7322f7705770f8fe1614fe1f84e599929bc87bcc..f1875e941d540ee8f17f65002099b717b94264dd 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -24,7 +24,11 @@ ENV PATH="${PYTHON_VENV_PATH}/bin:$PATH" VIRTUAL_ENV=${PYTHON_VENV_PATH} RUN --mount=type=cache,mode=0777,sharing=locked,target=${APT_CACHE_DIR} \ useradd -o -d /clive -ms /bin/bash -u ${CLIVE_UID} -g users -c "clive application account" "clive" && \ - mkdir -p /clive && chown -R clive /clive && mkdir -vp "${PYTHON_VENV_PATH}" && chown -R clive "${PYTHON_VENV_PATH}" && \ + mkdir -p /clive && mkdir -vp "${PYTHON_VENV_PATH}" && \ + chown -R clive:users /clive && \ + chmod -R g+w /clive && \ + chown -R clive:users "${PYTHON_VENV_PATH}" && \ + chmod -R g+w "${PYTHON_VENV_PATH}" && \ chown -R clive:users /var/cache/ && \ chmod -R 777 /var/cache/ @@ -62,7 +66,11 @@ ENV PATH="${PYTHON_VENV_PATH}/bin:$PATH" VIRTUAL_ENV=${PYTHON_VENV_PATH} RUN --mount=type=cache,mode=0777,sharing=locked,target=${APT_CACHE_DIR} \ useradd -o -d /clive -ms /bin/bash -u ${CLIVE_UID} -g users -c "clive application account" "clive" && \ - mkdir -p /clive && chown -R clive /clive && mkdir -vp "${PYTHON_VENV_PATH}" && chown -R clive "${PYTHON_VENV_PATH}" && \ + mkdir -p /clive && mkdir -vp "${PYTHON_VENV_PATH}" && \ + chown -R clive:users /clive && \ + chmod -R g+w /clive && \ + chown -R clive:users "${PYTHON_VENV_PATH}" && \ + chmod -R g+w "${PYTHON_VENV_PATH}" && \ chown -R clive:users /var/cache/ && \ chmod -R 777 /var/cache/ @@ -85,7 +93,10 @@ RUN --mount=type=cache,mode=0777,uid=${CLIVE_UID},target=${PIP_CACHE_DIR} \ --extra-index-url https://gitlab.syncad.com/api/v4/projects/393/packages/pypi/simple \ --extra-index-url https://gitlab.syncad.com/api/v4/projects/419/packages/pypi/simple \ --extra-index-url https://gitlab.syncad.com/api/v4/projects/434/packages/pypi/simple && \ - find "${PYTHON_VENV_PATH}" -name __pycache__ -exec rm -rf {} + + # Remove the cache so it is not included in the image to save space, but grant group write access so the clive user can generate it itself. + find "${PYTHON_VENV_PATH}" -name __pycache__ -exec rm -rf {} + && \ + chmod -R g+w "${PYTHON_VENV_PATH}" + FROM preconfigured_base_image AS instance