Skip to content

Move the npm, PyPI and NuGet wrappers under packaging/ - #282

Merged
foodandtravel merged 1 commit into
feature/linux-glibc-floorfrom
feature/group-packaging
Oct 29, 2026
Merged

foodandtravel merged 1 commit into
feature/linux-glibc-floorfrom
feature/group-packaging

Conversation

@foodandtravel

Copy link
Copy Markdown
Contributor

Closes #251. Stacked on #281, so this PR targets feature/linux-glibc-floor. Merge #281 first, and GitHub will retarget this one to development.

Everything that isn't the Rust code now lives under packaging/, one directory per channel:

crates/          Rust workspace
docs/
examples/
packaging/
  npm/           @getsigit/* wrapper + platform package templates   (was npm/)
  pypi/          sigit-code maturin project                          (was pypi/)
  nuget/         SiGit.Code .NET tool                                (was nuget/)
  aur/  winget/  manifest templates
  linux/         manylinux build, glibc check, nfpm.yaml             (nfpm.yaml was packaging/)
  windows/       static-CRT check
  assurance-runner/  Code Assurance image

Why packaging/ and not dist/

packaging/ already held six of the channels, so this finishes that layout instead of starting a second top-level directory. dist/ is also the conventional build-output directory: maturin and dotnet pack here already write to pypi/dist and nuget/dist, and GitHub's stock Node and Python .gitignore templates ignore dist/. A dist/ full of hand-written source looks like something you can rm -rf. packaging/ is also what Debian, Fedora and most distro maintainers would look for.

What changed

  • git mv only for the files, so history follows them.
  • pyproject.toml: manifest-path goes from ../crates/cli/Cargo.toml to ../../crates/cli/Cargo.toml.
  • release-npm: cd packaging/npm, ../../target/..., cd packaging/npm/sigit.
  • release-nuget: every nuget/... path, including dist/ and the generated NuGet.Config.
  • release-pypi: working-directory: packaging/pypi and the artifact paths.
  • release-github: packaging/linux/nfpm.yaml. Its src: paths are relative to the working directory, not to the config file, so they don't change.
  • .agents/AGENTS.md and the sigit-code-release skill now describe the layout and use the new paths.

The npm render scripts and the csproj only resolve paths relative to their own directory, so they need no changes.

Testing

  • Ran the npm publish step's render commands against a copy of the tree: the platform package renders as @getsigit/sigit-linux-x64 and the base as @getsigit/sigit 1.7.7.
  • Checked that the new manifest-path resolves to crates/cli/Cargo.toml. I couldn't run maturin sdist locally (no pip/venv on this machine).
  • All workflows parse. A stale-path grep over the repo, excluding CHANGELOG history, comes back clean.

The release workflows only run on a tag, so the next release is the first full run of the new paths. If you want that checked before tagging, the PyPI wheel build is the one I'd watch, since maturin-action runs it inside a container.

@sigit-code-review sigit-code-review Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

This change moves the npm, PyPI, and NuGet packaging directories under a unified packaging/ directory, updating all references in documentation, workflow YAMLs, and configuration files to match the new structure. The update is strictly a path refactor: no logic or build process changes, only path adjustments and documentation clarifications. The pyproject.toml manifest-path is updated to reflect the new relative location. All release workflows (npm, nuget, pypi, github) now reference the new packaging/ paths for their respective artifacts and scripts. Documentation in .agents/AGENTS.md and the sigit-code-release skill is updated to describe and reference the new layout. No logic changes are introduced, and all path changes appear consistent and correct. Previous findings about path references are addressed by this update.


Automated review by siGit Code Review · commit fc4923a · see the review dashboard

Each distribution channel now has its own directory under packaging/,
next to aur/, winget/, windows/ and assurance-runner/, and nfpm.yaml moves
into packaging/linux/ with the rest of the Linux build. The repo root is
left with crates/, docs/ and examples/.

The issue suggested dist/. packaging/ already existed, and dist/ is where
maturin and dotnet pack write their output and what the stock Node and
Python .gitignore templates ignore, so it would look like build output.

Paths updated in the release workflows, pyproject's manifest-path, AGENTS.md
and the release skill. The render scripts and csproj only use paths relative
to their own directory, so they move as they are.

Closes #251

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@foodandtravel
foodandtravel force-pushed the feature/group-packaging branch from fc4923a to 9eacfd4 Compare October 29, 2026 21:40
@foodandtravel
foodandtravel requested a review from paydii October 29, 2026 21:41

@sigit-code-review sigit-code-review Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

This change moves the npm, PyPI, and NuGet packaging directories under a unified packaging/ directory, updating all references in documentation and CI workflows to match the new structure. The move is git-aware, preserving file history. Workflow scripts, artifact paths, and documentation now refer to packaging/npm, packaging/pypi, and packaging/nuget instead of their previous top-level locations. The pyproject.toml manifest-path is updated to reflect the new relative path to the Rust CLI crate. The documentation and skill instructions are updated to describe the new layout and rationale for using packaging/ instead of dist/. No functional logic changes are introduced; all changes are path and documentation updates to support the new directory structure.


Automated review by siGit Code Review · commit 9eacfd4 · see the review dashboard

@foodandtravel
foodandtravel merged commit 2916d6b into development Oct 29, 2026
1 check passed
@foodandtravel
foodandtravel deleted the feature/group-packaging branch October 29, 2026 21:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants