scipp / scipp/copier_template

Python version conflict during a version upgrade

Open
#184 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Jinja
Stars
2
Forks
2
PR merge metrics
No merged PRs in 30d

Description

When dropping support for a Python version, the 'Nightly tests at latest release' workflow is broken until a new release is made. (If it uses Scipp)

As an example:

  1. Release package with, e.g., Python 3.9.
  2. Set minimum to 3.10.
  3. Update dependencies.
    • This will start using the py310 wheel of scipp.
  4. Run nightly_at_release.yml.
    • This calls test.yml with tox-env: nightly and python-version: 3.10.
    • test.yml checks out the last release tag, installs Python 3.10 and runs tox -e nightly.
    • Tox installs dependencies from requirements/nightly.txt as it was at the release. I.e., it tries to install the py39 wheel for Scipp and fail.

We could mitigate this by requiring to make a release whenever we change the minimum Python version. But those releases are not necessarily meaningful.

I don't see a simple way around this. We might have to pull requirements/nightly.txt from main instead of a release tag. But that would probably cause problems as well.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with .github/workflows/nightly_at_release.yml and test.yml, then compare how the release tag and Python version determine the dependencies from requirements/nightly.txt. Reproduce the failure described when the minimum Python version changes, and define done as the nightly-at-release workflow using compatible dependencies without requiring an unrelated release.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, python
Domain
ci-cd, testing
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.