From f0b5e083ff94436156aa8610bf925c87e5ec6917 Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Wed, 25 Feb 2026 06:29:20 -0600 Subject: [PATCH] Fix build hangs: add apt-get network timeout and job timeout apt-get has no default network timeout, so an unresponsive Debian mirror can block a build stage indefinitely. Add Acquire::http::Timeout=30 to both update and install calls in all apt-get invocations so mirror hangs fail fast rather than running until GitHub's 6-hour job limit. Also add timeout-minutes: 60 to the build job so a runaway step fails within an hour rather than silently consuming the full 6-hour default. --- .github/workflows/build.yaml | 1 + build/Dockerfile | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 7b18b91..f5059a4 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -75,6 +75,7 @@ jobs: build: runs-on: ubuntu-latest + timeout-minutes: 60 if: (github.event_name == 'push' || github.event_name == 'workflow_dispatch') && github.ref == 'refs/heads/master' strategy: fail-fast: false diff --git a/build/Dockerfile b/build/Dockerfile index d47535d..7cd6a27 100644 --- a/build/Dockerfile +++ b/build/Dockerfile @@ -9,7 +9,7 @@ FROM debian:sid-slim AS build ARG version # Install build dependencies -RUN apt-get update && apt-get install -y golang build-essential libsecret-1-dev libfido2-dev libcbor-dev +RUN apt-get -o Acquire::http::Timeout=30 update && apt-get -o Acquire::http::Timeout=30 install -y golang build-essential libsecret-1-dev libfido2-dev libcbor-dev # Build ADD https://github.com/ProtonMail/proton-bridge.git#${version} /build/ @@ -27,8 +27,8 @@ HEALTHCHECK --interval=30s --timeout=10s --retries=3 --start-period=60s \ CMD bash -c "pgrep -f proton-bridge || exit 1" # Install runtime dependencies -RUN apt-get update \ - && apt-get install -y --no-install-recommends socat pass libsecret-1-0 libfido2-1 ca-certificates \ +RUN apt-get -o Acquire::http::Timeout=30 update \ + && apt-get -o Acquire::http::Timeout=30 install -y --no-install-recommends socat pass libsecret-1-0 libfido2-1 ca-certificates \ && rm -rf /var/lib/apt/lists/* # Copy bash scripts