STRY0019104 - Test against GSP version of Nextflow in GitHub CI for all pipelines#26
Conversation
GitHub CI tests for Nextflow version 24.10.3.
|
sgsutcliffe
left a comment
There was a problem hiding this comment.
Looks good, as far as I can tell. I am not so familiar with the types of changes you were making to the CI tests but I like the implementation of shards!
| $(if [ -n "${{ inputs.tags }}" ]; then echo "--tag ${{ inputs.tags }}"; fi) \ | ||
| --dry-run \ | ||
| --ci \ | ||
| --changed-since HEAD^) || { |
There was a problem hiding this comment.
This is cool didn't know about this, so it is only going to run tests impacted by changes?
There was a problem hiding this comment.
Thanks. Since HEAD^ is referencing the parent commit of the HEAD commit I wanted to know more about how this worked on GitHub (since a PR can have multiple commits, so why does HEAD^ capture all changes in the PR)?
Based on what I've read, it looks like the GitHub actions checkout (https://github.com/marketplace/actions/checkout) will checkout code with a particular commit that is the squashed commit of all changes in your PR. Hence, HEAD^ will point to the commit prior to the PR, and so differences from HEAD^ (that is the --changed-since HEAD^ parameter) will properly capture all code changes in this PR. Running nf-test test ... --changed-since HEAD^ locally on a branch won't work (since it only looks at differences one commit up).
This is based on inspecting output of the GitHub actions and a copilot summary (I couldn't find good documentation on this outside of copilot):
Question: In git and github, what does the command "git fetch origin +fbae8663d8ad761d4e1191ad9359e32481e293cf:refs/remotes/pull/26/merge" do?
🔍 Breakdown of the command
git fetch origin: Fetches data from the remote repository named origin.+fbae8663d8ad761d4e1191ad9359e32481e293cf:refs/remotes/pull/26/merge:
The + sign indicates a forced update of the reference (even if it’s not a fast-forward).
fbae866 is a commit SHA — the specific commit you want to fetch.refs/remotes/pull/26/merge is a remote-tracking reference — typically used by GitHub to represent the result of >merging a pull request (PR #26 in this case) into the base branch.
| # This workflow is triggered on PRs to `main`/`master` branch on the repository | ||
| # It fails when someone tries to make a PR against the phac-nml `main`/`master` branch instead of `dev` |
There was a problem hiding this comment.
I thought we were moving away from master?
There was a problem hiding this comment.
That's correct. The default checks from the nf-core templates should be for both master and main, so it should work for us still.
Adding GitHub CI tests against Nextflow
24.10.3Also makes the following changes:
custom/dumpsoftwareversionsandcsvtk/concatnf-core modules to latest versions.input_checkcode from pipeline.PR checklist
nf-core lint).nextflow run . -profile test,docker --outdir <OUTDIR>).CHANGELOG.mdis updated.