Skip to content

Commit 78ba92b

Browse files
committed
fix(ci): stop installer smoke depending on registry auth
- reuse a prebuilt local image instead of blindly pulling every time - make installer smoke build its own image so CI stays hermetic - keep 0.9.2 release notes aligned with the actual fix
1 parent 3f81942 commit 78ba92b

3 files changed

Lines changed: 22 additions & 19 deletions

File tree

.github/workflows/ci.yml

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -47,19 +47,12 @@ jobs:
4747
smoke:
4848
name: Installer Smoke Test
4949
runs-on: ubuntu-latest
50-
permissions:
51-
contents: read
52-
packages: read
5350
steps:
5451
- name: Checkout
5552
uses: actions/checkout@v4
5653

57-
- name: Log in to GHCR
58-
uses: docker/login-action@v3
59-
with:
60-
registry: ghcr.io
61-
username: ${{ github.actor }}
62-
password: ${{ secrets.GITHUB_TOKEN }}
54+
- name: Build local smoke image
55+
run: docker build -t deva-smoke:ci .
6356

6457
- name: Install and launch each agent without a TTY
6558
shell: bash
@@ -68,6 +61,8 @@ jobs:
6861
export HOME="$(mktemp -d)"
6962
export PATH="$HOME/.local/bin:$PATH"
7063
export DEVA_INSTALL_BASE_URL="file://$PWD"
64+
export DEVA_DOCKER_IMAGE="deva-smoke:ci"
65+
export DEVA_DOCKER_IMAGE_FALLBACK=""
7166
export DEVA_NO_DOCKER=1
7267
7368
bash ./install.sh

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2323
- Config-home fan-out skips loose credential files, backup files, VCS junk, and `.DS_Store`
2424
- Auth-specific persistent containers now include the agent in the name suffix, avoiding cross-agent reuse with the wrong env or mounts
2525
- `install.sh` now installs the full current agent set, including Gemini and `shared_auth.sh`
26+
- `install.sh` now reuses a prebuilt local image instead of blindly pulling, so CI smoke no longer depends on registry auth
2627
- release and nightly container workflows now resolve tool versions through the same script, and release no longer invents a local commit inside Actions
2728

2829
### Changed

install.sh

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ set -euo pipefail
44
DEVA_LAUNCHER="deva.sh"
55
LEGACY_WRAPPER="claude.sh"
66
YOLO_WRAPPER="claude-yolo"
7-
DOCKER_IMAGE="ghcr.io/thevibeworks/deva:latest"
8-
DOCKER_IMAGE_FALLBACK="thevibeworks/deva:latest"
7+
DOCKER_IMAGE="${DEVA_DOCKER_IMAGE:-ghcr.io/thevibeworks/deva:latest}"
8+
DOCKER_IMAGE_FALLBACK="${DEVA_DOCKER_IMAGE_FALLBACK:-thevibeworks/deva:latest}"
99
INSTALL_BASE_URL="${DEVA_INSTALL_BASE_URL:-https://raw.githubusercontent.com/thevibeworks/deva/main}"
1010

1111
agent_files=(
@@ -55,14 +55,21 @@ for file in "${agent_files[@]}"; do
5555
done
5656

5757
echo ""
58-
echo "Pulling Docker image..."
59-
if ! docker pull "$DOCKER_IMAGE"; then
60-
echo "GHCR pull failed. Trying Docker Hub..."
61-
docker pull "$DOCKER_IMAGE_FALLBACK"
62-
echo ""
63-
echo "warning: using Docker Hub fallback image"
64-
echo "set this if you want Docker Hub by default:"
65-
echo " export DEVA_DOCKER_IMAGE=thevibeworks/deva"
58+
if docker image inspect "$DOCKER_IMAGE" >/dev/null 2>&1; then
59+
echo "Using local Docker image: $DOCKER_IMAGE"
60+
else
61+
echo "Pulling Docker image..."
62+
if ! docker pull "$DOCKER_IMAGE"; then
63+
if [ -n "$DOCKER_IMAGE_FALLBACK" ] && [ "$DOCKER_IMAGE_FALLBACK" != "$DOCKER_IMAGE" ]; then
64+
echo "Primary pull failed. Trying fallback image..."
65+
docker pull "$DOCKER_IMAGE_FALLBACK"
66+
echo ""
67+
echo "warning: using fallback image $DOCKER_IMAGE_FALLBACK"
68+
else
69+
echo "error: failed to pull Docker image $DOCKER_IMAGE" >&2
70+
exit 1
71+
fi
72+
fi
6673
fi
6774

6875
echo ""

0 commit comments

Comments
 (0)