Skip to content

Commit 02bbefb

Browse files
authored
Merge pull request #136 from nf-core/dev
dev => master 2.2.0
2 parents 9ff33c7 + 618e3a7 commit 02bbefb

File tree

320 files changed

+9524
-2237
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

320 files changed

+9524
-2237
lines changed

.devcontainer/devcontainer.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"name": "nfcore",
33
"image": "nfcore/gitpod:latest",
44
"remoteUser": "gitpod",
5+
"runArgs": ["--privileged"],
56

67
// Configure tool-specific properties.
78
"customizations": {

.editorconfig

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ trim_trailing_whitespace = true
88
indent_size = 4
99
indent_style = space
1010

11-
[*.{md,yml,yaml,html,css,scss,js,cff}]
11+
[*.{md,yml,yaml,html,css,scss,js}]
1212
indent_size = 2
1313

1414
# These files are edited and tested upstream in nf-core/modules
@@ -22,3 +22,11 @@ indent_size = unset
2222

2323
[/assets/email*]
2424
indent_size = unset
25+
26+
# ignore Readme
27+
[README.md]
28+
indent_style = unset
29+
30+
# ignore python
31+
[*.{py}]
32+
indent_style = unset

.github/CONTRIBUTING.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ Please use the pre-filled template to save time.
99
However, don't be put off by this template - other more general issues and suggestions are welcome!
1010
Contributions to the code are even more welcome ;)
1111

12-
> If you need help using or modifying nf-core/nascent then the best place to ask is on the nf-core Slack [#nascent](https://nfcore.slack.com/channels/nascent) channel ([join our Slack here](https://nf-co.re/join/slack)).
12+
:::info
13+
If you need help using or modifying nf-core/nascent then the best place to ask is on the nf-core Slack [#nascent](https://nfcore.slack.com/channels/nascent) channel ([join our Slack here](https://nf-co.re/join/slack)).
14+
:::
1315

1416
## Contribution workflow
1517

@@ -25,6 +27,9 @@ If you're not used to this workflow with git, you can start with some [docs from
2527

2628
## Tests
2729

30+
You can optionally test your changes by running the pipeline locally. Then it is recommended to use the `debug` profile to
31+
receive warnings about process selectors and other debug info. Example: `nextflow run . -profile debug,test,docker --outdir <OUTDIR>`.
32+
2833
When you create a pull request with changes, [GitHub Actions](https://github.com/features/actions) will run automatic tests.
2934
Typically, pull-requests are only fully reviewed when these tests are passing, though of course we can help out before then.
3035

@@ -116,4 +121,3 @@ To get started:
116121
Devcontainer specs:
117122

118123
- [DevContainer config](.devcontainer/devcontainer.json)
119-
- [Dockerfile](.devcontainer/Dockerfile)

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@ body:
4242
attributes:
4343
label: System information
4444
description: |
45-
* Nextflow version _(eg. 22.10.1)_
45+
* Nextflow version _(eg. 23.04.0)_
4646
* Hardware _(eg. HPC, Desktop, Cloud)_
4747
* Executor _(eg. slurm, local, awsbatch)_
48-
* Container engine: _(e.g. Docker, Singularity, Conda, Podman, Shifter or Charliecloud)_
48+
* Container engine: _(e.g. Docker, Singularity, Conda, Podman, Shifter, Charliecloud, or Apptainer)_
4949
* OS _(eg. CentOS Linux, macOS, Linux Mint)_
5050
* Version of nf-core/nascent _(eg. 1.1, 1.5, 1.8.2)_

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,11 @@ Learn more about contributing: [CONTRIBUTING.md](https://github.com/nf-core/nasc
1515

1616
- [ ] This comment contains a description of changes (with reason).
1717
- [ ] If you've fixed a bug or added code that should be tested, add tests!
18-
- [ ] If you've added a new tool - have you followed the pipeline conventions in the [contribution docs](https://github.com/nf-core/nascent/tree/master/.github/CONTRIBUTING.md)- [ ] If necessary, also make a PR on the nf-core/nascent _branch_ on the [nf-core/test-datasets](https://github.com/nf-core/test-datasets) repository.
18+
- [ ] If you've added a new tool - have you followed the pipeline conventions in the [contribution docs](https://github.com/nf-core/nascent/tree/master/.github/CONTRIBUTING.md)
19+
- [ ] If necessary, also make a PR on the nf-core/nascent _branch_ on the [nf-core/test-datasets](https://github.com/nf-core/test-datasets) repository.
1920
- [ ] Make sure your code lints (`nf-core lint`).
2021
- [ ] Ensure the test suite passes (`nextflow run . -profile test,docker --outdir <OUTDIR>`).
22+
- [ ] Check for unexpected warnings in debug mode (`nextflow run . -profile debug,test,docker --outdir <OUTDIR>`).
2123
- [ ] Usage Documentation in `docs/usage.md` is updated.
2224
- [ ] Output Documentation in `docs/output.md` is updated.
2325
- [ ] `CHANGELOG.md` is updated.

.github/workflows/awsfulltest.yml

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,23 @@ jobs:
1414
runs-on: ubuntu-latest
1515
steps:
1616
- name: Launch workflow via tower
17-
uses: nf-core/tower-action@v3
18-
# TODO nf-core: You can customise AWS full pipeline tests as required
19-
# Add full size test data (but still relatively small datasets for few samples)
20-
# on the `test_full.config` test runs with only one set of parameters
17+
uses: seqeralabs/action-tower-launch@v2
2118
with:
2219
workspace_id: ${{ secrets.TOWER_WORKSPACE_ID }}
2320
access_token: ${{ secrets.TOWER_ACCESS_TOKEN }}
2421
compute_env: ${{ secrets.TOWER_COMPUTE_ENV }}
22+
revision: ${{ github.sha }}
2523
workdir: s3://${{ secrets.AWS_S3_BUCKET }}/work/nascent/work-${{ github.sha }}
2624
parameters: |
2725
{
26+
"hook_url": "${{ secrets.MEGATESTS_ALERTS_SLACK_HOOK_URL }}",
2827
"outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/nascent/results-${{ github.sha }}"
2928
}
30-
profiles: test_full,aws_tower
31-
- uses: actions/upload-artifact@v3
29+
profiles: test_full
30+
31+
- uses: actions/upload-artifact@v4
3232
with:
3333
name: Tower debug log file
34-
path: tower_action_*.log
34+
path: |
35+
tower_action_*.log
36+
tower_action_*.json

.github/workflows/awstest.yml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,22 @@ jobs:
1212
steps:
1313
# Launch workflow using Tower CLI tool action
1414
- name: Launch workflow via tower
15-
uses: nf-core/tower-action@v3
15+
uses: seqeralabs/action-tower-launch@v2
1616
with:
1717
workspace_id: ${{ secrets.TOWER_WORKSPACE_ID }}
1818
access_token: ${{ secrets.TOWER_ACCESS_TOKEN }}
1919
compute_env: ${{ secrets.TOWER_COMPUTE_ENV }}
20+
revision: ${{ github.sha }}
2021
workdir: s3://${{ secrets.AWS_S3_BUCKET }}/work/nascent/work-${{ github.sha }}
2122
parameters: |
2223
{
2324
"outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/nascent/results-test-${{ github.sha }}"
2425
}
25-
profiles: test,aws_tower
26-
- uses: actions/upload-artifact@v3
26+
profiles: test
27+
28+
- uses: actions/upload-artifact@v4
2729
with:
2830
name: Tower debug log file
29-
path: tower_action_*.log
31+
path: |
32+
tower_action_*.log
33+
tower_action_*.json

.github/workflows/branch.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ jobs:
1313
- name: Check PRs
1414
if: github.repository == 'nf-core/nascent'
1515
run: |
16-
{ [[ ${{github.event.pull_request.head.repo.full_name }} == nf-core/nascent ]] && [[ $GITHUB_HEAD_REF = "dev" ]]; } || [[ $GITHUB_HEAD_REF == "patch" ]]
16+
{ [[ ${{github.event.pull_request.head.repo.full_name }} == nf-core/nascent ]] && [[ $GITHUB_HEAD_REF == "dev" ]]; } || [[ $GITHUB_HEAD_REF == "patch" ]]
1717
1818
# If the above check failed, post a comment on the PR explaining the failure
1919
# NOTE - this doesn't currently work if the PR is coming from a fork, due to limitations in GitHub actions secrets
2020
- name: Post PR comment
2121
if: failure()
22-
uses: mshick/add-pr-comment@v1
22+
uses: mshick/add-pr-comment@v2
2323
with:
2424
message: |
2525
## This PR is against the `master` branch :x:

.github/workflows/ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@ jobs:
2424
strategy:
2525
matrix:
2626
NXF_VER:
27-
- "22.10.1"
27+
- "23.04.0"
2828
- "latest-everything"
2929
profile: ["docker"] # TODO , "singularity", "conda"]
3030
steps:
3131
- name: Check out pipeline code
32-
uses: actions/checkout@v3
32+
uses: actions/checkout@v4
3333

3434
- name: Cache Nextflow installation
3535
id: cache-software
@@ -73,7 +73,7 @@ jobs:
7373
run: |
7474
nf-test test \
7575
--profile=${{ matrix.profile }} \
76-
tests/pipeline/*.nf.test \
76+
workflows/tests/*.nf.test \
7777
--tap=test.tap
7878
7979
- uses: pcolby/tap-summary@v1

.github/workflows/clean-up.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: "Close user-tagged issues and PRs"
2+
on:
3+
schedule:
4+
- cron: "0 0 * * 0" # Once a week
5+
6+
jobs:
7+
clean-up:
8+
runs-on: ubuntu-latest
9+
permissions:
10+
issues: write
11+
pull-requests: write
12+
steps:
13+
- uses: actions/stale@v9
14+
with:
15+
stale-issue-message: "This issue has been tagged as awaiting-changes or awaiting-feedback by an nf-core contributor. Remove stale label or add a comment otherwise this issue will be closed in 20 days."
16+
stale-pr-message: "This PR has been tagged as awaiting-changes or awaiting-feedback by an nf-core contributor. Remove stale label or add a comment if it is still useful."
17+
close-issue-message: "This issue was closed because it has been tagged as awaiting-changes or awaiting-feedback by an nf-core contributor and then staled for 20 days with no activity."
18+
days-before-stale: 30
19+
days-before-close: 20
20+
days-before-pr-close: -1
21+
any-of-labels: "awaiting-changes,awaiting-feedback"
22+
exempt-issue-labels: "WIP"
23+
exempt-pr-labels: "WIP"
24+
repo-token: "${{ secrets.GITHUB_TOKEN }}"
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
name: Test successful pipeline download with 'nf-core download'
2+
3+
# Run the workflow when:
4+
# - dispatched manually
5+
# - when a PR is opened or reopened to master branch
6+
# - the head branch of the pull request is updated, i.e. if fixes for a release are pushed last minute to dev.
7+
on:
8+
workflow_dispatch:
9+
pull_request:
10+
types:
11+
- opened
12+
branches:
13+
- master
14+
pull_request_target:
15+
branches:
16+
- master
17+
18+
env:
19+
NXF_ANSI_LOG: false
20+
21+
jobs:
22+
download:
23+
runs-on: ubuntu-latest
24+
steps:
25+
- name: Install Nextflow
26+
uses: nf-core/setup-nextflow@v1
27+
28+
- uses: actions/setup-python@v5
29+
with:
30+
python-version: "3.11"
31+
architecture: "x64"
32+
- uses: eWaterCycle/setup-singularity@v7
33+
with:
34+
singularity-version: 3.8.3
35+
36+
- name: Install dependencies
37+
run: |
38+
python -m pip install --upgrade pip
39+
pip install git+https://github.com/nf-core/tools.git@dev
40+
41+
- name: Get the repository name and current branch set as environment variable
42+
run: |
43+
echo "REPO_LOWERCASE=${GITHUB_REPOSITORY,,}" >> ${GITHUB_ENV}
44+
echo "REPOTITLE_LOWERCASE=$(basename ${GITHUB_REPOSITORY,,})" >> ${GITHUB_ENV}
45+
46+
echo "{% raw %}REPO_BRANCH=${{ github.event.inputs.testbranch || 'dev' }}" >> ${GITHUB_ENV}
47+
48+
- name: Download the pipeline
49+
env:
50+
NXF_SINGULARITY_CACHEDIR: ./
51+
run: |
52+
nf-core download ${{ env.REPO_LOWERCASE }} \
53+
--revision ${{ env.REPO_BRANCH }} \
54+
--outdir ./${{ env.REPOTITLE_LOWERCASE }} \
55+
--compress "none" \
56+
--container-system 'singularity' \
57+
--container-library "quay.io" -l "docker.io" -l "ghcr.io" \
58+
--container-cache-utilisation 'amend' \
59+
--download-configuration
60+
61+
- name: Inspect download
62+
run: tree ./${{ env.REPOTITLE_LOWERCASE }}
63+
64+
- name: Run the downloaded pipeline
65+
env:
66+
NXF_SINGULARITY_CACHEDIR: ./
67+
NXF_SINGULARITY_HOME_MOUNT: true
68+
run: nextflow run ./${{ env.REPOTITLE_LOWERCASE }}/$( sed 's/\W/_/g' <<< ${{ env.REPO_BRANCH }}) -stub -profile test,singularity --outdir ./results{% endraw %}

.github/workflows/fix-linting.yml

Lines changed: 53 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ on:
44
types: [created]
55

66
jobs:
7-
deploy:
7+
fix-linting:
88
# Only run if comment is on a PR with the main repo, and if it contains the magic keywords
99
if: >
1010
contains(github.event.comment.html_url, '/pull/') &&
@@ -13,43 +13,77 @@ jobs:
1313
runs-on: ubuntu-latest
1414
steps:
1515
# Use the @nf-core-bot token to check out so we can push later
16-
- uses: actions/checkout@v3
16+
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
1717
with:
1818
token: ${{ secrets.nf_core_bot_auth_token }}
1919

20+
# indication that the linting is being fixed
21+
- name: React on comment
22+
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4
23+
with:
24+
comment-id: ${{ github.event.comment.id }}
25+
reactions: eyes
26+
2027
# Action runs on the issue comment, so we don't get the PR by default
2128
# Use the gh cli to check out the PR
2229
- name: Checkout Pull Request
2330
run: gh pr checkout ${{ github.event.issue.number }}
2431
env:
2532
GITHUB_TOKEN: ${{ secrets.nf_core_bot_auth_token }}
2633

27-
- uses: actions/setup-node@v3
34+
# Install and run pre-commit
35+
- uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5
36+
with:
37+
python-version: 3.11
2838

29-
- name: Install Prettier
30-
run: npm install -g prettier @prettier/plugin-php
39+
- name: Install pre-commit
40+
run: pip install pre-commit
3141

32-
# Check that we actually need to fix something
33-
- name: Run 'prettier --check'
34-
id: prettier_status
35-
run: |
36-
if prettier --check ${GITHUB_WORKSPACE}; then
37-
echo "result=pass" >> $GITHUB_OUTPUT
38-
else
39-
echo "result=fail" >> $GITHUB_OUTPUT
40-
fi
42+
- name: Run pre-commit
43+
id: pre-commit
44+
run: pre-commit run --all-files
45+
continue-on-error: true
4146

42-
- name: Run 'prettier --write'
43-
if: steps.prettier_status.outputs.result == 'fail'
44-
run: prettier --write ${GITHUB_WORKSPACE}
47+
# indication that the linting has finished
48+
- name: react if linting finished succesfully
49+
if: steps.pre-commit.outcome == 'success'
50+
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4
51+
with:
52+
comment-id: ${{ github.event.comment.id }}
53+
reactions: "+1"
4554

4655
- name: Commit & push changes
47-
if: steps.prettier_status.outputs.result == 'fail'
56+
id: commit-and-push
57+
if: steps.pre-commit.outcome == 'failure'
4858
run: |
4959
git config user.email "core@nf-co.re"
5060
git config user.name "nf-core-bot"
5161
git config push.default upstream
5262
git add .
5363
git status
54-
git commit -m "[automated] Fix linting with Prettier"
64+
git commit -m "[automated] Fix code linting"
5565
git push
66+
67+
- name: react if linting errors were fixed
68+
id: react-if-fixed
69+
if: steps.commit-and-push.outcome == 'success'
70+
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4
71+
with:
72+
comment-id: ${{ github.event.comment.id }}
73+
reactions: hooray
74+
75+
- name: react if linting errors were not fixed
76+
if: steps.commit-and-push.outcome == 'failure'
77+
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4
78+
with:
79+
comment-id: ${{ github.event.comment.id }}
80+
reactions: confused
81+
82+
- name: react if linting errors were not fixed
83+
if: steps.commit-and-push.outcome == 'failure'
84+
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4
85+
with:
86+
issue-number: ${{ github.event.issue.number }}
87+
body: |
88+
@${{ github.actor }} I tried to fix the linting errors, but it didn't work. Please fix them manually.
89+
See [CI log](https://github.com/nf-core/nascent/actions/runs/${{ github.run_id }}) for more details.

0 commit comments

Comments
 (0)