Skip to content

Get test matrix from hatch#390

Merged
grst merged 21 commits into
mainfrom
test-matrix-from-hatch
Apr 18, 2025
Merged

Get test matrix from hatch#390
grst merged 21 commits into
mainfrom
test-matrix-from-hatch

Conversation

@grst
Copy link
Copy Markdown
Collaborator

@grst grst commented Apr 9, 2025

No description provided.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 9, 2025

A PR has been generated to the instance repo:
scverse/cookiecutter-scverse-instance#195

You can check out the PR to preview your changes
in an instance of the cookiecutter template. The PR will be kept in sync with
this PR automatically.

@flying-sheep
Copy link
Copy Markdown
Member

Oooh that’s sexy, I didn’t think of that!

Comment thread {{cookiecutter.project_name}}/.github/workflows/test.yaml
Copy link
Copy Markdown
Collaborator Author

@grst grst left a comment

Choose a reason for hiding this comment

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

Hi @flying-sheep,

there are still some issues that need to be resolved, maybe you have an idea for some of them.

Overall, I'm also still a bit hesitant if this is the way to go. The jq command is a bit obsure to someone who hasn't worked with that before, and I feel it makes it very hard for developers using the template to understand what's actually going on... whereas

         - os: ubuntu-latest
            python: "3.12"
          - os: ubuntu-latest
            python: "3.12"
            pip-flags: "--pre"
            name: PRE-RELEASE DEPENDENCIES

is pretty explicit.

Comment thread {{cookiecutter.project_name}}/.github/workflows/test.yaml Outdated
Comment thread {{cookiecutter.project_name}}/.github/workflows/test.yaml
Comment thread {{cookiecutter.project_name}}/.github/workflows/test.yaml Outdated
Comment thread {{cookiecutter.project_name}}/.github/workflows/test.yaml Outdated
@flying-sheep
Copy link
Copy Markdown
Member

AH, missed that today. I’ll take a look on monday!

@flying-sheep
Copy link
Copy Markdown
Member

If we get this to work, we should probably also use https://github.com/marketplace/actions/alls-green#why

@flying-sheep
Copy link
Copy Markdown
Member

So for excluding the incompatible python versions, the only thing I can think of is manually excluding them because of pypa/hatch#1571

When you run hatch test -a, hatch will skip the incompatible ones, but of course we should avoid creating jobs for incompatible Python versions.

@grst
Copy link
Copy Markdown
Collaborator Author

grst commented Apr 14, 2025

So for excluding the incompatible python versions, the only thing I can think of is manually excluding them because of pypa/hatch#1571

Together with #386, we anyway will need to manually define lower and upper python bounds in the pyproject.toml

@flying-sheep
Copy link
Copy Markdown
Member

Good point! I checked how it would look like to use a Python script instead, and it’s pretty OK, but this is more local.

6135fc4

@flying-sheep
Copy link
Copy Markdown
Member

flying-sheep commented Apr 14, 2025

The jq command is a bit obsure to someone who hasn't worked with that before, and I feel it makes it very hard for developers using the template to understand what's actually going on...

How big do you think the overlap is between “needs to customize the test jobs in a way that isn’t covered by editing pyproject.toml” and “doesn’t know jq”? Not a leading question, I don’t know the answer here.

I think combined with https://github.com/marketplace/actions/alls-green, this PR would make it so few people need to touch this workflow, whereas with a duplicated matrix, people do have to sync them.

This was referenced Sep 30, 2025
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