Skip to content

First release 🔝 #6

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 165 commits into from
May 8, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
165 commits
Select commit Hold shift + click to select a range
fc8c63d
added modules
Jan 15, 2025
e51b598
updated module.config and main.nf of workflows and subworkflows
Jan 15, 2025
5dd6aa0
updated subworkflows, mostly how inputs are defined
Jan 17, 2025
38b5228
updated ont workflow
Jan 17, 2025
31c3292
updated ont workflow and publish directories
Jan 17, 2025
31f05b9
updated pacbio workflow
Jan 17, 2025
b5c8626
correcting inputs
Jan 20, 2025
bee93b9
next:resolve params.model = some_value weird issue
Jan 21, 2025
d1ce6ed
bunch of updates
Jan 22, 2025
c4e13f7
fixing 99 problems
Jan 23, 2025
da79d55
update readme
Jan 23, 2025
960d96e
update readme
Jan 24, 2025
088156c
update files
Jan 24, 2025
3869147
add again bunch of stuff
Jan 24, 2025
d52bb35
update test config
Jan 24, 2025
3e6e87f
linting test passed
Jan 27, 2025
6b4473b
added workflow figure
Jan 27, 2025
1f185a8
Update README.md
jkh00 Jan 27, 2025
bdc9433
Add files via upload
jkh00 Jan 27, 2025
1642ea3
Add files via upload
jkh00 Jan 27, 2025
d5f2b4d
Update README.md
jkh00 Jan 27, 2025
aa7016d
update readme
Jan 27, 2025
3c611eb
update test.config
Jan 27, 2025
7e2b232
update readme
Jan 27, 2025
16fa0c7
updates
Jan 28, 2025
8215db8
changed script
Jan 29, 2025
830d5d0
Merge pull request #1 from jkh00/dev
jkh00 Jan 29, 2025
caf6ae6
resolved caching issue
Jan 31, 2025
186ab07
updates
Jan 31, 2025
b1f2b55
Merge pull request #3 from jkh00/dev
jkh00 Jan 31, 2025
30f5eba
added pigz to porechop
Feb 4, 2025
a7f9e6c
Merge pull request #4 from jkh00/dev
jkh00 Feb 4, 2025
1e81ae3
included output versions for all local modules
Feb 5, 2025
546dd8d
Merge pull request #5 from jkh00/dev
jkh00 Feb 5, 2025
0aafa33
modified subworkflows
Apr 2, 2025
a689b74
adding back fastqc and multiqc, also changed piping structure
Apr 4, 2025
babd98e
adding back nf-core utils stuff
Apr 4, 2025
060f263
switch to nf-core modules: pileup, porechop; gz output
Apr 7, 2025
9ef5258
update scripts
Apr 7, 2025
2dd7e46
fix lint issues
Apr 7, 2025
16ebbf2
update readme
Apr 7, 2025
566b6bb
include porechop log to multiqc; update workflow
Apr 8, 2025
689aad5
fix formatting issues
Apr 8, 2025
2412c4a
fix subworkflows format
Apr 9, 2025
eb0c2e3
update version - 1.0.0
Apr 10, 2025
f44fad1
correction for lint
Apr 10, 2025
0483d21
[automated] Fix code linting
nf-core-bot Apr 10, 2025
9a8dfc6
fixed pre-commit errors
Apr 10, 2025
29e16c0
fixed pre-commit errors
Apr 10, 2025
7c7e0ed
exclude nf-core modules in pre-commit
Apr 10, 2025
9efe735
undo changes in resourceLimits
Apr 10, 2025
470a226
removed checking for trail whitespaces
Apr 10, 2025
6d56e24
docker permission errors
Apr 10, 2025
b93db23
docker permission errors trial 2
Apr 10, 2025
c348feb
docker permission errors trial 3
Apr 10, 2025
7abcbcf
docker permission errors trial 4
Apr 10, 2025
e7f2040
docker permission errors trial 5
Apr 10, 2025
b4c9daf
Update .nf-core.yml
jkh00 Apr 10, 2025
e21355a
Merge pull request #7 from nf-core/fix4firstPR
jkh00 Apr 10, 2025
889ab2e
addressed comments, add ont minimap2 option
Apr 14, 2025
306a728
update ci.yml
Apr 14, 2025
2f33c50
Merge pull request #8 from nf-core/fix4firstPR
jkh00 Apr 14, 2025
b238df3
update ci.yml
Apr 14, 2025
ad99aae
Merge pull request #9 from nf-core/fix4firstPR
jkh00 Apr 14, 2025
9ef6c5a
included conda yml.
Apr 14, 2025
3b0bb5c
Merge pull request #10 from nf-core/fix4firstPR
jkh00 Apr 14, 2025
cbe19af
update: -x lr:hq
Apr 14, 2025
b57bfa5
Merge pull request #11 from nf-core/fix4firstPR
jkh00 Apr 14, 2025
c848354
add stub to local modules
Apr 14, 2025
6413cc2
Merge pull request #12 from nf-core/fix4firstPR
jkh00 Apr 14, 2025
5c67e7c
update dorado docker link
Apr 14, 2025
8f5ac79
Merge pull request #13 from nf-core/fix4firstPR
jkh00 Apr 14, 2025
c7ae54d
update dorado docker link
Apr 14, 2025
bc8b0f5
update dorado docker link
Apr 14, 2025
2962a56
update dorado docker link
Apr 14, 2025
3160377
Merge pull request #14 from nf-core/fix4firstPR
jkh00 Apr 14, 2025
39644ad
changing dorado docker link
Apr 14, 2025
e4f230a
Merge pull request #15 from nf-core/fix4firstPR
jkh00 Apr 14, 2025
6f86e38
change runs on
Apr 15, 2025
7764cd6
Merge pull request #16 from nf-core/fix4firstPR
jkh00 Apr 15, 2025
129c185
updated credits n citations
Apr 15, 2025
22c0628
fake commit - trigger new test
Apr 15, 2025
5f0056b
Merge pull request #18 from nf-core/fix4firstPR
jkh00 Apr 15, 2025
51808d9
disable conda in ci test
Apr 15, 2025
8d06b2b
Merge pull request #19 from nf-core/fix4firstPR
jkh00 Apr 15, 2025
0075bc8
included multiqc descriptions
Apr 23, 2025
12628b0
Merge pull request #20 from nf-core/fix4firstPR
jkh00 Apr 23, 2025
5515ebd
removed igenome related parts
Apr 23, 2025
9085bc7
Merge pull request #22 from nf-core/fix4firstPR
jkh00 Apr 23, 2025
cefd24a
update awsfulltest template
Apr 23, 2025
4e96fde
update lint
Apr 23, 2025
c453212
fix aws trigger issue
Apr 23, 2025
b91df54
fix aws trigger issue
Apr 23, 2025
3f8350e
fix aws trigger issue
Apr 23, 2025
6d867c1
Merge pull request #23 from nf-core/fix4firstPR
jkh00 Apr 23, 2025
852e0f2
isolate dorado for ci test
Apr 24, 2025
8216033
include dorado test profile in nextflow config
Apr 24, 2025
4a3c203
fake push
Apr 24, 2025
f112dc4
Merge pull request #24 from nf-core/fix4firstPR
jkh00 Apr 24, 2025
ef365cd
minimise test for dorado
Apr 24, 2025
0f9258c
fix calling wrong module
Apr 24, 2025
04d005b
fix emitting issue
Apr 24, 2025
c0e6cf0
removed strange line
Apr 24, 2025
e8a9462
fix multiqc emit issue
Apr 24, 2025
c5c46b7
typo
Apr 24, 2025
78758d0
Merge pull request #25 from nf-core/fix4firstPR
jkh00 Apr 24, 2025
d9d246b
remove check for dorado in ci tests
Apr 25, 2025
e7cc938
removed extra tests
Apr 25, 2025
a6a1b91
remove extra profile from aws
Apr 25, 2025
d5db34d
Merge pull request #26 from nf-core/fix4firstPR
jkh00 Apr 25, 2025
5a1faa7
removed extra tests
Apr 25, 2025
4350b76
fix lint
Apr 25, 2025
a92fabb
fake trigger
Apr 25, 2025
49adce9
Merge pull request #27 from nf-core/fix4firstPR
jkh00 Apr 25, 2025
94e7816
changed awsfulltest.yml
Apr 25, 2025
edc1dcd
fake push
Apr 25, 2025
d26e650
Merge pull request #28 from nf-core/fix4firstPR
jkh00 Apr 25, 2025
28555f3
update pbmm2
Apr 25, 2025
b1f15c2
remove copies
Apr 25, 2025
edcebd4
Merge pull request #29 from nf-core/fix4firstPR
jkh00 Apr 25, 2025
f278635
specify resources and add ubuntu
Apr 25, 2025
a186af5
Merge pull request #30 from nf-core/fix4firstPR
jkh00 Apr 25, 2025
9d4f071
remove memory usage specification
Apr 25, 2025
f3e522c
Merge pull request #31 from nf-core/fix4firstPR
jkh00 Apr 25, 2025
dfa64df
limit resources in full test
Apr 25, 2025
35ad24f
fake push
Apr 25, 2025
8a9dc70
Merge pull request #32 from nf-core/fix4firstPR
jkh00 Apr 25, 2025
adeb8c7
remove memory limits
Apr 25, 2025
1256a33
Merge pull request #33 from nf-core/fix4firstPR
jkh00 Apr 25, 2025
3279960
update resource for full test
Apr 26, 2025
ecf4fb2
update resource for full test
Apr 26, 2025
54591ed
Merge pull request #34 from nf-core/fix4firstPR
jkh00 Apr 26, 2025
9809356
update resource for full test
Apr 26, 2025
2f5b75f
Merge pull request #35 from nf-core/fix4firstPR
jkh00 Apr 26, 2025
22004f2
update resource for full test
Apr 26, 2025
8f1e613
Merge pull request #36 from nf-core/fix4firstPR
jkh00 Apr 26, 2025
a35b430
update resource for full test
Apr 26, 2025
36b68c0
Merge pull request #37 from nf-core/fix4firstPR
jkh00 Apr 26, 2025
28d0d80
update resource for full test
Apr 27, 2025
f48b21e
Merge pull request #38 from nf-core/fix4firstPR
jkh00 Apr 27, 2025
528d0e8
Template update for nf-core/tools version 3.2.1
nf-core-bot Apr 30, 2025
414626a
Merge branch 'dev' into nf-core-template-merge-3.2.1
May 2, 2025
c6264c2
Merge pull request #39 from nf-core/nf-core-template-merge-3.2.1
jkh00 May 2, 2025
8499325
disable trimming part in aws full
May 2, 2025
c0a4fba
Merge pull request #42 from nf-core/fix4firstPR2
jkh00 May 2, 2025
1fe5b61
updated fastqc
May 5, 2025
a6a38c3
Merge pull request #43 from nf-core/fix4firstPR2
jkh00 May 5, 2025
833b6fd
updated resources for full test
May 5, 2025
865f5f3
Merge pull request #44 from nf-core/fix4firstPR2
jkh00 May 5, 2025
792a369
updated dorado version
May 6, 2025
651ce97
Merge pull request #45 from nf-core/fix4firstPR2
jkh00 May 6, 2025
8fc4047
fix container not found issue
May 6, 2025
630bec9
Merge pull request #46 from nf-core/fix4firstPR2
jkh00 May 6, 2025
ed1237c
added samtools reset for dorado workflow
May 7, 2025
831c2a4
update minimap2 module
May 7, 2025
45644d7
Merge pull request #47 from nf-core/fix4firstPR2
jkh00 May 7, 2025
59bb91b
update README
May 7, 2025
0eaec0a
Merge pull request #48 from nf-core/fix4firstPR2
jkh00 May 7, 2025
63324cb
include samtools reset in ONT trim_repair workflow
May 7, 2025
9875c9b
improved condition calling, prevent double reset
May 7, 2025
436fc30
changed required resources for pbmm2 in aws test
May 7, 2025
338f6c4
Merge pull request #49 from nf-core/fix4firstPR2
jkh00 May 7, 2025
8663dc3
updated output.md and release tag
May 8, 2025
65d369d
solved minor caching issue
May 8, 2025
0ecf817
Merge pull request #50 from nf-core/fix4firstPR2
jkh00 May 8, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,7 @@ indent_size = unset
# ignore python and markdown
[*.{py,md}]
indent_style = unset

