Centralize and synchronize GHAs
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 322
- Forks
- 255
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 5
Description
Description of feature
Both the modules repo and TEMPLATE use slightly different actions/workflows for common things, and they are slightly diverging more and more.
https://github.com/nf-core/modules/tree/master/.github/actions
https://github.com/nf-core/tools/tree/dev/nf_core/pipeline-template/.github/actions
We have 2 get-shards, but 1 nf-test-action and 1 nf-test .
Similarly we have a update-gpu-snapshot.yml workflow and a update-sentieon-snapshot.yml workflow.
@edmundmiller, @mirpedrol and others raised the question about having a single update actions, which I think would be great to have in pipeline, and cover more than just updating snapshots for gpus and/or sentieon.
I would just be wary about allowing to update everything as one can update unstable snapshots.
Also I noticed a bit of leftover java setup:
- uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4
with:
distribution: "temurin"
java-version: "17"
Similarly we have diverging actions from the template in some pipelines:
- https://github.com/nf-core/rnaseq/blob/dev/.github/workflows/cloud_tests_full.yml
- https://github.com/nf-core/rnaseq/blob/dev/.github/workflows/cloud_tests_small.yml
- https://github.com/nf-core/sarek/blob/dev/.github/workflows/cloudtest.yml
- https://github.com/nf-core/tools/blob/dev/nf_core/pipeline-template/.github/workflows/awstest.yml
- https://github.com/nf-core/tools/blob/dev/nf_core/pipeline-template/.github/workflows/awstestfull.yml
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Compare nf-core/modules/.github/actions with nf_core/pipeline-template/.github/actions, then review the referenced snapshot and cloud-test workflows for divergence and leftover Java setup. Define which actions and workflows can be shared while keeping snapshot updates selective. Done means the common GitHub Actions are centralized and the listed pipelines are synchronized with the template.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, yaml
- Domain
- ci-cd, devops
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100