Skip to content

chore: remove committed dist/ artifacts, build from source via prepare script - #473

Merged
ericksoa merged 2 commits into
mainfrom
fix/issue-457-remove-committed-dist
Mar 20, 2026
Merged

chore: remove committed dist/ artifacts, build from source via prepare script#473
ericksoa merged 2 commits into
mainfrom
fix/issue-457-remove-committed-dist

Conversation

@ericksoa

@ericksoa ericksoa commented Mar 20, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Fixes Remove committed dist/ build artifacts from git tracking #457 — removes 76 compiled TypeScript files from git tracking (-2,927 lines)
  • Adds prepare lifecycle script that builds dist on-the-fly during npm install and npm install -g git+url
  • Converts Dockerfile to multi-stage build (builder stage compiles TS, runtime stage copies only built artifacts)
  • Removes hard-fail dist check from setup.sh

⚠️ Risk Assessment — HIGH

This change affects every install path. If the prepare script fails silently, new users get a broken install with no dist/ and no error message. Please review carefully.

The prepare script uses env -u npm_config_global -u npm_config_prefix -u npm_config_omit to clear inherited npm environment variables. This is required because npm install -g exports these vars into child processes, which causes the child npm install inside the prepare script to skip devDependencies (including typescript) or attempt a global install instead of a local one. This took 6 rounds of testing to get right — the npm lifecycle environment inheritance is poorly documented and full of edge cases.

Install paths affected

  • npm install (local dev) — uses prepare
  • npm install -g git+https://... (primary user install via install.sh) — uses prepare
  • npm install -g . (local global install) — uses prepare
  • docker build (sandbox creation) — multi-stage build, no longer depends on pre-built dist
  • scripts/setup.sh (onboarding) — no longer hard-fails on missing dist

What could go wrong

  • If env -u isn't available on a platform (unlikely — it's POSIX)
  • If npm changes how lifecycle env vars are inherited in a future version
  • If a user runs npm install --ignore-scripts — dist won't be built (expected, documented)

Test plan

Tested through 6 rounds with an independent tester instance. Earlier rounds failed due to:

  • Round 1: tsc not available (devDeps skipped in production mode)
  • Round 2: npm squatter tsc package resolved instead of typescript
  • Round 3: npx -p typescript tsc couldn't resolve the binary in global context
  • Round 4: --include=dev couldn't override inherited npm_config_omit
  • Round 5: npm_config_global=true inherited, child npm did global install
  • Round 6: PASS — all 15 tests using env -u to clear inherited vars

Tests passed (15/15)

  • rm -rf nemoclaw/dist/ && npm install — prepare builds dist from source
  • Critical dist files generated (cli.js, index.js, logs.js, exec.js)
  • npm install -g . succeeds in clean environment — the ship-blocker test
  • nemoclaw help works after install
  • Full test suite: 167/167 pass
  • docker build . succeeds (multi-stage)
  • Docker image has dist/index.js, does NOT have src/
  • Plugin config (openclaw.plugin.json) present in image
  • Hard-fail dist check removed from setup.sh
  • src/ no longer deleted from build context
  • .gitignore correctly ignores rebuilt dist/
  • Manual npm run build still works
  • npm files whitelist still includes nemoclaw/dist/
  • No nested prepare script in nemoclaw/package.json

Summary by CodeRabbit

  • Chores
    • Improved build pipeline with multi-stage compilation for smaller runtime images and clearer artifact handling
    • Adjusted package preparation to sanitize environment before install and compile steps
    • Expanded ignore rules to exclude additional build/artifact and draft files from version control
    • Simplified setup and sandbox staging by removing strict pre-build checks and narrowing cleanup to avoid removing source files

…e script

Fixes #457. Removes 76 compiled TypeScript files from git tracking.
The npm `prepare` lifecycle script now builds dist on-the-fly during
`npm install` and `npm install -g git+url`, using `env -u` to clear
inherited npm config vars that would otherwise break the child install
in global/production contexts.

- Add `prepare` script to root package.json
- Remove `!nemoclaw/dist/` negation from .gitignore
- Convert Dockerfile to multi-stage build (builder compiles TS, runtime copies artifacts)
- Remove hard-fail dist check from setup.sh (Dockerfile builds from source now)
@coderabbitai

coderabbitai Bot commented Mar 20, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: ce753c64-03e9-46c3-9064-5a915c2cdb6d

📥 Commits

Reviewing files that changed from the base of the PR and between 0455352 and e3e7a25.

📒 Files selected for processing (1)
  • bin/lib/onboard.js

📝 Walkthrough

Walkthrough

Refactors build/distribution to stop tracking compiled artifacts: .gitignore no longer un-ignores nemoclaw/dist/; package.json adds a prepare build step; Dockerfile uses a multi-stage build that compiles nemoclaw in a builder stage; setup/onboard scripts no longer require or remove nemoclaw/src/dist pre-checks.

Changes

Cohort / File(s) Summary
VCS ignore rules
\.gitignore
Removed !nemoclaw/dist/ so nemoclaw/dist/ is now ignored; added vdr-notes/ and draft_newsletter_* ignore patterns.
Container build
Dockerfile
Added multi-stage build: builder stage uses node:22-slim, installs deps and runs npm run build to produce dist/; runtime stage now copies compiled dist/ from --from=builder.
Package lifecycle
package.json
Replaced prepublishOnly with a prepare script that unsets npm config env vars, runs npm install --ignore-scripts inside nemoclaw, then runs ./node_modules/.bin/tsc.
Local setup / sandboxing
scripts/setup.sh, bin/lib/onboard.js
Removed pre-build verification that required nemoclaw/dist/; cleanup now removes only nemoclaw/node_modules (preserves nemoclaw/src) during sandbox staging and setup.

Sequence Diagram(s)

sequenceDiagram
  participant Dev/CI
  participant Git
  participant DockerBuilder as Docker (builder)
  participant RuntimeImage as Docker (runtime)
  participant npm as npm/tsc

  Dev/CI->>Git: push source (no committed `nemoclaw/dist/`)
  Dev/CI->>DockerBuilder: docker build (multi-stage)
  DockerBuilder->>npm: npm install (in `nemoclaw`) & run `npm run build` / `tsc`
  npm-->>DockerBuilder: outputs `nemoclaw/dist/`
  DockerBuilder->>RuntimeImage: copy `dist/` into runtime image (COPY --from=builder)
  RuntimeImage-->>Dev/CI: runtime image contains compiled plugin
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 I nibble old blobs from the tree,
Now builds sprout fresh for all to see.
Builder hums, tsc hops along,
Docker packs the right-built song.
A tidy repo — carrot-coded glee! 🥕

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately and concisely summarizes the main changes: removing committed dist/ artifacts and building from source via a prepare script.
Linked Issues check ✅ Passed The pull request implements all five planned coding actions from Issue #457: prepare script in package.json, .gitignore negation removal, multi-stage Dockerfile, scripts/setup.sh update, and supporting changes in bin/lib/onboard.js.
Out of Scope Changes check ✅ Passed All changes are directly related to Issue #457 objectives: modifying build/install mechanisms and removing dist/ from git tracking. No unrelated or out-of-scope changes detected.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/issue-457-remove-committed-dist

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
Dockerfile (1)

3-8: Copy package-lock.json to ensure reproducible builds.

The builder stage copies package.json but not package-lock.json. Since package-lock.json exists in the repository, including it and switching to npm ci (instead of npm install) ensures dependency versions are locked and builds remain reproducible across environments.

Proposed fix
 # Stage 1: Build TypeScript plugin from source
 FROM node:22-slim AS builder
-COPY nemoclaw/package.json nemoclaw/tsconfig.json /opt/nemoclaw/
+COPY nemoclaw/package.json nemoclaw/package-lock.json nemoclaw/tsconfig.json /opt/nemoclaw/
 COPY nemoclaw/src/ /opt/nemoclaw/src/
 WORKDIR /opt/nemoclaw
