ci(prepare-release): drop the uv.lock pre-flight — this repo has no lockfile - #9
Merged
Merged
Conversation
…ockfile
The first real run of Prepare Release died at step 6:
error: Unable to find lockfile at `uv.lock`, but `--check` was provided.
uv.lock is on line 11 of .gitignore and has never been tracked. The step came
straight from SpyDE's Prepare Release, and it was checked against a working
tree where `uv sync` had left a lockfile lying around rather than against what
git actually carries.
It does not belong here either way. SpyDE is an APPLICATION: it ships its lock
in the installer payload and the user's sidecar env is resolved from it, so
drift reaches users. de-shell is a LIBRARY on PyPI — the apps resolve their own
environments, and a lockfile here would mean nothing to them. The comment
justifying the step described SpyDE's lock, which SpyDE already checks.
The other pre-flight stays: the git-deps-pinned grep reads pyproject.toml and
needs no lockfile.
Also corrects two things the PR body claimed:
- it said the lock check had passed;
- it told the reviewer to confirm CI passes, but CI does not start on its own
for a PR opened with GITHUB_TOKEN — GitHub suppresses workflow runs for
events raised with it. The checklist now says so and how to get a run.
Dry-run in a pristine clone of main with no .venv and no lockfile: compute
version, git-deps check, bump + read-back, towncrier draft and build (which
needs no de_shell import when --version is passed), and the release commit —
all pass. 3 fragments consumed, CHANGELOG.rst assembled correctly.
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.
The first real run
of Prepare Release died at step 6:
uv.lockis on line 11 of.gitignoreand has never been tracked. I took thestep from SpyDE's Prepare Release and checked it against a working tree where
uv synchad left a lockfile lying around, rather than against what gitactually carries. A
git ls-fileswould have caught it.It does not belong here anyway
SpyDE is an application: it ships its lock in the installer payload, and the
user's sidecar env is resolved from it on their machine, so drift reaches users.
de-shell is a library on PyPI — the apps resolve their own environments, and
a lockfile here would mean nothing to them. The comment I wrote justifying the
step actually described SpyDE's lock, which SpyDE already checks.
The other pre-flight stays: the git-deps-pinned grep reads
pyproject.tomlandneeds no lockfile.
Two claims in the generated PR body were also wrong
for a PR opened with
GITHUB_TOKEN. GitHub suppresses workflow runs forevents raised with that token, so the release PR gets no
pull_requestrun atall. The checklist now says so, and says to close/reopen the PR or push an
empty commit to get one.
Dry run
Rather than eyeball it again, I cloned main into a pristine workspace — no
.venv, no lockfile, nothing installed — and ran every step by hand:0.2.2fromde_shell/__init__.py__version__→0.3.0, guard confirmsde_shellimport when--versionis passedThe assembled
0.3.0section came out right: #2 under Bug Fixes, #7 and thetowncrier setup under Maintenance.
No cleanup needed from the failed run — it died before the bump, so nothing was
pushed and no
release/*branch was left behind.