# ignore ro-crate metadata files
[**/ro-crate-metadata.json]
insert_final_newline = unset
12 changes: 6 additions & 6 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# nf-core/methylong: Contributing Guidelines
# `nf-core/methylong`: Contributing Guidelines

Hi there!
Many thanks for taking an interest in improving nf-core/methylong.
Expand Down Expand Up @@ -55,23 +55,23 @@ These tests are run both with the latest available version of `Nextflow` and als

:warning: Only in the unlikely and regretful event of a release happening with a bug.

- On your own fork, make a new branch `patch` based on `upstream/master`.
- On your own fork, make a new branch `patch` based on `upstream/main` or `upstream/master`.
- Fix the bug, and bump version (X.Y.Z+1).
- A PR should be made on `master` from patch to directly this particular bug.
- Open a pull-request from `patch` to `main`/`master` with the changes.

## Getting help

For further information/help, please consult the [nf-core/methylong documentation](https://nf-co.re/methylong/usage) and don't hesitate to get in touch on the nf-core Slack [#methylong](https://nfcore.slack.com/channels/methylong) channel ([join our Slack here](https://nf-co.re/join/slack)).

## Pipeline contribution conventions

To make the nf-core/methylong code and processing logic more understandable for new contributors and to ensure quality, we semi-standardise the way the code and other contributions are written.
To make the `nf-core/methylong` code and processing logic more understandable for new contributors and to ensure quality, we semi-standardise the way the code and other contributions are written.

### Adding a new step

If you wish to contribute a new step, please use the following coding standards:

1. Define the corresponding input channel into your new process from the expected previous process channel
1. Define the corresponding input channel into your new process from the expected previous process channel.
2. Write the process block (see below).
3. Define the output channel if needed (see below).
4. Add any new parameters to `nextflow.config` with a default (see below).
Expand All @@ -84,7 +84,7 @@ If you wish to contribute a new step, please use the following coding standards:

### Default values

Parameters should be initialised / defined with default values in `nextflow.config` under the `params` scope.
Parameters should be initialised / defined with default values within the `params` scope in `nextflow.config`.

Once there, use `nf-core pipelines schema build` to add to `nextflow_schema.json`.

Expand Down
1 change: 0 additions & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ body:

- [nf-core website: troubleshooting](https://nf-co.re/usage/troubleshooting)
- [nf-core/methylong pipeline documentation](https://nf-co.re/methylong/usage)

- type: textarea
id: description
attributes:
Expand Down
33 changes: 12 additions & 21 deletions .github/workflows/awsfulltest.yml
Original file line number Diff line number Diff line change
@@ -1,35 +1,27 @@
name: nf-core AWS full size tests
# This workflow is triggered on PRs opened against the master branch.
# This workflow is triggered on PRs opened against the main/master branch.
# It can be additionally triggered manually with GitHub actions workflow dispatch button.
# It runs the -profile 'test_full' on AWS batch

on:
pull_request:
branches:
- master
workflow_dispatch:
pull_request_review:
types: [submitted]
release:
types: [published]

jobs:
run-platform:
name: Run AWS full tests
# run only if the PR is approved by at least 2 reviewers and against the master branch or manually triggered
if: github.repository == 'nf-core/methylong' && github.event.review.state == 'approved' && github.event.pull_request.base.ref == 'master' || github.event_name == 'workflow_dispatch'
# run only if the PR is approved by at least 2 reviewers and against the master/main branch or manually triggered
if: github.repository == 'nf-core/methylong' && github.event.review.state == 'approved' && (github.event.pull_request.base.ref == 'master' || github.event.pull_request.base.ref == 'main') || github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
steps:
- uses: octokit/[email protected]
id: check_approvals
with:
route: GET /repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}/reviews
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- id: test_variables
if: github.event_name != 'workflow_dispatch'
- name: Set revision variable
id: revision
run: |
JSON_RESPONSE='${{ steps.check_approvals.outputs.data }}'
CURRENT_APPROVALS_COUNT=$(echo $JSON_RESPONSE | jq -c '[.[] | select(.state | contains("APPROVED")) ] | length')
test $CURRENT_APPROVALS_COUNT -ge 2 || exit 1 # At least 2 approvals are required
echo "revision=${{ (github.event_name == 'workflow_dispatch' || github.event_name == 'release') && github.sha || 'dev' }}" >> "$GITHUB_OUTPUT"

- name: Launch workflow via Seqera Platform
uses: seqeralabs/action-tower-launch@v2
# TODO nf-core: You can customise AWS full pipeline tests as required
Expand All @@ -39,15 +31,14 @@ jobs:
workspace_id: ${{ secrets.TOWER_WORKSPACE_ID }}
access_token: ${{ secrets.TOWER_ACCESS_TOKEN }}
compute_env: ${{ secrets.TOWER_COMPUTE_ENV }}
revision: ${{ github.sha }}
workdir: s3://${{ secrets.AWS_S3_BUCKET }}/work/methylong/work-${{ github.sha }}
revision: ${{ steps.revision.outputs.revision }}
workdir: s3://${{ secrets.AWS_S3_BUCKET }}/work/methylong/work-${{ steps.revision.outputs.revision }}
parameters: |
{
"hook_url": "${{ secrets.MEGATESTS_ALERTS_SLACK_HOOK_URL }}",
"outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/methylong/results-${{ github.sha }}"
"outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/methylong/results-${{ steps.revision.outputs.revision }}"
}
profiles: test_full

- uses: actions/upload-artifact@v4
with:
name: Seqera Platform debug log file
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/awstest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
{
"outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/methylong/results-test-${{ github.sha }}"
}
profiles: test
profiles: test_aws_small

- uses: actions/upload-artifact@v4
with:
Expand Down
18 changes: 10 additions & 8 deletions .github/workflows/branch.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
name: nf-core branch protection
# This workflow is triggered on PRs to master branch on the repository
# It fails when someone tries to make a PR against the nf-core `master` branch instead of `dev`
# This workflow is triggered on PRs to `main`/`master` branch on the repository
# It fails when someone tries to make a PR against the nf-core `main`/`master` branch instead of `dev`
on:
pull_request_target:
branches: [master]
branches:
- main
- master

jobs:
test:
runs-on: ubuntu-latest
steps:
# PRs to the nf-core repo master branch are only ok if coming from the nf-core repo `dev` or any `patch` branches
# PRs to the nf-core repo main/master branch are only ok if coming from the nf-core repo `dev` or any `patch` branches
- name: Check PRs
if: github.repository == 'nf-core/methylong'
run: |
Expand All @@ -22,7 +24,7 @@ jobs:
uses: mshick/add-pr-comment@b8f338c590a895d50bcbfa6c5859251edc8952fc # v2
with:
message: |
## This PR is against the `master` branch :x:
## This PR is against the `${{github.event.pull_request.base.ref}}` branch :x:

* Do not close this PR
* Click _Edit_ and change the `base` to `dev`
Expand All @@ -32,9 +34,9 @@ jobs:

Hi @${{ github.event.pull_request.user.login }},

It looks like this pull-request is has been made against the [${{github.event.pull_request.head.repo.full_name }}](https://github.com/${{github.event.pull_request.head.repo.full_name }}) `master` branch.
The `master` branch on nf-core repositories should always contain code from the latest release.
Because of this, PRs to `master` are only allowed if they come from the [${{github.event.pull_request.head.repo.full_name }}](https://github.com/${{github.event.pull_request.head.repo.full_name }}) `dev` branch.
It looks like this pull-request is has been made against the [${{github.event.pull_request.head.repo.full_name }}](https://github.com/${{github.event.pull_request.head.repo.full_name }}) ${{github.event.pull_request.base.ref}} branch.
The ${{github.event.pull_request.base.ref}} branch on nf-core repositories should always contain code from the latest release.
Because of this, PRs to ${{github.event.pull_request.base.ref}} are only allowed if they come from the [${{github.event.pull_request.head.repo.full_name }}](https://github.com/${{github.event.pull_request.head.repo.full_name }}) `dev` branch.

You do not need to close this PR, you can change the target branch to `dev` by clicking the _"Edit"_ button at the top of this page.
Note that even after this, the test will continue to show as failing until you push a new commit.
Expand Down
21 changes: 17 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,24 @@ jobs:
name: "Run pipeline with test data (${{ matrix.NXF_VER }} | ${{ matrix.test_name }} | ${{ matrix.profile }})"
# Only run on push if this is the nf-core dev branch (merged PRs)
if: "${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/methylong') }}"
runs-on: ubuntu-latest
runs-on:
- runs-on=${{ github.run_id }}-test
- runner=4cpu-linux-x64
strategy:
matrix:
NXF_VER:
- "24.04.2"
- "latest-everything"
PARAMETERS:
- "--bedgraph"
- "--no_trim"
- "--pacbio_aligner minimap2"
- "--pileup_method modkit"
- "--pileup_count count"
- "--denovo"
- "--reset"
profile:
- "conda"
#- "conda"
- "docker"
- "singularity"
test_name:
Expand All @@ -45,7 +55,9 @@ jobs:
profile: "singularity"
steps:
- name: Check out pipeline code
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
fetch-depth: 0

- name: Set up Nextflow
uses: nf-core/setup-nextflow@v2
Expand Down Expand Up @@ -81,5 +93,6 @@ jobs:
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1

- name: "Run pipeline with test data ${{ matrix.NXF_VER }} | ${{ matrix.test_name }} | ${{ matrix.profile }}"
continue-on-error: ${{ matrix.NXF_VER == 'latest-everything' }}
run: |
nextflow run ${GITHUB_WORKSPACE} -profile ${{ matrix.test_name }},${{ matrix.profile }} --outdir ./results
nextflow run ${GITHUB_WORKSPACE} -profile ${{ matrix.test_name }},${{ matrix.profile }} ${{ matrix.PARAMETERS }} --outdir ./results
59 changes: 37 additions & 22 deletions .github/workflows/download_pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Test successful pipeline download with 'nf-core pipelines download'

# Run the workflow when:
# - dispatched manually
# - when a PR is opened or reopened to master branch
# - when a PR is opened or reopened to main/master branch
# - the head branch of the pull request is updated, i.e. if fixes for a release are pushed last minute to dev.
on:
workflow_dispatch:
Expand All @@ -17,25 +17,42 @@ on:
- edited
- synchronize
branches:
- main
- master
pull_request_target:
branches:
- main
- master

env:
NXF_ANSI_LOG: false

jobs:
configure:
runs-on: ubuntu-latest
outputs:
REPO_LOWERCASE: ${{ steps.get_repo_properties.outputs.REPO_LOWERCASE }}
REPOTITLE_LOWERCASE: ${{ steps.get_repo_properties.outputs.REPOTITLE_LOWERCASE }}
REPO_BRANCH: ${{ steps.get_repo_properties.outputs.REPO_BRANCH }}
steps:
- name: Get the repository name and current branch
id: get_repo_properties
run: |
echo "REPO_LOWERCASE=${GITHUB_REPOSITORY,,}" >> "$GITHUB_OUTPUT"
echo "REPOTITLE_LOWERCASE=$(basename ${GITHUB_REPOSITORY,,})" >> "$GITHUB_OUTPUT"
echo "REPO_BRANCH=${{ github.event.inputs.testbranch || 'dev' }}" >> "$GITHUB_OUTPUT"

download:
runs-on: ubuntu-latest
needs: configure
steps:
- name: Install Nextflow
uses: nf-core/setup-nextflow@v2

- name: Disk space cleanup
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1

- uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5
- uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5
with:
python-version: "3.12"
architecture: "x64"
Expand All @@ -50,12 +67,6 @@ jobs:
python -m pip install --upgrade pip
pip install git+https://github.com/nf-core/tools.git@dev

- name: Get the repository name and current branch set as environment variable
run: |
echo "REPO_LOWERCASE=${GITHUB_REPOSITORY,,}" >> ${GITHUB_ENV}
echo "REPOTITLE_LOWERCASE=$(basename ${GITHUB_REPOSITORY,,})" >> ${GITHUB_ENV}
echo "REPO_BRANCH=${{ github.event.inputs.testbranch || 'dev' }}" >> ${GITHUB_ENV}

- name: Make a cache directory for the container images
run: |
mkdir -p ./singularity_container_images
Expand All @@ -64,55 +75,59 @@ jobs:
env:
NXF_SINGULARITY_CACHEDIR: ./singularity_container_images
run: |
nf-core pipelines download ${{ env.REPO_LOWERCASE }} \
--revision ${{ env.REPO_BRANCH }} \
--outdir ./${{ env.REPOTITLE_LOWERCASE }} \
nf-core pipelines download ${{ needs.configure.outputs.REPO_LOWERCASE }} \
--revision ${{ needs.configure.outputs.REPO_BRANCH }} \
--outdir ./${{ needs.configure.outputs.REPOTITLE_LOWERCASE }} \
--compress "none" \
--container-system 'singularity' \
--container-library "quay.io" -l "docker.io" -l "community.wave.seqera.io" \
--container-library "quay.io" -l "docker.io" -l "community.wave.seqera.io/library/" \
--container-cache-utilisation 'amend' \
--download-configuration 'yes'

- name: Inspect download
run: tree ./${{ env.REPOTITLE_LOWERCASE }}
run: tree ./${{ needs.configure.outputs.REPOTITLE_LOWERCASE }}

- name: Inspect container images
run: tree ./singularity_container_images | tee ./container_initial

- name: Count the downloaded number of container images
id: count_initial
run: |
image_count=$(ls -1 ./singularity_container_images | wc -l | xargs)
echo "Initial container image count: $image_count"
echo "IMAGE_COUNT_INITIAL=$image_count" >> ${GITHUB_ENV}
echo "IMAGE_COUNT_INITIAL=$image_count" >> "$GITHUB_OUTPUT"

- name: Run the downloaded pipeline (stub)
id: stub_run_pipeline
continue-on-error: true
env:
NXF_SINGULARITY_CACHEDIR: ./singularity_container_images
NXF_SINGULARITY_HOME_MOUNT: true
run: nextflow run ./${{ env.REPOTITLE_LOWERCASE }}/$( sed 's/\W/_/g' <<< ${{ env.REPO_BRANCH }}) -stub -profile test,singularity --outdir ./results
run: nextflow run ./${{needs.configure.outputs.REPOTITLE_LOWERCASE }}/$( sed 's/\W/_/g' <<< ${{ needs.configure.outputs.REPO_BRANCH }}) -stub -profile test,singularity --outdir ./results
- name: Run the downloaded pipeline (stub run not supported)
id: run_pipeline
if: ${{ job.steps.stub_run_pipeline.status == failure() }}
if: ${{ steps.stub_run_pipeline.outcome == 'failure' }}
env:
NXF_SINGULARITY_CACHEDIR: ./singularity_container_images
NXF_SINGULARITY_HOME_MOUNT: true
run: nextflow run ./${{ env.REPOTITLE_LOWERCASE }}/$( sed 's/\W/_/g' <<< ${{ env.REPO_BRANCH }}) -profile test,singularity --outdir ./results
run: nextflow run ./${{ needs.configure.outputs.REPOTITLE_LOWERCASE }}/$( sed 's/\W/_/g' <<< ${{ needs.configure.outputs.REPO_BRANCH }}) -profile test,singularity --outdir ./results

- name: Count the downloaded number of container images
id: count_afterwards
run: |
image_count=$(ls -1 ./singularity_container_images | wc -l | xargs)
echo "Post-pipeline run container image count: $image_count"
echo "IMAGE_COUNT_AFTER=$image_count" >> ${GITHUB_ENV}
echo "IMAGE_COUNT_AFTER=$image_count" >> "$GITHUB_OUTPUT"

- name: Compare container image counts
run: |
if [ "${{ env.IMAGE_COUNT_INITIAL }}" -ne "${{ env.IMAGE_COUNT_AFTER }}" ]; then
initial_count=${{ env.IMAGE_COUNT_INITIAL }}
final_count=${{ env.IMAGE_COUNT_AFTER }}
if [ "${{ steps.count_initial.outputs.IMAGE_COUNT_INITIAL }}" -ne "${{ steps.count_afterwards.outputs.IMAGE_COUNT_AFTER }}" ]; then
initial_count=${{ steps.count_initial.outputs.IMAGE_COUNT_INITIAL }}
final_count=${{ steps.count_afterwards.outputs.IMAGE_COUNT_AFTER }}
difference=$((final_count - initial_count))
echo "$difference additional container images were \n downloaded at runtime . The pipeline has no support for offline runs!"
tree ./singularity_container_images
tree ./singularity_container_images > ./container_afterwards
diff ./container_initial ./container_afterwards
exit 1
else
echo "The pipeline can be downloaded successfully!"
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/fix-linting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest
steps:
# Use the @nf-core-bot token to check out so we can push later
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
token: ${{ secrets.nf_core_bot_auth_token }}

Expand All @@ -32,7 +32,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.nf_core_bot_auth_token }}

# Install and run pre-commit
- uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5
- uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5
with:
python-version: "3.12"

Expand Down
Loading
Loading