-RUN npm install && npm run build
+RUN npm ci && npm run build
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Dockerfile` around lines 3 - 8, The Docker builder stage currently copies
package.json but not package-lock.json and uses npm install; update the builder
stage (FROM node:22-slim AS builder) to also COPY nemoclaw/package-lock.json
into /opt/nemoclaw and replace the RUN npm install && npm run build step with
RUN npm ci && npm run build so the build uses locked dependencies for
reproducible builds.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@Dockerfile`:
- Around line 3-8: The Docker builder stage currently copies package.json but
not package-lock.json and uses npm install; update the builder stage (FROM
node:22-slim AS builder) to also COPY nemoclaw/package-lock.json into
/opt/nemoclaw and replace the RUN npm install && npm run build step with RUN npm
ci && npm run build so the build uses locked dependencies for reproducible
builds.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 1f562808-7eb3-465d-90b1-eacaba3a2dda

📥 Commits

Reviewing files that changed from the base of the PR and between dbfd78c and 0455352.

⛔ Files ignored due to path filters (76)
  • nemoclaw/dist/blueprint/exec.d.ts is excluded by !**/dist/**
  • nemoclaw/dist/blueprint/exec.d.ts.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/blueprint/exec.js is excluded by !**/dist/**
  • nemoclaw/dist/blueprint/exec.js.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/blueprint/fetch.d.ts is excluded by !**/dist/**
  • nemoclaw/dist/blueprint/fetch.d.ts.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/blueprint/fetch.js is excluded by !**/dist/**
  • nemoclaw/dist/blueprint/fetch.js.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/blueprint/resolve.d.ts is excluded by !**/dist/**
  • nemoclaw/dist/blueprint/resolve.d.ts.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/blueprint/resolve.js is excluded by !**/dist/**
  • nemoclaw/dist/blueprint/resolve.js.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/blueprint/state.d.ts is excluded by !**/dist/**
  • nemoclaw/dist/blueprint/state.d.ts.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/blueprint/state.js is excluded by !**/dist/**
  • nemoclaw/dist/blueprint/state.js.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/blueprint/verify.d.ts is excluded by !**/dist/**
  • nemoclaw/dist/blueprint/verify.d.ts.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/blueprint/verify.js is excluded by !**/dist/**
  • nemoclaw/dist/blueprint/verify.js.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/cli.d.ts is excluded by !**/dist/**
  • nemoclaw/dist/cli.d.ts.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/cli.js is excluded by !**/dist/**
  • nemoclaw/dist/cli.js.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/commands/connect.d.ts is excluded by !**/dist/**
  • nemoclaw/dist/commands/connect.d.ts.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/commands/connect.js is excluded by !**/dist/**
  • nemoclaw/dist/commands/connect.js.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/commands/eject.d.ts is excluded by !**/dist/**
  • nemoclaw/dist/commands/eject.d.ts.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/commands/eject.js is excluded by !**/dist/**
  • nemoclaw/dist/commands/eject.js.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/commands/launch.d.ts is excluded by !**/dist/**
  • nemoclaw/dist/commands/launch.d.ts.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/commands/launch.js is excluded by !**/dist/**
  • nemoclaw/dist/commands/launch.js.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/commands/logs.d.ts is excluded by !**/dist/**
  • nemoclaw/dist/commands/logs.d.ts.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/commands/logs.js is excluded by !**/dist/**
  • nemoclaw/dist/commands/logs.js.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/commands/migrate.d.ts is excluded by !**/dist/**
  • nemoclaw/dist/commands/migrate.d.ts.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/commands/migrate.js is excluded by !**/dist/**
  • nemoclaw/dist/commands/migrate.js.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/commands/migration-state.d.ts is excluded by !**/dist/**
  • nemoclaw/dist/commands/migration-state.d.ts.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/commands/migration-state.js is excluded by !**/dist/**
  • nemoclaw/dist/commands/migration-state.js.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/commands/onboard.d.ts is excluded by !**/dist/**
  • nemoclaw/dist/commands/onboard.d.ts.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/commands/onboard.js is excluded by !**/dist/**
  • nemoclaw/dist/commands/onboard.js.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/commands/slash.d.ts is excluded by !**/dist/**
  • nemoclaw/dist/commands/slash.d.ts.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/commands/slash.js is excluded by !**/dist/**
  • nemoclaw/dist/commands/slash.js.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/commands/status.d.ts is excluded by !**/dist/**
  • nemoclaw/dist/commands/status.d.ts.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/commands/status.js is excluded by !**/dist/**
  • nemoclaw/dist/commands/status.js.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/index.d.ts is excluded by !**/dist/**
  • nemoclaw/dist/index.d.ts.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/index.js is excluded by !**/dist/**
  • nemoclaw/dist/index.js.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/onboard/config.d.ts is excluded by !**/dist/**
  • nemoclaw/dist/onboard/config.d.ts.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/onboard/config.js is excluded by !**/dist/**
  • nemoclaw/dist/onboard/config.js.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/onboard/prompt.d.ts is excluded by !**/dist/**
  • nemoclaw/dist/onboard/prompt.d.ts.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/onboard/prompt.js is excluded by !**/dist/**
  • nemoclaw/dist/onboard/prompt.js.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/onboard/validate.d.ts is excluded by !**/dist/**
  • nemoclaw/dist/onboard/validate.d.ts.map is excluded by !**/dist/**, !**/*.map
  • nemoclaw/dist/onboard/validate.js is excluded by !**/dist/**
  • nemoclaw/dist/onboard/validate.js.map is excluded by !**/dist/**, !**/*.map
📒 Files selected for processing (4)
  • .gitignore
  • Dockerfile
  • package.json
  • scripts/setup.sh

@jacobtomlinson jacobtomlinson left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The install script fails for me.

  [3/7] Creating sandbox
  ──────────────────────────────────────────────────
  Sandbox name (lowercase, numbers, hyphens) [my-assistant]: fizzbuzz
  Creating sandbox 'fizzbuzz' (this takes a few minutes on first run)...
Building image openshell/sandbox-from:1774001214 from /tmp/nemoclaw-build-RWfy2j/Dockerfile
  Context: /tmp/nemoclaw-build-RWfy2j
  Gateway: nemoclaw

  Building image openshell/sandbox-from:1774001214 from /tmp/nemoclaw-build-RWfy2j/Dockerfile
  Step 1/27 : FROM node:22-slim AS builder
   ---> 1ee8d39405cd
  Step 2/27 : COPY nemoclaw/package.json nemoclaw/tsconfig.json /opt/nemoclaw/
   ---> 68dc4cbac3d2
  Step 3/27 : COPY nemoclaw/src/ /opt/nemoclaw/src/
Error:   × Docker build stream error
  ╰─▶ Docker stream error: COPY failed: file not found in build context or excluded by .dockerignore: stat nemoclaw/src/:
      file does not exist


  Sandbox creation failed (exit 1).
  Try:  openshell sandbox list        # check gateway state
  Try:  nemoclaw onboard              # retry from scratch

Thoughts from claude

  Bug: Docker build fails with "nemoclaw/src/ does not exist" during nemoclaw onboard                                       
                                                                                                                            
  When nemoclaw onboard assembles the temporary Docker build context, it explicitly removes nemoclaw/src/ from it (in
  bin/lib/onboard.js). However, the Dockerfile's Stage 1 builder attempts to COPY nemoclaw/src/ in order to compile         
  TypeScript from source — causing the build to fail.                       
                                                                                                                            
  This is unnecessary because npm install (run earlier in the install script via the prepare hook) already compiles the     
  TypeScript and produces nemoclaw/dist/. The pre-built dist/ is present on disk by the time nemoclaw onboard runs.
                                                                                                                            
  Fix direction: Remove the Stage 1 builder from the Dockerfile and COPY the pre-built nemoclaw/dist/ directly into the     
  runtime image, matching what the build context already provides.

@jacobtomlinson

Copy link
Copy Markdown
Member

This patch got things working for me

