From a3e59a8c425d89325aa221398aaa52ca19350ba3 Mon Sep 17 00:00:00 2001 From: Gunnar Kreitz Date: Wed, 28 May 2025 13:48:53 +0200 Subject: [PATCH 1/3] Add -d flag to update_docker to allow easier testing locally --- admin/update_docker.sh | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/admin/update_docker.sh b/admin/update_docker.sh index af3d5ae5..0f0f35a9 100755 --- a/admin/update_docker.sh +++ b/admin/update_docker.sh @@ -1,8 +1,19 @@ #!/bin/bash set -e +ALLOW_DIRTY=false TAG=develop UPDATE_LATEST=false + +while getopts "d" opt; do + case $opt in + d) ALLOW_DIRTY=true ;; + \?) echo "Invalid option: -$opt" ;; + esac +done + +shift $((OPTIND-1)) + if [ "$1" != "" ]; then TAG=$1 UPDATE_LATEST=true @@ -13,12 +24,12 @@ cd $(dirname $(readlink -f $0))/docker if [[ -n $(git status -s) ]]; then echo "Repository is dirty." git status -s - exit 1 + [[ "${ALLOW_DIRTY}" != "true" ]] && exit 1 fi if [[ $(git rev-parse --abbrev-ref HEAD) != ${TAG} && $(git describe --exact-match --tags 2>/dev/null) != ${TAG} ]]; then echo "Repository is currently not on branch/tag ${TAG}." - exit 1 + [[ "${ALLOW_DIRTY}" != "true" ]] && exit 1 fi From 176458b1443e949f61fbe0c9fc0c9eb152680cd6 Mon Sep 17 00:00:00 2001 From: Gunnar Kreitz Date: Wed, 28 May 2025 13:49:40 +0200 Subject: [PATCH 2/3] Fix broken git clone command (`${TAG}` expanded to empty string) --- admin/update_docker.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/admin/update_docker.sh b/admin/update_docker.sh index 0f0f35a9..0547ae60 100755 --- a/admin/update_docker.sh +++ b/admin/update_docker.sh @@ -49,7 +49,7 @@ mkdir -p artifacts sudo rm -rf artifacts/deb # Use our build image to build a deb docker run --rm -v "$(pwd)/../..:/problemtools" -v "$(pwd)/artifacts/deb:/artifacts" problemtools/build:${TAG} \ - /bin/bash -c ' + /bin/bash -c " set -e ; mkdir /build ; cd /build ; @@ -57,7 +57,7 @@ docker run --rm -v "$(pwd)/../..:/problemtools" -v "$(pwd)/artifacts/deb:/artifa git clone --branch ${TAG} /problemtools ; cd problemtools ; make builddeb ; - cp ../*.deb /artifacts' + cp ../*.deb /artifacts" sudo chown -R $USER:$USER artifacts/ From b7b769ecdb4e01d67f3092d0f271fd3b520ce49d Mon Sep 17 00:00:00 2001 From: Gunnar Kreitz Date: Wed, 28 May 2025 13:50:28 +0200 Subject: [PATCH 3/3] Fix silly error in docker file, causing apt-get update not to run --- admin/docker/Dockerfile.build | 2 +- admin/docker/Dockerfile.fulllangs | 2 +- admin/docker/Dockerfile.githubci | 2 +- admin/docker/Dockerfile.icpclangs | 2 +- admin/docker/Dockerfile.runreqs | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/admin/docker/Dockerfile.build b/admin/docker/Dockerfile.build index a9f68210..b8080fe1 100644 --- a/admin/docker/Dockerfile.build +++ b/admin/docker/Dockerfile.build @@ -11,7 +11,7 @@ ENV DEBIAN_FRONTEND=noninteractive # Packages required to build and run problemtools RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ --mount=type=cache,target=/var/lib/apt,sharing=locked \ - rm -f /etc/apt/apt.conf.d/docker-clean \ + rm -f /etc/apt/apt.conf.d/docker-clean && \ apt-get update && apt-get install -y \ automake \ build-essential \ diff --git a/admin/docker/Dockerfile.fulllangs b/admin/docker/Dockerfile.fulllangs index 50ca8c36..cc0dd3df 100644 --- a/admin/docker/Dockerfile.fulllangs +++ b/admin/docker/Dockerfile.fulllangs @@ -12,7 +12,7 @@ ENV DEBIAN_FRONTEND=noninteractive # All languages, plus curl which we need to fetch pypy2 RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ --mount=type=cache,target=/var/lib/apt,sharing=locked \ - rm -f /etc/apt/apt.conf.d/docker-clean \ + rm -f /etc/apt/apt.conf.d/docker-clean && \ apt-get update && apt-get install -y \ curl \ fp-compiler \ diff --git a/admin/docker/Dockerfile.githubci b/admin/docker/Dockerfile.githubci index 024bf773..7c4b5217 100644 --- a/admin/docker/Dockerfile.githubci +++ b/admin/docker/Dockerfile.githubci @@ -11,7 +11,7 @@ ENV DEBIAN_FRONTEND=noninteractive # Packages required to build and run problemtools RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ --mount=type=cache,target=/var/lib/apt,sharing=locked \ - rm -f /etc/apt/apt.conf.d/docker-clean \ + rm -f /etc/apt/apt.conf.d/docker-clean && \ apt-get update && apt-get install -y \ automake \ build-essential \ diff --git a/admin/docker/Dockerfile.icpclangs b/admin/docker/Dockerfile.icpclangs index 36fe83ae..c2ce8782 100644 --- a/admin/docker/Dockerfile.icpclangs +++ b/admin/docker/Dockerfile.icpclangs @@ -11,7 +11,7 @@ ENV DEBIAN_FRONTEND=noninteractive RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ --mount=type=cache,target=/var/lib/apt,sharing=locked \ - rm -f /etc/apt/apt.conf.d/docker-clean \ + rm -f /etc/apt/apt.conf.d/docker-clean && \ apt-get update && apt-get install -y \ gcc \ g++ \ diff --git a/admin/docker/Dockerfile.runreqs b/admin/docker/Dockerfile.runreqs index 27451da4..c27486dd 100644 --- a/admin/docker/Dockerfile.runreqs +++ b/admin/docker/Dockerfile.runreqs @@ -13,7 +13,7 @@ ENV DEBIAN_FRONTEND=noninteractive # (and we need libgmp-dev in other images), we take libgmp-dev here RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ --mount=type=cache,target=/var/lib/apt,sharing=locked \ - rm -f /etc/apt/apt.conf.d/docker-clean \ + rm -f /etc/apt/apt.conf.d/docker-clean && \ apt-get update && apt-get install -y \ dvisvgm \ ghostscript \