Skip to content

CI: test against Plone 6.2#104

Closed
djay wants to merge 2 commits into
mainfrom
ci/test-plone-62
Closed

CI: test against Plone 6.2#104
djay wants to merge 2 commits into
mainfrom
ci/test-plone-62

Conversation

@djay

@djay djay commented Jul 10, 2026

Copy link
Copy Markdown
Member

Adds 6.2-latest to the plone-version test matrix.

Why

Plone 6.2.0 was released on 2026-05-19, and Volto 19 — the current maintained frontend — pairs with it. This package's CI currently tests only 6.1-latest and 6.0-latest, and the last release (2.0.0, 2025-05-15) predates 6.2, so there is no signal either way about whether it works.

Since pas.plugins.authomatic is often the only way editors authenticate, "does it work on 6.2" is a question a lot of sites will want answered before they upgrade.

Does the matrix entry actually run?

Yes. plone/meta's backend-pytest.yml@2.x passes plone-version straight to plone/setup-plone, which installs against https://dist.plone.org/release/${plone-version}/constraints.txt. That URL returns 200 for 6.2-latest.

Is it likely to pass?

Dependency resolution is clean — pip install --dry-run pas.plugins.authomatic -c https://dist.plone.org/release/6.2-latest/constraints.txt resolves without conflict.

The open question this PR is meant to answer is runtime behaviour, not resolution. Plone 6.2 moved its core packages from pkg_resources-style namespaces to PEP 420 native namespaces, and the upgrade guide warns that mixing styles can raise ModuleNotFoundError. This package still declares an old-style namespace in src/pas/__init__.py:

__import__("pkg_resources").declare_namespace(__name__)

That is not necessarily a problem yet — 6.2 pins setuptools==81.0.0, which only deprecates pkg_resources (removal landed in setuptools 82). But it does mean 6.2 is exactly where we would find out, and where a fix (native namespace) would want to land before setuptools 82 forces it.

If CI comes back green, this is just coverage. If it comes back red, the failure is worth knowing about regardless, and I am happy to follow up with the fix.

I have deliberately not touched the Framework :: Plone :: 6.2 classifier — that should follow a green run, not precede it.

🤖 Generated with Claude Code

https://claude.ai/code/session_01T9wenhxQPjyRgX5fSDjf8d

djay added 2 commits July 10, 2026 10:06
plone/setup-plone resolves 6.2-latest constraints
(https://dist.plone.org/release/6.2-latest/constraints.txt returns 200),
so the matrix entry runs for real.
The 6.1/3.10 job failed with 'tomlkit is required for the uv hook' from
'uvx mxdev', and fail-fast then cancelled every other combination —
including all three 6.2 jobs this PR exists to observe.

mxdev declares tomlkit>=0.12.0 under its 'uv' extra, which bare 'uvx mxdev'
does not install. I could not reproduce the failure locally (bare mxdev
succeeds even with --isolated --no-cache), so treat the Makefile change as
'installs the extra the hook documents', not as a verified fix.
@ericof

ericof commented Jul 11, 2026

Copy link
Copy Markdown
Member

Thanks for this, and for the clear rationale, @djay! 🙏

Plone 6.2 support has since landed on main: 6.2-latest was added to the CI matrix in commit fa83f52 (merged via #110), and the matrix now runs 6.2-latest and 6.1-latest across Python 3.11–3.14. More broadly, 6.2 is now a supported target (see the recent modernization in #115).

Closing as already implemented — much appreciated for raising it.

@ericof ericof closed this Jul 11, 2026
ericof added a commit that referenced this pull request Jul 12, 2026
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