Skip to content

build(python): upgrade to Snakemake 9.16.3 #514

Merged
tiborsimko merged 2 commits intoreanahub:masterfrom
alefisico:feat/upgrade-snakemake-v9
Mar 3, 2026
Merged

build(python): upgrade to Snakemake 9.16.3 #514
tiborsimko merged 2 commits intoreanahub:masterfrom
alefisico:feat/upgrade-snakemake-v9

Conversation

@alefisico
Copy link
Copy Markdown
Contributor

This PR updates the Snakemake dependency to v9.16.3 for Python 3.11+ environments.

Changes:

  • Updated snakemake pin to 9.16.3.
  • Added snakemake-executor-plugin-kubernetes (required since Snakemake v8+ extracted executors to plugins).

Verification:

  • Verified locally by building reana-workflow-engine-snakemake with this branch and running the root6-roofit demo successfully.

Comment thread setup.py
"snakemake==7.32.4 ; python_version<'3.11'",
"pulp>=2.7.0,<2.8.0 ; python_version<'3.11'",
"snakemake==8.27.1 ; python_version>='3.11'",
"snakemake==9.16.3 ; python_version>='3.11'",
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for starting this up! I verified that most examples work nicely, however there were changes in the logging infrastructure so we need to take care of updating reana-workflow-engine-snakemake accordingly. I'll do that and amend this PR...

@tiborsimko tiborsimko force-pushed the feat/upgrade-snakemake-v9 branch from 4bdefe5 to fbea72d Compare March 2, 2026 13:16
tiborsimko pushed a commit to alefisico/reana-commons that referenced this pull request Mar 2, 2026
Upgrade Snakemake to 9.16.3.

Add plugin `snakemake-executor-plugin-kubernetes` to the list of
dependencies. This is now necessary since upstream Snakemake extracted
executors to plugins.

Upgrade `snakemake-storage-plugin-xrootd` plugin to 1.0.0.
@tiborsimko tiborsimko force-pushed the feat/upgrade-snakemake-v9 branch from fbea72d to 7895ee8 Compare March 2, 2026 13:16
@tiborsimko tiborsimko self-assigned this Mar 2, 2026
@tiborsimko tiborsimko added this to 0.95.0 Mar 2, 2026
@tiborsimko tiborsimko moved this to In review in 0.95.0 Mar 2, 2026
Comment thread AUTHORS.md
- [Adelina Lintuluoto](https://orcid.org/0000-0002-0726-1452)
- [Agisilaos Kounelis](https://orcid.org/0000-0001-9312-3189)
- [Alastair Lyall](https://orcid.org/0009-0000-4955-8935)
- [Alejandro Gomez Espinosa](https://orcid.org/0000-0002-9443-7769)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@alefisico Thanks, I have slightly amended this PR and also added you to the list of contributors.

tiborsimko added a commit to alefisico/reana-commons that referenced this pull request Mar 2, 2026
Snakemake 9.16.3 requires snakemake-executor-plugin-kubernetes>=0.1.5
on Python 3.11+, which in turn needs kubernetes>=27.2.0. Since
kubernetes 27+ requires oauthlib>=3.2.2 which is incompatible with
reana-server invenio packages (flask-oauthlib needs oauthlib<3.0.0),
the executor plugin is split into a separate "snakemake-kubernetes"
extra. The "kubernetes" extra upper pin is kept at <27.0.0.

Co-authored-by: Tibor Šimko <tibor.simko@cern.ch>
@tiborsimko tiborsimko force-pushed the feat/upgrade-snakemake-v9 branch from 7895ee8 to c2dc33d Compare March 2, 2026 17:02
@tiborsimko tiborsimko changed the title feat: upgrade Snakemake to v9.16.3 and add kubernetes plugin build(python): upgrade to Snakemake 9.16.3 Mar 2, 2026
Comment thread setup.py
],
"kubernetes": [
"kubernetes>=22.0.0,<23.0.0",
"kubernetes>=22.0.0,<27.0.0", # upper pin due to oauthlib 3.x incompatibility with reana-server invenio packages
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FYI this resulted from more local testing. And we need to merge reanahub/pytest-reana#149 first and release the new pytest-reana on PyPI in order to solve failing CI tests.

Copy link
Copy Markdown
Member

tiborsimko added a commit to alefisico/reana-commons that referenced this pull request Mar 3, 2026
Snakemake 9.16.3 requires snakemake-executor-plugin-kubernetes>=0.1.5
on Python 3.11+, which in turn needs kubernetes>=27.2.0. Since
kubernetes 27+ requires oauthlib>=3.2.2 which is incompatible with
reana-server invenio packages (flask-oauthlib needs oauthlib<3.0.0),
the executor plugin is split into a separate "snakemake-kubernetes"
extra. The "kubernetes" extra upper pin is kept at <27.0.0.

Co-authored-by: Tibor Šimko <tibor.simko@cern.ch>
@tiborsimko tiborsimko force-pushed the feat/upgrade-snakemake-v9 branch from c2dc33d to 93ff450 Compare March 3, 2026 17:13
tiborsimko added a commit to alefisico/reana-commons that referenced this pull request Mar 3, 2026
Snakemake 9.16.3 requires snakemake-executor-plugin-kubernetes>=0.1.5
on Python 3.11+, which in turn needs kubernetes>=27.2.0. Since
kubernetes 27+ requires oauthlib>=3.2.2 which is incompatible with
reana-server invenio packages (flask-oauthlib needs oauthlib<3.0.0),
the executor plugin is split into a separate "snakemake-kubernetes"
extra. The "kubernetes" extra upper pin is kept at <27.0.0.

Co-authored-by: Tibor Šimko <tibor.simko@cern.ch>
@tiborsimko tiborsimko force-pushed the feat/upgrade-snakemake-v9 branch from 93ff450 to bc7cd0f Compare March 3, 2026 17:13
Snakemake 9.16.3 requires snakemake-executor-plugin-kubernetes>=0.1.5
on Python 3.11+, which in turn needs kubernetes>=27.2.0. Since
kubernetes 27+ requires oauthlib>=3.2.2 which is incompatible with
reana-server invenio packages (flask-oauthlib needs oauthlib<3.0.0),
the executor plugin is split into a separate "snakemake-kubernetes"
extra. The "kubernetes" extra upper pin is kept at <27.0.0.

Since the "kubernetes" and "snakemake-kubernetes" extras conflict and
cannot be installed together, the tox test configuration and the CI
workflow now list compatible extras explicitly instead of using "all".

Co-authored-by: Tibor Šimko <tibor.simko@cern.ch>
@tiborsimko tiborsimko force-pushed the feat/upgrade-snakemake-v9 branch from bc7cd0f to 621d52e Compare March 3, 2026 17:38
@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 3, 2026

Codecov Report

❌ Patch coverage is 0% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 41.14%. Comparing base (e435058) to head (5e92a2f).
⚠️ Report is 2 commits behind head on master.

Files with missing lines Patch % Lines
reana_commons/version.py 0.00% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #514   +/-   ##
=======================================
  Coverage   41.14%   41.14%           
=======================================
  Files          28       28           
  Lines        2066     2066           
=======================================
  Hits          850      850           
  Misses       1216     1216           
Files with missing lines Coverage Δ
reana_commons/version.py 0.00% <0.00%> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@tiborsimko tiborsimko force-pushed the feat/upgrade-snakemake-v9 branch from e5b7751 to 5e92a2f Compare March 3, 2026 17:53
@tiborsimko tiborsimko merged commit 5e92a2f into reanahub:master Mar 3, 2026
15 checks passed
@github-project-automation github-project-automation Bot moved this from In review to Done in 0.95.0 Mar 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants