Skip to content

Commit 9afd7dc

Browse files
authored
Merge pull request #214 from thevibeworks/fix/installer-smoke
Fix installer smoke registry dependency
2 parents 3f81942 + 99f5050 commit 9afd7dc

File tree

3 files changed

+39
-18
lines changed

3 files changed

+39
-18
lines changed

.github/workflows/ci.yml

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -47,19 +47,30 @@ 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
54+
- name: Setup Node
55+
uses: actions/setup-node@v4
5956
with:
60-
registry: ghcr.io
61-
username: ${{ github.actor }}
62-
password: ${{ secrets.GITHUB_TOKEN }}
57+
node-version: "22"
58+
59+
- name: Resolve tool versions
60+
id: versions
61+
env:
62+
GH_TOKEN: ${{ github.token }}
63+
run: bash ./scripts/resolve-tool-versions.sh
64+
65+
- name: Build local smoke image
66+
run: |
67+
docker build -t deva-smoke:ci \
68+
--build-arg CLAUDE_CODE_VERSION="${{ steps.versions.outputs.claude_code_version }}" \
69+
--build-arg CODEX_VERSION="${{ steps.versions.outputs.codex_version }}" \
70+
--build-arg GEMINI_CLI_VERSION="${{ steps.versions.outputs.gemini_cli_version }}" \
71+
--build-arg ATLAS_CLI_VERSION="${{ steps.versions.outputs.atlas_cli_version }}" \
72+
--build-arg COPILOT_API_VERSION="${{ steps.versions.outputs.copilot_api_version }}" \
73+
.
6374
6475
- name: Install and launch each agent without a TTY
6576
shell: bash
@@ -68,6 +79,8 @@ jobs:
6879
export HOME="$(mktemp -d)"
6980
export PATH="$HOME/.local/bin:$PATH"
7081
export DEVA_INSTALL_BASE_URL="file://$PWD"
82+
export DEVA_DOCKER_IMAGE="deva-smoke:ci"
83+
export DEVA_DOCKER_IMAGE_FALLBACK=""
7184
export DEVA_NO_DOCKER=1
7285
7386
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)