-
Notifications
You must be signed in to change notification settings - Fork 3
Fix installer smoke registry dependency #214
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -47,19 +47,30 @@ jobs: | |
| smoke: | ||
| name: Installer Smoke Test | ||
| runs-on: ubuntu-latest | ||
| permissions: | ||
| contents: read | ||
| packages: read | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v4 | ||
|
|
||
| - name: Log in to GHCR | ||
| uses: docker/login-action@v3 | ||
| - name: Setup Node | ||
| uses: actions/setup-node@v4 | ||
| with: | ||
| registry: ghcr.io | ||
| username: ${{ github.actor }} | ||
| password: ${{ secrets.GITHUB_TOKEN }} | ||
| node-version: "22" | ||
|
|
||
| - name: Resolve tool versions | ||
| id: versions | ||
| env: | ||
| GH_TOKEN: ${{ github.token }} | ||
| run: bash ./scripts/resolve-tool-versions.sh | ||
|
|
||
| - name: Build local smoke image | ||
| run: | | ||
| docker build -t deva-smoke:ci \ | ||
| --build-arg CLAUDE_CODE_VERSION="${{ steps.versions.outputs.claude_code_version }}" \ | ||
| --build-arg CODEX_VERSION="${{ steps.versions.outputs.codex_version }}" \ | ||
| --build-arg GEMINI_CLI_VERSION="${{ steps.versions.outputs.gemini_cli_version }}" \ | ||
| --build-arg ATLAS_CLI_VERSION="${{ steps.versions.outputs.atlas_cli_version }}" \ | ||
| --build-arg COPILOT_API_VERSION="${{ steps.versions.outputs.copilot_api_version }}" \ | ||
| . | ||
|
|
||
| - name: Install and launch each agent without a TTY | ||
| shell: bash | ||
|
|
@@ -68,6 +79,8 @@ jobs: | |
| export HOME="$(mktemp -d)" | ||
| export PATH="$HOME/.local/bin:$PATH" | ||
| export DEVA_INSTALL_BASE_URL="file://$PWD" | ||
| export DEVA_DOCKER_IMAGE="deva-smoke:ci" | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
This step sets Useful? React with 👍 / 👎. |
||
| export DEVA_DOCKER_IMAGE_FALLBACK="" | ||
| export DEVA_NO_DOCKER=1 | ||
|
|
||
| bash ./install.sh | ||
|
|
||
| Original file line number | Diff line number | Diff line change | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -4,8 +4,8 @@ set -euo pipefail | |||||||||||||
| DEVA_LAUNCHER="deva.sh" | ||||||||||||||
| LEGACY_WRAPPER="claude.sh" | ||||||||||||||
| YOLO_WRAPPER="claude-yolo" | ||||||||||||||
| DOCKER_IMAGE="ghcr.io/thevibeworks/deva:latest" | ||||||||||||||
| DOCKER_IMAGE_FALLBACK="thevibeworks/deva:latest" | ||||||||||||||
| DOCKER_IMAGE="${DEVA_DOCKER_IMAGE:-ghcr.io/thevibeworks/deva:latest}" | ||||||||||||||
| DOCKER_IMAGE_FALLBACK="${DEVA_DOCKER_IMAGE_FALLBACK:-thevibeworks/deva:latest}" | ||||||||||||||
|
||||||||||||||
| DOCKER_IMAGE_FALLBACK="${DEVA_DOCKER_IMAGE_FALLBACK:-thevibeworks/deva:latest}" | |
| DOCKER_IMAGE_FALLBACK="${DEVA_DOCKER_IMAGE_FALLBACK-thevibeworks/deva:latest}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Preserve empty fallback override in installer
Using ${DEVA_DOCKER_IMAGE_FALLBACK:-thevibeworks/deva:latest} treats an explicitly empty value as unset, so DEVA_DOCKER_IMAGE_FALLBACK="" cannot actually disable fallback pulls even though the later branch checks for an empty string. In environments where the primary pull fails, this silently reintroduces a Docker Hub dependency and can break offline/private-registry install flows that this change is trying to decouple.
Useful? React with 👍 / 👎.
Copilot
AI
Mar 12, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
After successfully pulling the fallback image, the installer only prints a warning but doesn’t give an actionable way to run deva.sh with that fallback. Since deva.sh defaults to ghcr.io/thevibeworks/deva:latest, installs in environments without GHCR access will still fail at first launch unless the user sets the image env vars. Consider printing the exact export DEVA_DOCKER_IMAGE=.../DEVA_DOCKER_TAG=... guidance (or switching the effective image for the remainder of the session).
| echo "warning: using fallback image $DOCKER_IMAGE_FALLBACK" | |
| echo "warning: using fallback image $DOCKER_IMAGE_FALLBACK" | |
| echo "note: deva.sh defaults to $DOCKER_IMAGE and may fail without access to that registry." | |
| echo " To use the fallback image in this shell, run:" | |
| echo " export DEVA_DOCKER_IMAGE=\"$DOCKER_IMAGE_FALLBACK\"" | |
| echo " You can add that line to your shell profile to make the change permanent." |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
DEVA_DOCKER_IMAGEindeva.shis a repo name anddeva.shappends:${DEVA_DOCKER_TAG}. SettingDEVA_DOCKER_IMAGE="deva-smoke:ci"here will makedeva.shtry to rundeva-smoke:ci:latest(invalid image reference) and break the smoke test. SetDEVA_DOCKER_IMAGEtodeva-smokeandDEVA_DOCKER_TAGtoci(or adjustdeva.sh/installer semantics to accept a fully-qualified image reference).