• Stefy Lanza (nextime / spora )'s avatar
    upgrade: fall back to the public mirror when the default remote is unreachable · f32a6c6c
    Stefy Lanza (nextime / spora ) authored
    `coderai-docker --upgrade` was unusable: git.nexlab.net's certificate expired on
    2026-09-15, the clone failed, and the script gave up — although the same
    production branch sits on the public GitHub mirror. Nobody running the published
    image has a stake in that host, so an unreachable default is now a detour, not a
    dead end.
    
    - packaging/linux/launcher/coderai-upgrade: clone_from() per remote; a connection
      /TLS/DNS failure on the DEFAULT remote retries the mirror and logs both the
      reason and the source it ended up using. A repo the operator named
      (--upgrade-repo / CODERAI_UPGRADE_REPO) or an SSH-key clone is never silently
      replaced, and a ref that does not exist stays an error — papering over that
      with the mirror would install the wrong code.
    - Two bugs found while testing it, both silent:
      * `if ! cmd; then rc=$?` captured the status of the negation (0 on failure),
        so the fallback branch could never run;
      * reqs_content() ran under `set -o pipefail` with a `[[ -f ]] && grep` group,
        so a tree without packaging/common/requirements-oci.txt (or with no deps at
        all) aborted the upgrade one line after "upgrading x -> y", with no message.
    - tests/test_upgrade_launcher.py: the real script against local git repos — no
      network — for the healthy default, the fallback, the explicit repo, a missing
      ref and an up-to-date install.
    
    The certificate itself is on the host serving git.nexlab.net (94.23.108.54, not
    lisa) and still needs renewing there.
    Co-Authored-By: 's avatarClaude Opus 5 (1M context) <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01B7EnDW6RSd2nhEPZMzMkqi
    f32a6c6c
Name
Last commit
Last update
codai Loading commit data...
docs Loading commit data...
packaging Loading commit data...
samples Loading commit data...
tests Loading commit data...
tools Loading commit data...
.dockerignore Loading commit data...
.gitignore Loading commit data...
AI.PROMPT Loading commit data...
CODERAI_API_DOCUMENTATION.md Loading commit data...
CoderAI.gif Loading commit data...
DISTRIBUTION.md Loading commit data...
LICENSE.md Loading commit data...
MULTIMODAL_CAPABILITIES.md Loading commit data...
MULTIMODAL_UI_EXAMPLES.md Loading commit data...
README.md Loading commit data...
REQUEST-geoclip-embeddings.md Loading commit data...
REQUEST-vpr-embeddings.md Loading commit data...
amdgpu-coredump-05000.bin Loading commit data...
build-oci.sh Loading commit data...
build.ps1 Loading commit data...
build.sh Loading commit data...
coderai Loading commit data...
coderai-broker-implementation-reference.md Loading commit data...
coderai-integration.md Loading commit data...
commands Loading commit data...
osxbuild.sh Loading commit data...
package-oci.sh Loading commit data...
package-tarball.sh Loading commit data...
requirements-crisperwhisper.txt Loading commit data...
requirements-h3.txt Loading commit data...
requirements-melotts.txt Loading commit data...
requirements-nemo.txt Loading commit data...
requirements-nvidia.txt Loading commit data...
requirements-ocr-paddle.txt Loading commit data...
requirements-ocr.txt Loading commit data...
requirements-pyannote.txt Loading commit data...
requirements-surya.txt Loading commit data...
requirements-vllm.txt Loading commit data...
requirements-vulkan.txt Loading commit data...
requirements.txt Loading commit data...
run-oci.sh Loading commit data...
smoke-test-oci.sh Loading commit data...
todo.md Loading commit data...