Skip to content

ci: pin yamllint where Dependabot can see it - #14

Merged
lens0021 merged 1 commit into
mainfrom
claude/github-actions-workflows-bbht4a
Aug 15, 2026
Merged

ci: pin yamllint where Dependabot can see it#14
lens0021 merged 1 commit into
mainfrom
claude/github-actions-workflows-bbht4a

Conversation

@lens0021

@lens0021 lens0021 commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

This branch previously carried updatecli manifests. It no longer does — the only version updatecli
was there to keep was yamllint's, and a package file hands that to Dependabot instead, so the extra
updater is gone.

What changed

  • pyproject.toml declares yamllint==1.38.0 in a PEP 735 dependency group.
  • uv.lock records a sha256 for yamllint and for the two packages it pulls in — none of which the
    old pipx install yamllint==1.38.0 line pinned at all.
  • The lint workflow runs uv run --frozen --group lint yamllint --strict .. --frozen installs
    exactly what the lockfile says and fails if the lockfile and pyproject.toml have drifted apart.
  • Dependabot gains a uv ecosystem, so the bump arrives as a PR like every other pin here.

Why not a package

Nothing in this repository is a Python package, and package = false says so. The project table
is there for one reason: without it uv lock writes whichever interpreter it happened to find into
the lockfile's requires-python, so the file would change depending on who regenerated it.

Verified

uv lock resolves, uv run --frozen --group lint yamllint --strict . passes over the repository,
and typos is clean over the new lockfile.

@lens0021
lens0021 force-pushed the claude/github-actions-workflows-bbht4a branch from 7a42f8b to 66eb5a5 Compare August 15, 2026 12:05
@lens0021 lens0021 changed the title ci: keep the versions no package file declares with updatecli ci: pin yamllint where Dependabot can see it Aug 15, 2026
yamllint is the only linter the runner image does not ship, so the job installed it itself and
the version sat in a `run:` line, which no updater reads. Moving it into pyproject.toml puts it
in front of Dependabot's uv ecosystem, and uv.lock records a sha256 for yamllint and for the two
packages it pulls in -- neither of which the `pipx install` line pinned at all.

`uv run --frozen` installs exactly what the lockfile says and fails if the lockfile and
pyproject.toml have drifted apart, so a hand-edited version cannot quietly take effect.

Nothing here is a Python package; `package = false` says so. The `project` table exists only so
the lockfile carries a fixed `requires-python` instead of whichever interpreter last ran
`uv lock`.
@lens0021
lens0021 force-pushed the claude/github-actions-workflows-bbht4a branch from 66eb5a5 to 874c56f Compare August 15, 2026 12:20
@lens0021
lens0021 marked this pull request as ready for review August 15, 2026 12:22
@lens0021
lens0021 merged commit ef5989e into main Aug 15, 2026
17 checks passed
@lens0021
lens0021 deleted the claude/github-actions-workflows-bbht4a branch August 15, 2026 12:22
lens0021 added a commit to chaotic-ground/wikven that referenced this pull request Aug 15, 2026
The version sat in a pipx install line, which no package manager reads,
so it was one of the pins nothing was watching. A uv dependency group is
a manifest Dependabot already knows how to bump, and the lockfile pins
yamllint's own dependencies too, which the pipx install resolved fresh
on every run.

Follows chaotic-ground/setup-mago#14. The other two loose pins, taplo
and updatecli, stay manual: both live in a workflow "with:" input, and
updatecli's yaml target reformats the file it edits -- it drops blank
lines and halves the space before a comment, which yamllint --strict
then rejects.
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.

2 participants