Skip to content

Commit cd883bb

Browse files
{  "message": "Bad credentials",  "documentation_url": "https://docs.github.com/rest",  "status": "401"}{  "message": "Bad credentials",  "documentation_url": "https://docs.github.com/rest",  "status": "401"}
authored andcommitted
ci: relax cold docker e2e timeouts
1 parent 60dac7b commit cd883bb

5 files changed

Lines changed: 29 additions & 10 deletions

File tree

.github/workflows/check.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ jobs:
100100
e2e-opencode:
101101
name: E2E (OpenCode)
102102
runs-on: ubuntu-latest
103-
timeout-minutes: 25
103+
timeout-minutes: 40
104104
steps:
105105
- uses: actions/checkout@v6
106106
- name: Install dependencies
@@ -113,7 +113,7 @@ jobs:
113113
e2e-clone-cache:
114114
name: E2E (Clone cache)
115115
runs-on: ubuntu-latest
116-
timeout-minutes: 25
116+
timeout-minutes: 40
117117
steps:
118118
- uses: actions/checkout@v6
119119
- name: Install dependencies
@@ -126,7 +126,7 @@ jobs:
126126
e2e-login-context:
127127
name: E2E (Login context)
128128
runs-on: ubuntu-latest
129-
timeout-minutes: 20
129+
timeout-minutes: 40
130130
steps:
131131
- uses: actions/checkout@v6
132132
- name: Install dependencies
@@ -139,7 +139,7 @@ jobs:
139139
e2e-runtime-volumes-ssh:
140140
name: E2E (Runtime volumes + SSH)
141141
runs-on: ubuntu-latest
142-
timeout-minutes: 25
142+
timeout-minutes: 40
143143
steps:
144144
- uses: actions/checkout@v6
145145
- name: Install dependencies
@@ -152,7 +152,7 @@ jobs:
152152
e2e-clone-auto-open-ssh:
153153
name: E2E (Clone auto-open SSH)
154154
runs-on: ubuntu-latest
155-
timeout-minutes: 25
155+
timeout-minutes: 40
156156
steps:
157157
- uses: actions/checkout@v6
158158
- name: Install dependencies

packages/api/Dockerfile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ ENV PATH=/opt/bun/bin:$PATH
1010
WORKDIR /workspace
1111

1212
RUN set -eu; \
13-
sed -i 's|http://archive.ubuntu.com/ubuntu|http://azure.archive.ubuntu.com/ubuntu|g' \
13+
sed -i \
14+
-e 's|http://archive.ubuntu.com/ubuntu|http://azure.archive.ubuntu.com/ubuntu|g' \
15+
-e 's|http://security.ubuntu.com/ubuntu|http://azure.archive.ubuntu.com/ubuntu|g' \
1416
/etc/apt/sources.list /etc/apt/sources.list.d/ubuntu.sources 2>/dev/null || true; \
1517
for attempt in 1 2 3; do \
1618
rm -rf /var/lib/apt/lists/*; \

packages/app/src/lib/core/templates/dockerfile.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ ENV DEBIAN_FRONTEND=noninteractive
99
ENV NVM_DIR=/usr/local/nvm
1010
1111
RUN set -eu; \
12+
sed -i \
13+
-e 's|http://archive.ubuntu.com/ubuntu|http://azure.archive.ubuntu.com/ubuntu|g' \
14+
-e 's|http://security.ubuntu.com/ubuntu|http://azure.archive.ubuntu.com/ubuntu|g' \
15+
/etc/apt/sources.list /etc/apt/sources.list.d/ubuntu.sources 2>/dev/null || true; \
1216
for attempt in 1 2 3 4 5; do \
1317
rm -rf /var/lib/apt/lists/*; \
1418
if apt-get -o Acquire::Retries=3 -o Acquire::By-Hash=force update; then \

packages/lib/src/core/templates/dockerfile.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ ENV DEBIAN_FRONTEND=noninteractive
88
ENV NVM_DIR=/usr/local/nvm
99
1010
RUN set -eu; \
11+
sed -i \
12+
-e 's|http://archive.ubuntu.com/ubuntu|http://azure.archive.ubuntu.com/ubuntu|g' \
13+
-e 's|http://security.ubuntu.com/ubuntu|http://azure.archive.ubuntu.com/ubuntu|g' \
14+
/etc/apt/sources.list /etc/apt/sources.list.d/ubuntu.sources 2>/dev/null || true; \
1115
for attempt in 1 2 3 4 5; do \
1216
rm -rf /var/lib/apt/lists/*; \
1317
if apt-get -o Acquire::Retries=3 -o Acquire::By-Hash=force update; then \

scripts/e2e/clone-auto-open-ssh.sh

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,9 @@ CLONE_LOG="$ROOT/clone-auto-open-ssh.log"
3535
SSH_INVOCATION_LOG="$ROOT/ssh-invocation.log"
3636
SSH_SESSION_LOG="$ROOT/ssh-session.log"
3737
RUN_SCRIPT="$ROOT/run-clone-auto-open-ssh.sh"
38-
# Cold controller/project image builds can exceed 5 minutes on GitHub-hosted runners.
39-
CLONE_AUTO_OPEN_TIMEOUT="${DOCKER_GIT_E2E_CLONE_AUTO_OPEN_TIMEOUT:-900s}"
38+
# Cold controller and project image builds can be slow on GitHub-hosted runners,
39+
# especially when Ubuntu/NodeSource package mirrors are cold.
40+
CLONE_AUTO_OPEN_TIMEOUT="${DOCKER_GIT_E2E_CLONE_AUTO_OPEN_TIMEOUT:-1800s}"
4041
FAILURE_DUMPED=0
4142

4243
fail() {
@@ -231,8 +232,16 @@ export DOCKER_GIT_E2E_CONTAINER_NAME="$CONTAINER_NAME"
231232
export DOCKER_GIT_SSH_KEY="$SSH_KEY"
232233
export REPO_ROOT REPO_URL ROOT SSH_PORT OUT_DIR_REL CONTAINER_NAME SERVICE_NAME VOLUME_NAME
233234

234-
timeout "$CLONE_AUTO_OPEN_TIMEOUT" script -q -e -c "$RUN_SCRIPT" /dev/null >"$CLONE_LOG" 2>&1 \
235-
|| fail "clone auto-open command failed"
235+
set +e
236+
timeout "$CLONE_AUTO_OPEN_TIMEOUT" script -q -e -c "$RUN_SCRIPT" /dev/null >"$CLONE_LOG" 2>&1
237+
clone_exit=$?
238+
set -e
239+
if [[ "$clone_exit" -eq 124 ]]; then
240+
fail "clone auto-open command timed out after $CLONE_AUTO_OPEN_TIMEOUT"
241+
fi
242+
if [[ "$clone_exit" -ne 0 ]]; then
243+
fail "clone auto-open command failed with exit code $clone_exit"
244+
fi
236245

237246
grep -Fq -- "Project created: octocat/hello-world" "$CLONE_LOG" \
238247
|| fail "expected clone log to confirm project creation"

0 commit comments

Comments
 (0)