@biffo/cli 0.298.28 → 0.298.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -41,7 +41,14 @@ jobs:
|
|
|
41
41
|
- uses: astral-sh/setup-uv@v5
|
|
42
42
|
with:
|
|
43
43
|
enable-cache: true
|
|
44
|
-
|
|
44
|
+
# `--locked` mirrors the root repo's own `ci.yml` (see the comment
|
|
45
|
+
# there): plain `uv sync` silently RE-RESOLVES when `pyproject.toml`
|
|
46
|
+
# has drifted from `uv.lock`, so a dependency bump committed without
|
|
47
|
+
# re-running `uv lock` still installs and still goes green — the
|
|
48
|
+
# committed lock just stops describing what actually ran. Every
|
|
49
|
+
# `uv sync` call in this workflow carries it for the same reason
|
|
50
|
+
# (biffo-template#1731).
|
|
51
|
+
- run: uv sync --all-groups --locked
|
|
45
52
|
- run: uv run ruff check .
|
|
46
53
|
- run: uv run ruff format --check .
|
|
47
54
|
|
|
@@ -54,7 +61,7 @@ jobs:
|
|
|
54
61
|
- uses: astral-sh/setup-uv@v5
|
|
55
62
|
with:
|
|
56
63
|
enable-cache: true
|
|
57
|
-
- run: uv sync --all-groups
|
|
64
|
+
- run: uv sync --all-groups --locked
|
|
58
65
|
- run: uv run pyright
|
|
59
66
|
|
|
60
67
|
test:
|
|
@@ -66,7 +73,7 @@ jobs:
|
|
|
66
73
|
- uses: astral-sh/setup-uv@v5
|
|
67
74
|
with:
|
|
68
75
|
enable-cache: true
|
|
69
|
-
- run: uv sync --all-groups
|
|
76
|
+
- run: uv sync --all-groups --locked
|
|
70
77
|
# `--cov-report=json` is additive to the xml Codecov reads: the step
|
|
71
78
|
# below (`scripts/error_branch_coverage.py`) reads coverage.json and
|
|
72
79
|
# nothing else, so without this line it has no input and exits 2 ("no
|
|
@@ -180,7 +187,7 @@ jobs:
|
|
|
180
187
|
- uses: astral-sh/setup-uv@v5
|
|
181
188
|
with:
|
|
182
189
|
enable-cache: true
|
|
183
|
-
- run: uv sync --all-groups
|
|
190
|
+
- run: uv sync --all-groups --locked
|
|
184
191
|
# Authoritative check: load_manifest() runs the *real* Pydantic model
|
|
185
192
|
# (biffo_plugin_sdk.plugin.PluginManifest) that the SDK, the Core API's
|
|
186
193
|
# discover_plugin_manifests(), and `biffo plugin install` all actually
|
|
@@ -305,7 +312,7 @@ jobs:
|
|
|
305
312
|
- uses: astral-sh/setup-uv@v5
|
|
306
313
|
with:
|
|
307
314
|
enable-cache: true
|
|
308
|
-
- run: uv sync --all-groups
|
|
315
|
+
- run: uv sync --all-groups --locked
|
|
309
316
|
# Fails on a real advisory, but treats an unreachable PyPI/OSV as
|
|
310
317
|
# INCONCLUSIVE rather than reddening a required check for an
|
|
311
318
|
# infrastructure hiccup (#591, #743). The raw `uv run pip-audit` this
|
|
@@ -90,7 +90,18 @@ jobs:
|
|
|
90
90
|
with:
|
|
91
91
|
enable-cache: true
|
|
92
92
|
|
|
93
|
-
|
|
93
|
+
# `--locked` mirrors every `uv sync` call site in this skeleton's own
|
|
94
|
+
# ci.yml (see the comment there): plain `uv sync` silently
|
|
95
|
+
# RE-RESOLVES when `pyproject.toml` has drifted from `uv.lock`, so a
|
|
96
|
+
# dependency bump committed without re-running `uv lock` still
|
|
97
|
+
# installs and still succeeds — the committed lock just stops
|
|
98
|
+
# describing what actually ran. This workflow fires on every `v*` tag
|
|
99
|
+
# push and is what actually builds and publishes the release
|
|
100
|
+
# artefact, so drift here ships silently rather than failing closed
|
|
101
|
+
# (biffo-template#1731, missed here originally and fixed per #1762;
|
|
102
|
+
# see scripts/uv-sync-locked.test.sh for the guard that now checks
|
|
103
|
+
# every call site under _skeletons/**/.github/workflows/**).
|
|
104
|
+
- run: uv sync --all-groups --locked
|
|
94
105
|
|
|
95
106
|
# Full CI gate re-run on the tag, not just a build — a tag push must
|
|
96
107
|
# be at least as strict as a merged PR before anything is published.
|
|
@@ -182,7 +182,13 @@ jobs:
|
|
|
182
182
|
- uses: astral-sh/setup-uv@v5
|
|
183
183
|
with:
|
|
184
184
|
enable-cache: true
|
|
185
|
-
|
|
185
|
+
# `--locked` mirrors the root repo's own `ci.yml` (see the comment
|
|
186
|
+
# there): plain `uv sync` silently RE-RESOLVES when `pyproject.toml`
|
|
187
|
+
# has drifted from `uv.lock`, so a dependency bump committed without
|
|
188
|
+
# re-running `uv lock` still installs and still goes green — the
|
|
189
|
+
# committed lock just stops describing what actually ran
|
|
190
|
+
# (biffo-template#1731).
|
|
191
|
+
- run: uv sync --all-groups --locked
|
|
186
192
|
- name: Lint
|
|
187
193
|
if: ${{ !cancelled() }}
|
|
188
194
|
run: uv run ruff check .
|
package/dist/index.js
CHANGED
|
@@ -809,7 +809,13 @@ var EMPTY_SUMMARY = () => ({
|
|
|
809
809
|
async function planCoreUpgrade(options) {
|
|
810
810
|
const mergeFile = options.mergeFile ?? gitMergeFile;
|
|
811
811
|
const trackedOnly = { trackedOnly: true };
|
|
812
|
-
const
|
|
812
|
+
const baseManifestPath = join5(options.baseDir, CORE_MANIFEST_FILE);
|
|
813
|
+
const baseManifest = existsSync5(baseManifestPath) ? readCoreManifest(options.baseDir) : null;
|
|
814
|
+
const base = new Set(
|
|
815
|
+
listTemplateOwnedFiles(options.baseDir, options.manifest, trackedOnly).filter(
|
|
816
|
+
(path) => baseManifest === null || isTemplateOwned(path, baseManifest)
|
|
817
|
+
)
|
|
818
|
+
);
|
|
813
819
|
const ours = new Set(listTemplateOwnedFiles(options.oursDir, options.manifest));
|
|
814
820
|
const theirs = new Set(listTemplateOwnedFiles(options.theirsDir, options.manifest, trackedOnly));
|
|
815
821
|
const divergentPrefixes = readDivergenceConfig(options.oursDir).warnOnly.map((e) => e.prefix);
|