Repository navigation
feat(ci): route in-image pnpm installs through Verdaccio when reachable - #4
Merged
Merged
Conversation
The k8s-build images (plane-web / plane-space) install all packages inside Dockerfile.web / Dockerfile.space, which previously always hit the public npm registry. Add an optional VERDACCIO_REGISTRY build-arg with a 3s reachability probe in the same RUN layer as 'pnpm fetch': reachable -> append registry= to the image-local .npmrc (pnpm-lock v9 stores no default-registry tarball URLs, so config alone suffices); unreachable or unset -> warn and keep the public registry. No token or secret enters any layer. k8s-build.yml passes the org var unconditionally; the probe makes it safe on GitHub-hosted fallback runners where the LAN VIP is unreachable. Diff is deliberately small and fenced with 'Ever customization' markers to minimize upstream (makeplane/plane) merge burden. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Member
Author
|
Merging past the red checks - proof they are pre-existing on
Everything this PR can influence is green: Build packages, check:lint, check:types, Copy Right Check, license/cla, React Doctor, Analyze (actions / javascript-typescript). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
The
k8s-buildimages (plane-web/plane-space) do all package installs insideapps/web/Dockerfile.webandapps/space/Dockerfile.space, which previously always hit the public npm registry from the LAN runners.ARG VERDACCIO_REGISTRY=""plus a 3-second reachability probe in the same RUN layer aspnpm fetch. Reachable -> appendregistry=<verdaccio>to the image-local.npmrc(the project.npmrcdefines noregistrykey, and pnpm-lock v9 stores no tarball URLs for the default registry, so config alone is sufficient - no lockfile rewrite). Unreachable or unset -> warn and keep the public registry. No token or secret enters any layer.VERDACCIO_REGISTRYfrom the org var as a build-arg in the (single, matrixed) build-push step. Passing it unconditionally is safe: on a GitHub-hosted fallback runner the LAN VIP probe fails fast and the build proceeds on the public registry.Why the diff looks like this
This fork tracks upstream
makeplane/planeon one branch (preview), so the change is deliberately small and fenced withEver customizationmarkers to keep upstream-merge burden minimal. Only the two Dockerfiles thatk8s-buildactually builds are touched (admin/live/api are built by the upstreambuild-branch.ymlonly, and take no build-arg from us - left untouched on purpose).Verification plan
Merge ->
k8s-buildruns on push topreview-> BuildKit log shows the probe verdict (Verdaccio reachable -> using http://...) and the fetch output on the LAN runners.🤖 Generated with Claude Code