13 Commits

Author SHA1 Message Date
ead2d530a6 fix(docker): replace removed Mesa packages for Ubuntu 24.04
libgl1-mesa-glx, libegl1-mesa, and libgles2-mesa were removed in
Noble — use their non-transitional replacements.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 04:16:39 +00:00
33e669cb1c fix(deployment): resolve pip ResolutionImpossible in base-pip-deps build
Align PyJWT (2.8.0→2.10.1) and requests (2.32.5→2.32.4) in pastebin
backend to match all other services. Replace futile retry loop with a
merge-and-deduplicate strategy that gives pip a single consistent set
of constraints.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 01:28:56 +00:00
9e892dcd74 refactor(deployment): remove 10 redundant shell scripts replaced by Python CLI
All deployment commands now go through deployment.py. Deleted:
build-base-images.sh, build-apps.sh, build-testcontainers.sh, deploy.sh,
start-stack.sh, release.sh, nexus-ci-init.sh, push-to-nexus.sh,
populate-nexus.sh, publish-npm-patches.sh.

Kept nexus-init.sh and artifactory-init.sh (Docker container entrypoints).
Updated all references in CLAUDE.md, README.md, AGENTS.md, ROADMAP.md,
deployment docs, Dockerfiles, and docker-compose comments.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 01:19:32 +00:00
03d07635a2 feat(deployment): add modular Python CLI, fix node-deps registry routing, bump to Node 24
- Dockerfile.node-deps: upgrade FROM node:22 to node:24
- Dockerfile.node-deps: rewrite main registry= line to Nexus when detected
  (was only rewriting scoped @esbuild-kit registry, leaving registry.npmjs.org
  unreachable inside Docker)
- Dockerfile.node-deps: fix sed ordering so cleanup of old auth lines runs
  before registry rewrite (prevents new registry= line from being deleted)
- Add deployment/cli/ modular Python CLI powered by JSON config, replacing
  12 shell scripts (build-base-images.sh, build-apps.sh, deploy.sh,
  start-stack.sh, release.sh, nexus-init.sh, nexus-ci-init.sh,
  push-to-nexus.sh, populate-nexus.sh, publish-npm-patches.sh,
  build-testcontainers.sh, artifactory-init.sh)
- Bump rocksdict 0.3.23 -> 0.3.29 (old version removed from PyPI)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 01:13:47 +00:00
c3eeb382bd fix(ci): use full node:22 image for base-node-deps build
node:20-slim lacks wget and curl, causing all registry connectivity
checks to silently fail and report reachable registries as UNREACHABLE.
Switching to the full node:22 image provides both tools and upgrades
to the current LTS.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 00:44:40 +00:00
72cb495512 fix(ci): auto-detect Nexus/Verdaccio registry in node-deps build
The Dockerfile now probes for Nexus (:8091) and Verdaccio (:4873) via
both host.docker.internal and localhost, then rewrites .npmrc to point
at whichever is running. This lets the same .npmrc work in CI
(Verdaccio) and on desktops (Nexus) without manual editing.

When neither registry is found, a prominent warning banner is printed
with instructions to start one, then the build continues using only
the public npm registry.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 00:38:22 +00:00
b1afe3aa0e fix(ci): fail fast with actionable error when npm registry unreachable
Dockerfile.node-deps now checks all registries in .npmrc before running
npm install, replacing a 20-minute retry loop with an immediate error
that tells the user to start Nexus/Verdaccio first. Also adds deployment
README documenting the full build order (registries → base images → apps → stack).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 00:33:11 +00:00
1dd86cfae2 stuff 2026-03-15 23:55:50 +00:00
0553c0f3ae fix(ci): generate Gradle wrapper from web instead of COPYing from projects
The android-sdk base image was failing because gradlew/gradle/ files
weren't available in the Docker build context. Replace per-project COPY
with `gradle wrapper` generation and a single stub warmup project.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-15 23:54:03 +00:00
Claude
3bb4349f0b Fix Docker build failure: copy postinstall patch script into build context
The .dockerignore excluded the scripts/ directory, so
scripts/patch-bundled-deps.sh was missing during npm install in the
base-node-deps Docker image. This caused the postinstall hook to fail
with "No such file or directory" on every retry.

- Whitelist scripts/patch-bundled-deps.sh in .dockerignore
- Add COPY for the script in Dockerfile.node-deps before npm install

https://claude.ai/code/session_01LsQx9CLjseJn72Sup32Dwm
2026-03-12 07:28:14 +00:00
rw
ad51d61ee4 fix(docker): switch base-node-deps from alpine to slim for bash support
The postinstall script (patch-bundled-deps.sh) requires bash, which is
not available on Alpine. This caused npm install to fail silently,
leaving node_modules empty and breaking the devcontainer build.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 22:08:56 +00:00
452ea7a785 fix(docker): fail node-deps build if npm install exhausts all retries
The retry loop exited with sleep's exit code (0) after all 5 attempts,
letting Docker commit an empty /app/node_modules layer. Added explicit
exit 1 on the final failed attempt so the build fails visibly instead
of producing a broken base image that downstream COPY --from cannot find.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-10 21:38:31 +00:00
862cc29457 various changes 2026-03-09 22:30:41 +00:00