From 39af8d717a2e13541408560fac7b44a4a5210a5c Mon Sep 17 00:00:00 2001 From: Anton Starikov Date: Mon, 22 Jun 2026 10:56:14 +0200 Subject: [PATCH 1/2] fix(build): include specify_cli.bundler.lib in built distribution MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The root .gitignore carried unanchored `lib/` and `lib64/` patterns from the standard GitHub Python template (intended to ignore a top-level build/venv `lib` directory). Being unanchored, they also match the source package `src/specify_cli/bundler/lib/`. Hatchling applies .gitignore patterns as build-exclusion rules, so the `bundler/lib` package (project.py, versioning.py, yamlio.py) was silently dropped from the built wheel even though it is tracked in git. Since commands/bundle/__init__.py imports `specify_cli.bundler.lib.project` at module load, any install built from source (e.g. `uv tool install --from git+...`) crashed on startup with: ModuleNotFoundError: No module named 'specify_cli.bundler.lib' which broke the entire CLI — every command, including `specify init`. Anchor the patterns to the repo root (`/lib/`, `/lib64/`) so they only match the intended top-level build artifacts and no longer exclude the source package. --- .gitignore | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index c3a3ab525b..21e211c7e8 100644 --- a/.gitignore +++ b/.gitignore @@ -10,8 +10,8 @@ dist/ downloads/ eggs/ .eggs/ -lib/ -lib64/ +/lib/ +/lib64/ parts/ sdist/ var/ From 50352cb83961697b4354017b967aa1526a7e2a4a Mon Sep 17 00:00:00 2001 From: mnriem <15701806+mnriem@users.noreply.github.com> Date: Mon, 22 Jun 2026 10:22:37 -0500 Subject: [PATCH 2/2] ci: retrigger checks Empty commit to re-dispatch a wedged CodeQL run that never started, unblocking code scanning merge protection. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>