diff --git a/bin/lib/onboard.js b/bin/lib/onboard.js
index 060b5ba..968983a 100644
--- a/bin/lib/onboard.js
+++ b/bin/lib/onboard.js
@@ -450,7 +450,7 @@ async function createSandbox(gpu) {
   run(`cp -r "${path.join(ROOT, "nemoclaw")}" "${buildCtx}/nemoclaw"`);
   run(`cp -r "${path.join(ROOT, "nemoclaw-blueprint")}" "${buildCtx}/nemoclaw-blueprint"`);
   run(`cp -r "${path.join(ROOT, "scripts")}" "${buildCtx}/scripts"`);
-  run(`rm -rf "${buildCtx}/nemoclaw/node_modules" "${buildCtx}/nemoclaw/src"`, { ignoreError: true });
+  run(`rm -rf "${buildCtx}/nemoclaw/node_modules"`, { ignoreError: true });
 
   // Create sandbox (use -- echo to avoid dropping into interactive shell)
   // Pass the base policy so sandbox starts in proxy mode (required for policy updates later)

@liveaverage

Copy link
Copy Markdown
Contributor
  • Confirmed the PR head still had the sandbox-build bug in bin/lib/onboard.js:453, then applied @jacobtomlinson patch so it only removes node_modules and keeps nemoclaw/src.
  • Ran a clean uninstall with ./uninstall.sh --yes successfully.
  • Verified the PR’s packaging/install change works locally: npm install succeeded and rebuilt nemoclaw/dist via the new prepare script.
  • Verified global installation also works: npm install -g . succeeded and nemoclaw --help ran successfully.
  • the install-path regression appears fixed locally; confirmed working with interactive and non-interactive onboard

@jacobtomlinson jacobtomlinson left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I pushed the patch to this branch. Looks good to go from my end.

@ericksoa

Copy link
Copy Markdown
Contributor Author

@jacobtomlinson Good catch — applied your patch. The onboard.js build context now only removes node_modules, keeping nemoclaw/src/ for the multi-stage Dockerfile. Same fix we'd already done in setup.sh but missed here.

Verified 9/9 from a clean clone: no more nemoclaw/src deletion anywhere, Docker build compiles TypeScript from source in the builder stage, final image has dist/ but no src/. Thanks for the patch.

@ericksoa
ericksoa merged commit 3aaef13 into main Mar 20, 2026
3 checks passed
@subbyte subbyte mentioned this pull request Mar 20, 2026
2 tasks
Ryuketsukami pushed a commit to Ryuketsukami/NemoClaw that referenced this pull request Mar 24, 2026
…e script (NVIDIA#473)

* chore: remove committed dist/ artifacts, build from source via prepare script

Fixes NVIDIA#457. Removes 76 compiled TypeScript files from git tracking.
The npm `prepare` lifecycle script now builds dist on-the-fly during
`npm install` and `npm install -g git+url`, using `env -u` to clear
inherited npm config vars that would otherwise break the child install
in global/production contexts.

- Add `prepare` script to root package.json
- Remove `!nemoclaw/dist/` negation from .gitignore
- Convert Dockerfile to multi-stage build (builder compiles TS, runtime copies artifacts)
- Remove hard-fail dist check from setup.sh (Dockerfile builds from source now)

* Fix docker build issue

---------

Co-authored-by: Jacob Tomlinson <jtomlinson@nvidia.com>
jessesanford pushed a commit to jessesanford/NemoClaw that referenced this pull request Mar 24, 2026
…e script (NVIDIA#473)

* chore: remove committed dist/ artifacts, build from source via prepare script

Fixes NVIDIA#457. Removes 76 compiled TypeScript files from git tracking.
The npm `prepare` lifecycle script now builds dist on-the-fly during
`npm install` and `npm install -g git+url`, using `env -u` to clear
inherited npm config vars that would otherwise break the child install
in global/production contexts.

- Add `prepare` script to root package.json
- Remove `!nemoclaw/dist/` negation from .gitignore
- Convert Dockerfile to multi-stage build (builder compiles TS, runtime copies artifacts)
- Remove hard-fail dist check from setup.sh (Dockerfile builds from source now)

* Fix docker build issue

---------

Co-authored-by: Jacob Tomlinson <jtomlinson@nvidia.com>
@wscurran wscurran added area: ci CI workflows, checks, release automation, or GitHub Actions area: packaging Packages, images, registries, installers, or distribution chore Build, CI, dependency, or tooling maintenance platform: container Affects Docker, containerd, Podman, or images and removed priority: high labels Jun 3, 2026
@cv
cv deleted the fix/issue-457-remove-committed-dist branch June 28, 2026 00:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: ci CI workflows, checks, release automation, or GitHub Actions area: packaging Packages, images, registries, installers, or distribution chore Build, CI, dependency, or tooling maintenance platform: container Affects Docker, containerd, Podman, or images

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Remove committed dist/ build artifacts from git tracking

4 participants