From 37315fcf6cc03e709fce37ef670ecc996ec75188 Mon Sep 17 00:00:00 2001 From: nanxun Date: Wed, 12 Aug 2026 16:00:37 +0800 Subject: [PATCH] fix(ci): retry verified pgvector downloads --- Dockerfile | 15 +++++++++++---- tests/test_fnos_dependency_script.py | 2 ++ 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index b6d556b..967db38 100644 --- a/Dockerfile +++ b/Dockerfile @@ -32,10 +32,17 @@ RUN sed -i \ /etc/apt/sources.list /etc/apt/sources.list.d/*.sources 2>/dev/null || true \ && apt-get update \ && apt-get install -y --no-install-recommends ca-certificates curl ffmpeg postgresql-15 postgresql-client-15 rclone tini \ - && curl --fail --location --retry 4 --retry-all-errors \ - "https://apt.postgresql.org/pub/repos/apt/pool/main/p/pgvector/postgresql-15-pgvector_${PGVECTOR_PACKAGE_VERSION_URL}_amd64.deb" \ - --output /tmp/pgvector.deb \ - && printf '%s %s\n' "$PGVECTOR_SHA256" /tmp/pgvector.deb | sha256sum --check --status \ + && verified=0 \ + && for attempt in 1 2 3 4; do \ + rm -f /tmp/pgvector.deb; \ + curl --fail --location --connect-timeout 20 --max-time 120 \ + "https://apt.postgresql.org/pub/repos/apt/pool/main/p/pgvector/postgresql-15-pgvector_${PGVECTOR_PACKAGE_VERSION_URL}_amd64.deb" \ + --output /tmp/pgvector.deb \ + && printf '%s %s\n' "$PGVECTOR_SHA256" /tmp/pgvector.deb | sha256sum --check --status \ + && verified=1 && break; \ + sleep "$attempt"; \ + done \ + && test "$verified" = 1 \ && dpkg -i /tmp/pgvector.deb \ && rm -f /tmp/pgvector.deb \ && rm -rf /var/lib/apt/lists/* diff --git a/tests/test_fnos_dependency_script.py b/tests/test_fnos_dependency_script.py index 53d3988..329c4cb 100644 --- a/tests/test_fnos_dependency_script.py +++ b/tests/test_fnos_dependency_script.py @@ -29,3 +29,5 @@ def test_docker_build_uses_domestic_dependency_mirrors() -> None: assert "mirrors.tuna.tsinghua.edu.cn/debian" in dockerfile assert "registry.npmmirror.com" in dockerfile assert '--index-url "$PIP_INDEX_URL"' in dockerfile + assert 'for attempt in 1 2 3 4' in dockerfile + assert 'test "$verified" = 1' in dockerfile