nf-core / nf-core/tools

Centralize and synchronize GHAs

Open
#3,716 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
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:

Contributor guide

Open the contributing guide

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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.