diff --git a/.github/workflows/create-test-lint-wf-template.yml b/.github/workflows/create-test-lint-wf-template.yml
index cfa0a50079..8a893ce9f0 100644
--- a/.github/workflows/create-test-lint-wf-template.yml
+++ b/.github/workflows/create-test-lint-wf-template.yml
@@ -42,6 +42,7 @@ jobs:
- "template_skip_igenomes.yml"
- "template_skip_ci.yml"
- "template_skip_code_linters.yml"
+ - "template_skip_gitpod.yml"
runner:
# use the runner given by the input if it is dispatched manually, run on github if it is a rerun or on self-hosted by default
- ${{ github.event.inputs.runners || github.run_number > 1 && 'ubuntu-latest' || 'self-hosted' }}
@@ -107,6 +108,10 @@ jobs:
run: |
printf "org: my-prefix\nskip: code_linters" > create-test-lint-wf/template_skip_code_linters.yml
+ - name: Create template skip gitpod
+ run: |
+ printf "org: my-prefix\nskip: gitpod" > create-test-lint-wf/template_skip_gitpod.yml
+
# Create a pipeline from the template
- name: create a pipeline from the template ${{ matrix.TEMPLATE }}
run: |
diff --git a/CHANGELOG.md b/CHANGELOG.md
index aea91cb51a..df11c64169 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -10,6 +10,7 @@
- Use filename in code block for `params.yml` ([#3055](https://github.com/nf-core/tools/pull/3055))
- Remove release announcement for non nf-core pipelines ([#3072](https://github.com/nf-core/tools/pull/3072))
- add option to exclude code linters for custom pipeline template ([#3084](https://github.com/nf-core/tools/pull/3084))
+- add option to exclude gitpod for custom pipeline template ([#3100](https://github.com/nf-core/tools/pull/3100))
### Linting
diff --git a/nf_core/pipeline-template/nextflow.config b/nf_core/pipeline-template/nextflow.config
index 2e6a56b001..8a6ca6b327 100644
--- a/nf_core/pipeline-template/nextflow.config
+++ b/nf_core/pipeline-template/nextflow.config
@@ -178,11 +178,13 @@ profiles {
wave.freeze = true
wave.strategy = 'conda,container'
}
+ {%- if gitpod %}
gitpod {
executor.name = 'local'
executor.cpus = 4
executor.memory = 8.GB
}
+ {%- endif %}
test { includeConfig 'conf/test.config' }
test_full { includeConfig 'conf/test_full.config' }
}
diff --git a/nf_core/pipelines/create/create.py b/nf_core/pipelines/create/create.py
index 42e4a6ad7b..8f279df190 100644
--- a/nf_core/pipelines/create/create.py
+++ b/nf_core/pipelines/create/create.py
@@ -101,6 +101,7 @@ def __init__(
".prettierrc.yml",
".github/workflows/fix-linting.yml",
],
+ "gitpod": [".gitpod.yml"],
}
# Get list of files we're skipping with the supplied skip keys
self.skip_paths = set(sp for k in skip_paths for sp in skippable_paths[k])
@@ -210,6 +211,7 @@ def obtain_jinja_params_dict(self, features_to_skip, pipeline_dir):
"igenomes": {"file": True, "content": True},
"nf_core_configs": {"file": False, "content": True},
"code_linters": {"file": True, "content": True},
+ "gitpod": {"file": True, "content": True},
}
# Set the parameters for the jinja template
diff --git a/nf_core/pipelines/create/custompipeline.py b/nf_core/pipelines/create/custompipeline.py
index 0925fb5bab..e839042187 100644
--- a/nf_core/pipelines/create/custompipeline.py
+++ b/nf_core/pipelines/create/custompipeline.py
@@ -51,6 +51,13 @@
- prettier (https://github.com/prettier/prettier): enforces a consistent style (indentation, quoting, line length, etc).
"""
+markdown_gitpod = """
+Gitpod (https://www.gitpod.io/) provides standardized and automated development environments.
+
+Including this to your pipeline will provide an environment with the latest version of nf-core/tools installed and all its requirements.
+This is useful to have all the tools ready for pipeline development.
+"""
+
class CustomPipeline(Screen):
"""Select if the pipeline will use genomic data."""
@@ -96,6 +103,12 @@ def compose(self) -> ComposeResult:
"The pipeline will include code linters and CI tests to lint your code: pre-commit, editor-config and prettier.",
"code_linters",
),
+ PipelineFeature(
+ markdown_gitpod,
+ "Include a gitpod environment",
+ "Include the configuration required to use Gitpod.",
+ "gitpod",
+ ),
classes="features-container",
)
yield Center(
diff --git a/tests/__snapshots__/test_create_app.ambr b/tests/__snapshots__/test_create_app.ambr
index 5e5b005de0..531ea098bf 100644
--- a/tests/__snapshots__/test_create_app.ambr
+++ b/tests/__snapshots__/test_create_app.ambr
@@ -851,257 +851,257 @@
font-weight: 700;
}
- .terminal-2778615119-matrix {
+ .terminal-4194849765-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-2778615119-title {
+ .terminal-4194849765-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-2778615119-r1 { fill: #c5c8c6 }
- .terminal-2778615119-r2 { fill: #e3e3e3 }
- .terminal-2778615119-r3 { fill: #989898 }
- .terminal-2778615119-r4 { fill: #e1e1e1 }
- .terminal-2778615119-r5 { fill: #4ebf71;font-weight: bold }
- .terminal-2778615119-r6 { fill: #1e1e1e }
- .terminal-2778615119-r7 { fill: #0178d4 }
- .terminal-2778615119-r8 { fill: #454a50 }
- .terminal-2778615119-r9 { fill: #e2e2e2 }
- .terminal-2778615119-r10 { fill: #808080 }
- .terminal-2778615119-r11 { fill: #e2e3e3;font-weight: bold }
- .terminal-2778615119-r12 { fill: #000000 }
- .terminal-2778615119-r13 { fill: #e4e4e4 }
- .terminal-2778615119-r14 { fill: #14191f }
- .terminal-2778615119-r15 { fill: #507bb3 }
- .terminal-2778615119-r16 { fill: #dde6ed;font-weight: bold }
- .terminal-2778615119-r17 { fill: #001541 }
- .terminal-2778615119-r18 { fill: #7ae998 }
- .terminal-2778615119-r19 { fill: #0a180e;font-weight: bold }
- .terminal-2778615119-r20 { fill: #008139 }
- .terminal-2778615119-r21 { fill: #fea62b;font-weight: bold }
- .terminal-2778615119-r22 { fill: #a7a9ab }
- .terminal-2778615119-r23 { fill: #e2e3e3 }
+ .terminal-4194849765-r1 { fill: #c5c8c6 }
+ .terminal-4194849765-r2 { fill: #e3e3e3 }
+ .terminal-4194849765-r3 { fill: #989898 }
+ .terminal-4194849765-r4 { fill: #e1e1e1 }
+ .terminal-4194849765-r5 { fill: #4ebf71;font-weight: bold }
+ .terminal-4194849765-r6 { fill: #1e1e1e }
+ .terminal-4194849765-r7 { fill: #0178d4 }
+ .terminal-4194849765-r8 { fill: #454a50 }
+ .terminal-4194849765-r9 { fill: #e2e2e2 }
+ .terminal-4194849765-r10 { fill: #808080 }
+ .terminal-4194849765-r11 { fill: #e2e3e3;font-weight: bold }
+ .terminal-4194849765-r12 { fill: #000000 }
+ .terminal-4194849765-r13 { fill: #e4e4e4 }
+ .terminal-4194849765-r14 { fill: #14191f }
+ .terminal-4194849765-r15 { fill: #507bb3 }
+ .terminal-4194849765-r16 { fill: #dde6ed;font-weight: bold }
+ .terminal-4194849765-r17 { fill: #001541 }
+ .terminal-4194849765-r18 { fill: #7ae998 }
+ .terminal-4194849765-r19 { fill: #0a180e;font-weight: bold }
+ .terminal-4194849765-r20 { fill: #008139 }
+ .terminal-4194849765-r21 { fill: #fea62b;font-weight: bold }
+ .terminal-4194849765-r22 { fill: #a7a9ab }
+ .terminal-4194849765-r23 { fill: #e2e3e3 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- nf-core create
+ nf-core create
-
-
-
- ⭘nf-core create — Create a new pipeline with the nf-core pipeline template
-
-
- Template features
-
-
- ▊▔▔▔▔▔▔▔▔▎▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- ▊▎ Use reference The pipeline will Hide help
- ▊▁▁▁▁▁▁▁▁▎ genomesbe configured to ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
- use a copy of the
- most common
- reference genome
- files from
- iGenomes
-
-
- Nf-core pipelines are configured to use a copy of the most common
- reference genome files.
-
- By selecting this option, your pipeline will include a configuration
- file specifying the paths to these files.
-
- The required code to use these files will also be included in the
- template. When the pipeline user provides an appropriate genome key,
- the pipeline will automatically download the required reference ▂▂
- files.
-
-
-
- ▊▔▔▔▔▔▔▔▔▎▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- ▊▎ Add Github CI The pipeline will Show help
- ▊▁▁▁▁▁▁▁▁▎ testsinclude several ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
- GitHub actions for
- Continuous
- Integration (CI)
- testing
-
- ▊▔▔▔▔▔▔▔▔▎▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- ▊▎ Add Github badgesThe README.md file Show help
- ▊▁▁▁▁▁▁▁▁▎of the pipeline ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
- will include
- GitHub badges
-
- ▊▔▔▔▔▔▔▔▔▎▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
-
- ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- Back Continue
- ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
-
- d Toggle dark mode q Quit
+
+
+
+ ⭘nf-core create — Create a new pipeline with the nf-core pipeline template
+
+
+ Template features
+
+
+ ▊▔▔▔▔▔▔▔▔▎▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
+ ▊▎ Use reference The pipeline will Hide help
+ ▊▁▁▁▁▁▁▁▁▎ genomesbe configured to ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
+ use a copy of the
+ most common
+ reference genome
+ files from
+ iGenomes
+
+
+ Nf-core pipelines are configured to use a copy of the most common
+ reference genome files.
+
+ By selecting this option, your pipeline will include a configuration
+ file specifying the paths to these files.
+
+ The required code to use these files will also be included in the
+ template. When the pipeline user provides an appropriate genome key,
+ the pipeline will automatically download the required reference ▂▂
+ files.
+
+
+ ▃▃
+ ▊▔▔▔▔▔▔▔▔▎▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
+ ▊▎ Add Github CI The pipeline will Show help
+ ▊▁▁▁▁▁▁▁▁▎ testsinclude several ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
+ GitHub actions for
+ Continuous
+ Integration (CI)
+ testing
+
+ ▊▔▔▔▔▔▔▔▔▎▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
+ ▊▎ Add Github badgesThe README.md file Show help
+ ▊▁▁▁▁▁▁▁▁▎of the pipeline ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
+ will include
+ GitHub badges
+
+ ▊▔▔▔▔▔▔▔▔▎▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
+
+ ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
+ Back Continue
+ ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
+
+ d Toggle dark mode q Quit
@@ -2233,255 +2233,254 @@
font-weight: 700;
}
- .terminal-763408100-matrix {
+ .terminal-423998432-matrix {
font-family: Fira Code, monospace;
font-size: 20px;
line-height: 24.4px;
font-variant-east-asian: full-width;
}
- .terminal-763408100-title {
+ .terminal-423998432-title {
font-size: 18px;
font-weight: bold;
font-family: arial;
}
- .terminal-763408100-r1 { fill: #c5c8c6 }
- .terminal-763408100-r2 { fill: #e3e3e3 }
- .terminal-763408100-r3 { fill: #989898 }
- .terminal-763408100-r4 { fill: #e1e1e1 }
- .terminal-763408100-r5 { fill: #4ebf71;font-weight: bold }
- .terminal-763408100-r6 { fill: #1e1e1e }
- .terminal-763408100-r7 { fill: #507bb3 }
- .terminal-763408100-r8 { fill: #e2e2e2 }
- .terminal-763408100-r9 { fill: #808080 }
- .terminal-763408100-r10 { fill: #dde6ed;font-weight: bold }
- .terminal-763408100-r11 { fill: #001541 }
- .terminal-763408100-r12 { fill: #14191f }
- .terminal-763408100-r13 { fill: #454a50 }
- .terminal-763408100-r14 { fill: #7ae998 }
- .terminal-763408100-r15 { fill: #e2e3e3;font-weight: bold }
- .terminal-763408100-r16 { fill: #0a180e;font-weight: bold }
- .terminal-763408100-r17 { fill: #000000 }
- .terminal-763408100-r18 { fill: #008139 }
- .terminal-763408100-r19 { fill: #fea62b;font-weight: bold }
- .terminal-763408100-r20 { fill: #a7a9ab }
- .terminal-763408100-r21 { fill: #e2e3e3 }
+ .terminal-423998432-r1 { fill: #c5c8c6 }
+ .terminal-423998432-r2 { fill: #e3e3e3 }
+ .terminal-423998432-r3 { fill: #989898 }
+ .terminal-423998432-r4 { fill: #e1e1e1 }
+ .terminal-423998432-r5 { fill: #4ebf71;font-weight: bold }
+ .terminal-423998432-r6 { fill: #1e1e1e }
+ .terminal-423998432-r7 { fill: #507bb3 }
+ .terminal-423998432-r8 { fill: #e2e2e2 }
+ .terminal-423998432-r9 { fill: #808080 }
+ .terminal-423998432-r10 { fill: #dde6ed;font-weight: bold }
+ .terminal-423998432-r11 { fill: #001541 }
+ .terminal-423998432-r12 { fill: #454a50 }
+ .terminal-423998432-r13 { fill: #7ae998 }
+ .terminal-423998432-r14 { fill: #e2e3e3;font-weight: bold }
+ .terminal-423998432-r15 { fill: #0a180e;font-weight: bold }
+ .terminal-423998432-r16 { fill: #000000 }
+ .terminal-423998432-r17 { fill: #008139 }
+ .terminal-423998432-r18 { fill: #fea62b;font-weight: bold }
+ .terminal-423998432-r19 { fill: #a7a9ab }
+ .terminal-423998432-r20 { fill: #e2e3e3 }
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
- nf-core create
+ nf-core create
-
-
-
- ⭘nf-core create — Create a new pipeline with the nf-core pipeline template
-
-
- Template features
-
-
- ▊▔▔▔▔▔▔▔▔▎▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- ▊▎ Use reference The pipeline will Show help
- ▊▁▁▁▁▁▁▁▁▎ genomesbe configured to ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
- use a copy of the
- most common
- reference genome
- files from
- iGenomes
-
- ▊▔▔▔▔▔▔▔▔▎▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- ▊▎ Add Github CI The pipeline will Show help
- ▊▁▁▁▁▁▁▁▁▎ testsinclude several ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
- GitHub actions for
- Continuous
- Integration (CI)
- testing
-
- ▊▔▔▔▔▔▔▔▔▎▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- ▊▎ Add Github badgesThe README.md file Show help
- ▊▁▁▁▁▁▁▁▁▎of the pipeline ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
- will include
- GitHub badges
-
- ▊▔▔▔▔▔▔▔▔▎▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- ▊▎ Add configuration The pipeline will Show help
- ▊▁▁▁▁▁▁▁▁▎ filesinclude ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
- configuration
- profiles
- containing custom
- parameters
- requried to run
- nf-core pipelines
- at different ▁▁
- institutions
-
- ▊▔▔▔▔▔▔▔▔▎▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- ▊▎ Use code lintersThe pipeline will Show help
- ▊▁▁▁▁▁▁▁▁▎include code ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
-
- ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- Back Continue
- ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
-
- d Toggle dark mode q Quit
+
+
+
+ ⭘nf-core create — Create a new pipeline with the nf-core pipeline template
+
+
+ Template features
+
+
+ ▊▔▔▔▔▔▔▔▔▎▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
+ ▊▎ Use reference The pipeline will Show help
+ ▊▁▁▁▁▁▁▁▁▎ genomesbe configured to ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
+ use a copy of the
+ most common
+ reference genome
+ files from
+ iGenomes
+
+ ▊▔▔▔▔▔▔▔▔▎▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
+ ▊▎ Add Github CI The pipeline will Show help
+ ▊▁▁▁▁▁▁▁▁▎ testsinclude several ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
+ GitHub actions for
+ Continuous
+ Integration (CI)
+ testing
+
+ ▊▔▔▔▔▔▔▔▔▎▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
+ ▊▎ Add Github badgesThe README.md file Show help
+ ▊▁▁▁▁▁▁▁▁▎of the pipeline ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
+ will include
+ GitHub badges
+
+ ▊▔▔▔▔▔▔▔▔▎▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
+ ▊▎ Add configuration The pipeline will Show help
+ ▊▁▁▁▁▁▁▁▁▎ filesinclude ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
+ configuration
+ profiles
+ containing custom
+ parameters
+ requried to run
+ nf-core pipelines
+ at different
+ institutions
+
+ ▊▔▔▔▔▔▔▔▔▎▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
+ ▊▎ Use code lintersThe pipeline will Show help
+ ▊▁▁▁▁▁▁▁▁▎include code ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
+
+ ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
+ Back Continue
+ ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
+
+ d Toggle dark mode q Quit
diff --git a/tests/data/pipeline_create_template_skip.yml b/tests/data/pipeline_create_template_skip.yml
index d9ef405c51..c18d810cd9 100644
--- a/tests/data/pipeline_create_template_skip.yml
+++ b/tests/data/pipeline_create_template_skip.yml
@@ -12,3 +12,4 @@ skip_features:
- igenomes
- nf_core_configs
- code_linters
+ - gitpod