Skip to content

Commit 081013b

Browse files
committed
[automated] Update Textual snapshots
1 parent 1748613 commit 081013b

File tree

282 files changed

+18627
-767
lines changed

Some content is hidden

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

282 files changed

+18627
-767
lines changed

tests/pipelines/__snapshots__/test_create_app/test_github_details.svg

-276
This file was deleted.

tests/pipelines/__snapshots__/test_create_app/test_github_exit_message.svg

-272
This file was deleted.

tests/pipelines/__snapshots__/test_create_app/test_github_question.svg

+12-219
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"name": "nfcore",
3+
"image": "nfcore/gitpod:latest",
4+
"remoteUser": "gitpod",
5+
"runArgs": ["--privileged"],
6+
7+
// Configure tool-specific properties.
8+
"customizations": {
9+
// Configure properties specific to VS Code.
10+
"vscode": {
11+
// Set *default* container specific settings.json values on container create.
12+
"settings": {
13+
"python.defaultInterpreterPath": "/opt/conda/bin/python"
14+
},
15+
16+
// Add the IDs of extensions you want installed when the container is created.
17+
"extensions": ["ms-python.python", "ms-python.vscode-pylance", "nf-core.nf-core-extensionpack"]
18+
}
19+
}
20+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
end_of_line = lf
6+
insert_final_newline = true
7+
trim_trailing_whitespace = true
8+
indent_size = 4
9+
indent_style = space
10+
11+
[*.{md,yml,yaml,html,css,scss,js}]
12+
indent_size = 2
13+
14+
# These files are edited and tested upstream in nf-core/modules
15+
[/modules/nf-core/**]
16+
charset = unset
17+
end_of_line = unset
18+
insert_final_newline = unset
19+
trim_trailing_whitespace = unset
20+
indent_style = unset
21+
[/subworkflows/nf-core/**]
22+
charset = unset
23+
end_of_line = unset
24+
insert_final_newline = unset
25+
trim_trailing_whitespace = unset
26+
indent_style = unset
27+
28+
[/assets/email*]
29+
indent_size = unset
30+
31+
# ignore python and markdown
32+
[*.{py,md}]
33+
indent_style = unset
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
*.config linguist-language=nextflow
2+
*.nf.test linguist-language=nextflow
3+
modules/nf-core/** linguist-generated
4+
subworkflows/nf-core/** linguist-generated
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Dockstore config version, not pipeline version
2+
version: 1.2
3+
workflows:
4+
- subclass: nfl
5+
primaryDescriptorPath: /nextflow.config
6+
publish: True
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
# `nf-core/mypipeline`: Contributing Guidelines
2+
3+
Hi there!
4+
Many thanks for taking an interest in improving nf-core/mypipeline.
5+
6+
We try to manage the required tasks for nf-core/mypipeline using GitHub issues, you probably came to this page when creating one.
7+
Please use the pre-filled template to save time.
8+
9+
However, don't be put off by this template - other more general issues and suggestions are welcome!
10+
Contributions to the code are even more welcome ;)
11+
12+
> [!NOTE]
13+
> If you need help using or modifying nf-core/mypipeline then the best place to ask is on the nf-core Slack [#mypipeline](https://nfcore.slack.com/channels/mypipeline) channel ([join our Slack here](https://nf-co.re/join/slack)).
14+
15+
## Contribution workflow
16+
17+
If you'd like to write some code for nf-core/mypipeline, the standard workflow is as follows:
18+
19+
1. Check that there isn't already an issue about your idea in the [nf-core/mypipeline issues](https://github.com/nf-core/mypipeline/issues) to avoid duplicating work. If there isn't one already, please create one so that others know you're working on this
20+
2. [Fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) the [nf-core/mypipeline repository](https://github.com/nf-core/mypipeline) to your GitHub account
21+
3. Make the necessary changes / additions within your forked repository following [Pipeline conventions](#pipeline-contribution-conventions)
22+
4. Use `nf-core pipelines schema build` and add any new parameters to the pipeline JSON schema (requires [nf-core tools](https://github.com/nf-core/tools) >= 1.10).
23+
5. Submit a Pull Request against the `dev` branch and wait for the code to be reviewed and merged
24+
25+
If you're not used to this workflow with git, you can start with some [docs from GitHub](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests) or even their [excellent `git` resources](https://try.github.io/).
26+
27+
## Tests
28+
29+
You have the option to test your changes locally by running the pipeline. For receiving warnings about process selectors and other `debug` information, it is recommended to use the debug profile. Execute all the tests with the following command:
30+
31+
```bash
32+
nf-test test --profile debug,test,docker --verbose
33+
```
34+
35+
When you create a pull request with changes, [GitHub Actions](https://github.com/features/actions) will run automatic tests.
36+
Typically, pull-requests are only fully reviewed when these tests are passing, though of course we can help out before then.
37+
38+
There are typically two types of tests that run:
39+
40+
### Lint tests
41+
42+
`nf-core` has a [set of guidelines](https://nf-co.re/developers/guidelines) which all pipelines must adhere to.
43+
To enforce these and ensure that all pipelines stay in sync, we have developed a helper tool which runs checks on the pipeline code. This is in the [nf-core/tools repository](https://github.com/nf-core/tools) and once installed can be run locally with the `nf-core pipelines lint <pipeline-directory>` command.
44+
45+
If any failures or warnings are encountered, please follow the listed URL for more documentation.
46+
47+
### Pipeline tests
48+
49+
Each `nf-core` pipeline should be set up with a minimal set of test-data.
50+
`GitHub Actions` then runs the pipeline on this data to ensure that it exits successfully.
51+
If there are any failures then the automated tests fail.
52+
These tests are run both with the latest available version of `Nextflow` and also the minimum required version that is stated in the pipeline code.
53+
54+
## Patch
55+
56+
:warning: Only in the unlikely and regretful event of a release happening with a bug.
57+
58+
- On your own fork, make a new branch `patch` based on `upstream/main` or `upstream/master`.
59+
- Fix the bug, and bump version (X.Y.Z+1).
60+
- Open a pull-request from `patch` to `main`/`master` with the changes.
61+
62+
## Getting help
63+
64+
For further information/help, please consult the [nf-core/mypipeline documentation](https://nf-co.re/mypipeline/usage) and don't hesitate to get in touch on the nf-core Slack [#mypipeline](https://nfcore.slack.com/channels/mypipeline) channel ([join our Slack here](https://nf-co.re/join/slack)).
65+
66+
## Pipeline contribution conventions
67+
68+
To make the `nf-core/mypipeline` 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.
69+
70+
### Adding a new step
71+
72+
If you wish to contribute a new step, please use the following coding standards:
73+
74+
1. Define the corresponding input channel into your new process from the expected previous process channel.
75+
2. Write the process block (see below).
76+
3. Define the output channel if needed (see below).
77+
4. Add any new parameters to `nextflow.config` with a default (see below).
78+
5. Add any new parameters to `nextflow_schema.json` with help text (via the `nf-core pipelines schema build` tool).
79+
6. Add sanity checks and validation for all relevant parameters.
80+
7. Perform local tests to validate that the new code works as expected.
81+
8. If applicable, add a new test command in `.github/workflow/ci.yml`.
82+
9. Update MultiQC config `assets/multiqc_config.yml` so relevant suffixes, file name clean up and module plots are in the appropriate order. If applicable, add a [MultiQC](https://https://multiqc.info/) module.
83+
10. Add a description of the output files and if relevant any appropriate images from the MultiQC report to `docs/output.md`.
84+
85+
### Default values
86+
87+
Parameters should be initialised / defined with default values within the `params` scope in `nextflow.config`.
88+
89+
Once there, use `nf-core pipelines schema build` to add to `nextflow_schema.json`.
90+
91+
### Default processes resource requirements
92+
93+
Sensible defaults for process resource requirements (CPUs / memory / time) for a process should be defined in `conf/base.config`. These should generally be specified generic with `withLabel:` selectors so they can be shared across multiple processes/steps of the pipeline. A nf-core standard set of labels that should be followed where possible can be seen in the [nf-core pipeline template](https://github.com/nf-core/tools/blob/main/nf_core/pipeline-template/conf/base.config), which has the default process as a single core-process, and then different levels of multi-core configurations for increasingly large memory requirements defined with standardised labels.
94+
95+
The process resources can be passed on to the tool dynamically within the process with the `${task.cpus}` and `${task.memory}` variables in the `script:` block.
96+
97+
### Naming schemes
98+
99+
Please use the following naming schemes, to make it easy to understand what is going where.
100+
101+
- initial process channel: `ch_output_from_<process>`
102+
- intermediate and terminal channels: `ch_<previousprocess>_for_<nextprocess>`
103+
104+
### Nextflow version bumping
105+
106+
If you are using a new feature from core Nextflow, you may bump the minimum required version of nextflow in the pipeline with: `nf-core pipelines bump-version --nextflow . [min-nf-version]`
107+
108+
### Images and figures
109+
110+
For overview images and other documents we follow the nf-core [style guidelines and examples](https://nf-co.re/developers/design_guidelines).
111+
112+
## GitHub Codespaces
113+
114+
This repo includes a devcontainer configuration which will create a GitHub Codespaces for Nextflow development! This is an online developer environment that runs in your browser, complete with VSCode and a terminal.
115+
116+
To get started:
117+
118+
- Open the repo in [Codespaces](https://github.com/nf-core/mypipeline/codespaces)
119+
- Tools installed
120+
- nf-core
121+
- Nextflow
122+
123+
Devcontainer specs:
124+
125+
- [DevContainer config](.devcontainer/devcontainer.json)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: Bug report
2+
description: Report something that is broken or incorrect
3+
labels: bug
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Before you post this issue, please check the documentation:
9+
10+
- [nf-core website: troubleshooting](https://nf-co.re/usage/troubleshooting)
11+
- [nf-core/mypipeline pipeline documentation](https://nf-co.re/mypipeline/usage)
12+
13+
- type: textarea
14+
id: description
15+
attributes:
16+
label: Description of the bug
17+
description: A clear and concise description of what the bug is.
18+
validations:
19+
required: true
20+
21+
- type: textarea
22+
id: command_used
23+
attributes:
24+
label: Command used and terminal output
25+
description: Steps to reproduce the behaviour. Please paste the command you used to launch the pipeline and the output from your terminal.
26+
render: console
27+
placeholder: |
28+
$ nextflow run ...
29+
30+
Some output where something broke
31+
32+
- type: textarea
33+
id: files
34+
attributes:
35+
label: Relevant files
36+
description: |
37+
Please drag and drop the relevant files here. Create a `.zip` archive if the extension is not allowed.
38+
Your verbose log file `.nextflow.log` is often useful _(this is a hidden file in the directory where you launched the pipeline)_ as well as custom Nextflow configuration files.
39+
40+
- type: textarea
41+
id: system
42+
attributes:
43+
label: System information
44+
description: |
45+
* Nextflow version _(eg. 23.04.0)_
46+
* Hardware _(eg. HPC, Desktop, Cloud)_
47+
* Executor _(eg. slurm, local, awsbatch)_
48+
* Container engine: _(e.g. Docker, Singularity, Conda, Podman, Shifter, Charliecloud, or Apptainer)_
49+
* OS _(eg. CentOS Linux, macOS, Linux Mint)_
50+
* Version of nf-core/mypipeline _(eg. 1.1, 1.5, 1.8.2)_
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
contact_links:
2+
- name: Join nf-core
3+
url: https://nf-co.re/join
4+
about: Please join the nf-core community here
5+
- name: "Slack #mypipeline channel"
6+
url: https://nfcore.slack.com/channels/mypipeline
7+
about: Discussion about the nf-core/mypipeline pipeline
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
name: Feature request
2+
description: Suggest an idea for the nf-core/mypipeline pipeline
3+
labels: enhancement
4+
body:
5+
- type: textarea
6+
id: description
7+
attributes:
8+
label: Description of feature
9+
description: Please describe your suggestion for a new feature. It might help to describe a problem or use case, plus any alternatives that you have considered.
10+
validations:
11+
required: true
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<!--
2+
# nf-core/mypipeline pull request
3+
4+
Many thanks for contributing to nf-core/mypipeline!
5+
6+
Please fill in the appropriate checklist below (delete whatever is not relevant).
7+
These are the most common things requested on pull requests (PRs).
8+
9+
Remember that PRs should be made against the dev branch, unless you're preparing a pipeline release.
10+
11+
Learn more about contributing: [CONTRIBUTING.md](https://github.com/nf-core/mypipeline/tree/master/.github/CONTRIBUTING.md)
12+
-->
13+
14+
## PR checklist
15+
16+
- [ ] This comment contains a description of changes (with reason).
17+
- [ ] 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/mypipeline/tree/master/.github/CONTRIBUTING.md)
19+
- [ ] If necessary, also make a PR on the nf-core/mypipeline _branch_ on the [nf-core/test-datasets](https://github.com/nf-core/test-datasets) repository.
20+
- [ ] Make sure your code lints (`nf-core pipelines lint`).
21+
- [ ] 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>`).
23+
- [ ] Usage Documentation in `docs/usage.md` is updated.
24+
- [ ] Output Documentation in `docs/output.md` is updated.
25+
- [ ] `CHANGELOG.md` is updated.
26+
- [ ] `README.md` is updated (including new tool citations and authors/contributors).
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
name: nf-core AWS full size tests
2+
# This workflow is triggered on PRs opened against the main/master branch.
3+
# It can be additionally triggered manually with GitHub actions workflow dispatch button.
4+
# It runs the -profile 'test_full' on AWS batch
5+
6+
on:
7+
pull_request:
8+
branches:
9+
- main
10+
- master
11+
workflow_dispatch:
12+
pull_request_review:
13+
types: [submitted]
14+
15+
jobs:
16+
run-platform:
17+
name: Run AWS full tests
18+
# run only if the PR is approved by at least 2 reviewers and against the master branch or manually triggered
19+
if: github.repository == 'nf-core/mypipeline' && github.event.review.state == 'approved' && github.event.pull_request.base.ref == 'master' || github.event_name == 'workflow_dispatch'
20+
runs-on: ubuntu-latest
21+
steps:
22+
- name: Get PR reviews
23+
uses: octokit/[email protected]
24+
if: github.event_name != 'workflow_dispatch'
25+
id: check_approvals
26+
with:
27+
route: GET /repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}/reviews?per_page=100
28+
env:
29+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
30+
31+
- name: Check for approvals
32+
if: ${{ failure() && github.event_name != 'workflow_dispatch' }}
33+
run: |
34+
echo "No review approvals found. At least 2 approvals are required to run this action automatically."
35+
exit 1
36+
37+
- name: Check for enough approvals (>=2)
38+
id: test_variables
39+
if: github.event_name != 'workflow_dispatch'
40+
run: |
41+
JSON_RESPONSE='${{ steps.check_approvals.outputs.data }}'
42+
CURRENT_APPROVALS_COUNT=$(echo $JSON_RESPONSE | jq -c '[.[] | select(.state | contains("APPROVED")) ] | length')
43+
test $CURRENT_APPROVALS_COUNT -ge 2 || exit 1 # At least 2 approvals are required
44+
45+
- name: Launch workflow via Seqera Platform
46+
uses: seqeralabs/action-tower-launch@v2
47+
# TODO nf-core: You can customise AWS full pipeline tests as required
48+
# Add full size test data (but still relatively small datasets for few samples)
49+
# on the `test_full.config` test runs with only one set of parameters
50+
with:
51+
workspace_id: ${{ secrets.TOWER_WORKSPACE_ID }}
52+
access_token: ${{ secrets.TOWER_ACCESS_TOKEN }}
53+
compute_env: ${{ secrets.TOWER_COMPUTE_ENV }}
54+
revision: ${{ github.sha }}
55+
workdir: s3://${{ secrets.AWS_S3_BUCKET }}/work/mypipeline/work-${{ github.sha }}
56+
parameters: |
57+
{
58+
"hook_url": "${{ secrets.MEGATESTS_ALERTS_SLACK_HOOK_URL }}",
59+
"outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/mypipeline/results-${{ github.sha }}"
60+
}
61+
profiles: test_full
62+
63+
- uses: actions/upload-artifact@v4
64+
with:
65+
name: Seqera Platform debug log file
66+
path: |
67+
seqera_platform_action_*.log
68+
seqera_platform_action_*.json
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: nf-core AWS test
2+
# This workflow can be triggered manually with the GitHub actions workflow dispatch button.
3+
# It runs the -profile 'test' on AWS batch
4+
5+
on:
6+
workflow_dispatch:
7+
jobs:
8+
run-platform:
9+
name: Run AWS tests
10+
if: github.repository == 'nf-core/mypipeline'
11+
runs-on: ubuntu-latest
12+
steps:
13+
# Launch workflow using Seqera Platform CLI tool action
14+
- name: Launch workflow via Seqera Platform
15+
uses: seqeralabs/action-tower-launch@v2
16+
with:
17+
workspace_id: ${{ secrets.TOWER_WORKSPACE_ID }}
18+
access_token: ${{ secrets.TOWER_ACCESS_TOKEN }}
19+
compute_env: ${{ secrets.TOWER_COMPUTE_ENV }}
20+
revision: ${{ github.sha }}
21+
workdir: s3://${{ secrets.AWS_S3_BUCKET }}/work/mypipeline/work-${{ github.sha }}
22+
parameters: |
23+
{
24+
"outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/mypipeline/results-test-${{ github.sha }}"
25+
}
26+
profiles: test
27+
28+
- uses: actions/upload-artifact@v4
29+
with:
30+
name: Seqera Platform debug log file
31+
path: |
32+
seqera_platform_action_*.log
33+
seqera_platform_action_*.json

0 commit comments

Comments
 (0)