Skip to content

harden developer environment#4066

Merged
d-v-b merged 8 commits into
zarr-developers:mainfrom
d-v-b:harden-dependency-environment
Jun 16, 2026
Merged

harden developer environment#4066
d-v-b merged 8 commits into
zarr-developers:mainfrom
d-v-b:harden-dependency-environment

Conversation

@d-v-b

@d-v-b d-v-b commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

We have failing tests caused by upstream breakage in pytest. This PR pins our true development dependencies (pytest, etc) to exact versions. That will shield us from breaking changes in pytest.

Library dependencies that are installed for tests are left unpinned, because we want to catch breaking changes for these packages in our test suite.

dependabot Bot and others added 8 commits May 31, 2026 19:28
…#176)

Bumps the actions group with 8 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [prefix-dev/setup-pixi](https://github.com/prefix-dev/setup-pixi) | `0.9.5` | `0.9.6` |
| [codecov/codecov-action](https://github.com/codecov/codecov-action) | `6.0.0` | `6.0.1` |
| [github/issue-metrics](https://github.com/github/issue-metrics) | `4.2.2` | `4.2.7` |
| [j178/prek-action](https://github.com/j178/prek-action) | `2.0.3` | `2.0.4` |
| [actions/upload-artifact](https://github.com/actions/upload-artifact) | `7.0.0` | `7.0.1` |
| [actions/download-artifact](https://github.com/actions/download-artifact) | `7.0.0` | `8.0.1` |
| [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) | `1.13.0` | `1.14.0` |
| [zizmorcore/zizmor-action](https://github.com/zizmorcore/zizmor-action) | `0.5.3` | `0.5.6` |



Updates `prefix-dev/setup-pixi` from 0.9.5 to 0.9.6
- [Release notes](https://github.com/prefix-dev/setup-pixi/releases)
- [Commits](prefix-dev/setup-pixi@1b2de7f...5185adf)

Updates `codecov/codecov-action` from 6.0.0 to 6.0.1
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](codecov/codecov-action@57e3a13...e79a696)

Updates `github/issue-metrics` from 4.2.2 to 4.2.7
- [Release notes](https://github.com/github/issue-metrics/releases)
- [Commits](github-community-projects/issue-metrics@c9e9838...1e38d5e)

Updates `j178/prek-action` from 2.0.3 to 2.0.4
- [Release notes](https://github.com/j178/prek-action/releases)
- [Commits](j178/prek-action@6ad8027...bdca6f1)

Updates `actions/upload-artifact` from 7.0.0 to 7.0.1
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](actions/upload-artifact@v7...043fb46)

Updates `actions/download-artifact` from 7.0.0 to 8.0.1
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](actions/download-artifact@v7...3e5f45b)

Updates `pypa/gh-action-pypi-publish` from 1.13.0 to 1.14.0
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](pypa/gh-action-pypi-publish@v1.13.0...cef2210)

Updates `zizmorcore/zizmor-action` from 0.5.3 to 0.5.6
- [Release notes](https://github.com/zizmorcore/zizmor-action/releases)
- [Commits](zizmorcore/zizmor-action@b1d7e1f...5f14fd0)

---
updated-dependencies:
- dependency-name: prefix-dev/setup-pixi
  dependency-version: 0.9.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: codecov/codecov-action
  dependency-version: 6.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: github/issue-metrics
  dependency-version: 4.2.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: j178/prek-action
  dependency-version: 2.0.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: actions/upload-artifact
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: actions/download-artifact
  dependency-version: 8.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: pypa/gh-action-pypi-publish
  dependency-version: 1.14.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
- dependency-name: zizmorcore/zizmor-action
  dependency-version: 0.5.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
The hatch test envs and bare `uv run` resolve [dependency-groups] fresh
from PyPI and ignore uv.lock, so an unrelated upstream tooling release
can break CI without any change on our side (e.g. the pytest 9.1.0
`duplicate parametrization` regression, pytest-dev/pytest#14591).

Pin dev *tooling* (pytest & plugins, coverage, hypothesis, mypy, ruff,
mkdocs*, towncrier, moto, ...) to exact versions. Leave runtime/
integration deps (fsspec, obstore, s3fs, botocore, numcodecs,
universal-pathlib) floating so the `optional` test matrix keeps
exercising their latest releases; the `min_deps`/`upstream` envs cover
the floor and bleeding edge.

Also:
- Add a focused `release` dependency group as the single source of truth
  for the towncrier pin; `docs` includes it. prepare_release.yml now runs
  `uv run --only-group release towncrier build` instead of an unpinned
  `pip install towncrier`.
- Add a `uv` dependabot ecosystem so the pins and uv.lock get weekly
  update PRs instead of silently rotting.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions github-actions Bot added the needs release notes Automatically applied to PRs which haven't added release notes label Jun 16, 2026
@d-v-b

d-v-b commented Jun 16, 2026

Copy link
Copy Markdown
Contributor Author

the changes in this PR:

  • make our CI work
  • do not alter shipped code

so I'm going to bypass review and merge as soon as tests are green. I will also omit the release notes, because this is a purely internal change.

@codecov

codecov Bot commented Jun 16, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.52%. Comparing base (0bb8ceb) to head (372f9cb).

Additional details and impacted files
@@             Coverage Diff             @@
##             main    #4066       +/-   ##
===========================================
+ Coverage   54.00%   93.52%   +39.51%     
===========================================
  Files          90       90               
  Lines       11926    11926               
===========================================
+ Hits         6441    11154     +4713     
+ Misses       5485      772     -4713     

see 71 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@d-v-b d-v-b merged commit 3c79d96 into zarr-developers:main Jun 16, 2026
32 checks passed
@d-v-b d-v-b deleted the harden-dependency-environment branch June 16, 2026 09:02
@d-v-b d-v-b changed the title harden dependency environment harden developer environment Jun 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs release notes Automatically applied to PRs which haven't added release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant