Hey, I am a little puzzled about the behavior of t...
# tools
r
Hey, I am a little puzzled about the behavior of the pytest.yml. The current condition
run-tests
will always yield false (e.g. PR against dev), unless branch ref is main (https://github.com/nf-core/tools/blob/5ab6be3a893dcc5b76289c64ba91ef79939e70e5/.github/workflows/pytest.yml#L43). This condition is queried in the test job (https://github.com/nf-core/tools/blob/5ab6be3a893dcc5b76289c64ba91ef79939e70e5/.github/workflows/pytest.yml#L68), but seems to be ignored, but only for py14. For py10 no tests are run (see here for an example: (https://github.com/nf-core/tools/actions/runs/19102219542). Is there a magic that I don't see, or are there some unintended side effects that make this work?
Also, I think that when merging dev into main, you want to run the full test suite with all python versions, before merging into main: see current merge PR: https://github.com/nf-core/tools/actions/runs/19228103121
but this does not work.
m
we don't want to check PRs to dev with every python version, only the minimum. then for release we do both
ah, i think
matrix.runner == 'ubuntu-20.04'
in the if clause is the culprit
r
exactly, the condition there will always be false unless the current branch on which the workflow runs is main. So also when you do a PR from dev to main, it will not activate both python versions. Not sure if that is intended. Yet, the workflow still runs for py3.14, although the if condition here https://github.com/nf-core/tools/blob/5ab6be3a893dcc5b76289c64ba91ef79939e70e5/.github/workflows/pytest.yml#L68 should be false.
m
actually i think the problem is that we overwrite the value in the different runs...
need to add a cleverer setup step there...
r
I think the if condition is wrong as well. It probably should be: if: ${{ needs.setup.outputs.run-tests == 'true' }}, as otherwise it will always be interpreted as a non zero value and therefore yield always true. Then the tests will be skipped as expected: https://github.com/nf-core/tools/actions/runs/19228940000
m
shouldn't we remove the pytest in any case?
oups
forgot I said anything
Was thinking #CJRH30T6V, not #CE5LG7WMB
homer disappear
r
Well, the general issue with the current workflow is that it does not work as intended. The outputs of a job get merged no matter how big the execution matrix. This explains why we also see that only 3.14 tests are run. It overwrites the setting for py3.10.
Here is a fix for this.
m
great detective work!