Skip to content
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

feat: Install subworkflows with modules from different remotes #3083

Open
wants to merge 78 commits into
base: dev
Choose a base branch
from

Conversation

jvfe
Copy link
Member

@jvfe jvfe commented Jul 29, 2024

PR checklist

  • This comment contains a description of changes (with reason)
  • CHANGELOG.md is updated
  • If you've fixed a bug or added code that should be tested, add tests!
  • Documentation in docs is updated

Addresses #1927 and #2497

Issue information

Currently, get_components_to_install is the function used to download a subworkflow's modules. It relies on simple text parsing to define where to get a subworkflow/module from and install it.

As outlined in the above issues (and in slack conversations), it is currently not possible to install subworkflows which depend on modules that originate from different remotes. The solution is to copy over required modules to a same remote in order to use them.

Implementation

At this moment the implementation is mostly a work-around/hack. I aimed to make the least possible modifications to the source code in order to make the intended behavior functional. Here's how it works:

  • It still uses the same text parsing for all modules and subworkflows that don't have a meta.yml file defined.

  • If a subworkflow defines a meta.yml, they can optionally define the git_remote and org_path keys for a component. This is based on a suggestion given on the original issue. E.g.:

components:
  - name: gatk4/mutect2
  - name: gatk4/genomicsdbimport
    org_path: custom_remote
    git_remote: https://github.com/custom_remote/modules.git

This info is used to grab the respective modules from the specified remote.
I've setup a dummy repository with a subworkflow that showcases this. If no remote is specified, it assumes the module is from the same remote as the subworkflow (as it is currently).

Trying to run nf-core subworkflows --git-remote https://github.com/jvfe/test-subworkflow-remote install get_genome_annotation with this branch of nf-core/tools should work. There's a basic test I've setup to test for this.

Known issues

All in all, I'm eager to hear what everyone thinks. I'm tagging @muffato who has been supervising and helping me in this implementation.

@jvfe jvfe changed the base branch from master to dev July 29, 2024 11:33
jvfe added 3 commits August 5, 2024 10:13
fix: Avoid duplicate downloads in nested subworkflows
* dev: (299 commits)
  Update nf_core/pipelines/create/utils.py
  [automated] Update CHANGELOG.md
  allow numbers in custom pipeline name
  [automated] Update CHANGELOG.md
  Update pre-commit hook pre-commit/mirrors-mypy to v1.11.1
  Fixed linting
  Updated changelog
  Added process_high_memory to create/lint list
  update chagelog
  use pathlib instead of os.path
  Apply suggestions from code review
  add option to skip code linters
  Update gitpod/workspace-base Docker digest to f189a41
  Update pre-commit hook pre-commit/mirrors-mypy to v1.11.0
  [automated] Update CHANGELOG.md
  Update python:3.12-slim Docker digest to 740d94a
  Update .pre-commit-config.yaml
  Update nf_core/__main__.py
  Add default version
  Automatically add a default version in pipelines_create
  ...
@nf-core nf-core deleted a comment from github-actions bot Aug 5, 2024
@awgymer
Copy link
Contributor

awgymer commented Aug 7, 2024

I'm very wary of increasing the idiosyncrasies in the code and I feel that making it such that the code returns variably either strings or dicts and thus necessitates isinstance checks is liable to be difficult to follow/trace through the code in future.

I understand the desire to simply get something working but I think that if we are going to implement this and support it we need to do it right.

I think this also indicates support only for cross-organisational modules and not cross-organisational subworkflows?

@muffato
Copy link
Member

muffato commented Aug 8, 2024

I think this also indicates support only for cross-organisational modules and not cross-organisational subworkflows?

Currently, yes

I'm very wary of increasing the idiosyncrasies in the code and I feel that making it such that the code returns variably either strings or dicts and thus necessitates isinstance checks is liable to be difficult to follow/trace through the code in future.

Once get_components_to_install is updated to return dictionaries for sub-workflows too, all the isinstance(..., dict) will evaluate to true, and all their if statements will be simplified / collapse.

I understand the desire to simply get something working but I think that if we are going to implement this and support it we need to do it right.

It's a question of time management (@jvfe is working part time on this project). We're not sure about about the handling of the default org vs the module org in nf_core/components/install.py (cf the creation of ModulesRepo instances). We didn't want to invest deeper without clearing that first. Making the change in get_components_to_install is easy, but finding the other files that need an update and making sure that all the tests still pass takes a bit longer.

Copy link
Member

@mirpedrol mirpedrol left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your contribution @jvfe!
I think this is a good start 😄 I agree with @awgymer that allowing component to be both a string or a dict is confusing and it will cause problems. But I like the idea of using the information in the meta.yml to obtain the remote form which the component should be installed.
My suggestion would be to convert component to a dictionary in all cases since the beginning, with the default being the current remote.

nf_core/components/components_utils.py Outdated Show resolved Hide resolved
nf_core/components/components_utils.py Outdated Show resolved Hide resolved
nf_core/components/install.py Outdated Show resolved Hide resolved
nf_core/components/install.py Outdated Show resolved Hide resolved
tests/utils.py Outdated
@@ -16,6 +16,7 @@
OLD_TRIMGALORE_SHA = "9b7a3bdefeaad5d42324aa7dd50f87bea1b04386"
OLD_TRIMGALORE_BRANCH = "mimic-old-trimgalore"
GITLAB_URL = "https://gitlab.com/nf-core/modules-test.git"
CROSS_ORGANIZATION_URL = "https://github.com/jvfe/test-subworkflow-remote.git"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can use the nf-core gitlab account for this test to avoid using external repos. I can give you access if you think it's a good idea.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not sure on this. I don't recommend using two remotes with the same org path as this can create major foot-guns (tools will just overwrite the ones in place and there can be weirdness in the modules json).

Might be OK for testing if you are careful but in general it is not something people should try to do.

Copy link
Member Author

@jvfe jvfe Aug 13, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do agree that using a different org_path is better for testing purposes. Although we don't have to keep it in my personal remote either, I was planning to make that repo read-only as soon as this feature is done, to ensure future stability for the test.

I don't know if it's simple to setup on your side, but maybe something like "nf_core_testing" could be a good alternative org_path? It's different enough but still under nf-core, instead of a personal user.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good, I will have a loot at the options we have to create another nf-core owned organisation.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://github.com/nf-core-test/modules I have added you both to the new organisation

jvfe added 3 commits August 10, 2024 14:35
* dev: (35 commits)
  don't remove creating a pipeline to test it 😶
  update textual snapshots
  update textual snapshots
  fix indentation
  Update nf_core/pipelines/create/create.py
  [automated] Update CHANGELOG.md
  [automated] Update CHANGELOG.md
  add option to exclude changelog from custom pipeline template
  add option to exclude codespaces from pipeline template
  remove multiqc images from the template docs
  and the same for subworkflows
  run tests also after pytest-migrate
  update textual snapshots
  add multiqc potion to test data
  update textual snapshots
  fix tests
  [automated] Update CHANGELOG.md
  add option to exclude multiqc from pipeline template
  rename regenerae-snapshots to update-textual-snapshots
  Apply suggestions from code review
  ...
jvfe added 4 commits September 6, 2024 14:16
* upstream/dev:
  Move if statements to top of YAML blocks
  Don't look for dev, look for not master
  Remove tests involving environment.yml with 'name'
  Remove name from conda enviroment.yml in module template
  Don't test conda `environment.yml` `name` attribute (which should no longer be there)
  Update CHANGELOG.md
  Add --update-all flag to remove defaults channels dependents
  add a tabix tabix test
  pre commit
  fix issue where tool and subtool have the same name
  udpate changelog
  run nf-core lint --release on PRs to master
refact: Add suggestions from second review
@jvfe
Copy link
Member Author

jvfe commented Sep 10, 2024

In terms of the code implemented here this looks good.

I am unclear about the impact on the following commands:

* `subworkflows remove`

* `subworkflows update`

* `subworkflows lint`

I also still have concerns about this particular style of cross-repo (or indeed single-repo) subworkflow (although I am not intending to reignite a debate over the alternative model I support in this MR!) and at the present stage I wouldn't recommend this as a true solution to anyone wanting cross-repo subworkflows because I'm unclear on what level of commitment to maintain and work around issues this introduces there is from an nf-core standpoint. (This isn't so much something for the authors of this PR to address but rather the wider nf-core team)

From what I could test (and the unit tests themselves), there's no discernible impact to those commands. Also, I do understand your concerns and agree that there could be a more robust reworking of how cross-repo subworkflows could work (and how single-repo subworkflows are implemented themselves!). In this PR, though, I aimed for the simplest solution, one with minimal impact to the codebase and that could serve as a starting point for people looking to build these components across orgs (as is the case in Sanger Tree of Life), in a way that no changes are required for the way subworkflows are currently implemented. Thank you for your input and your review!

Copy link
Member

@mirpedrol mirpedrol left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see a linting test failing, we should update the test here to add a valid fake version.

This is looking good! But it would be good to add a couple more test cases:

  • Installing a subworkflow which installs a module from another repo which is also installed from nf-core, for example fastqc which is already in the pipeline template.
  • Removing nf-core fastqc to make sure the fastqc module from the other repo is kept.
  • Installing the subworkflow on an old version (sha) and updating it, make sure that all modules from different repos are updated.

And if you can think of other situations that I forgot, let's add them too 🙂

In addition to this PR we will need to add documentation on how to use this. Specifying the format of meta.yml.
We should also modify the JSON schema that we use to lint subworkflows, as the elements of components are now required to be strings, but I think this is not something we should add to the nf-core/modules repo, it should work if the non-nf-core-repo add a JSON schema file too. This should also be documented

nf_core/components/install.py Show resolved Hide resolved
tests/utils.py Outdated
@@ -16,6 +16,7 @@
OLD_TRIMGALORE_SHA = "9b7a3bdefeaad5d42324aa7dd50f87bea1b04386"
OLD_TRIMGALORE_BRANCH = "mimic-old-trimgalore"
GITLAB_URL = "https://gitlab.com/nf-core/modules-test.git"
CROSS_ORGANIZATION_URL = "https://github.com/jvfe/test-subworkflow-remote.git"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good, I will have a loot at the options we have to create another nf-core owned organisation.

@jvfe
Copy link
Member Author

jvfe commented Oct 23, 2024

I see a linting test failing, we should update the test here to add a valid fake version.

This is looking good! But it would be good to add a couple more test cases:

* Installing a subworkflow which installs a module from another repo which is also installed from nf-core, for example fastqc which is already in the pipeline template.

* Removing nf-core fastqc to make sure the fastqc module from the other repo is kept.

* Installing the subworkflow on an old version (sha) and updating it, make sure that all modules from different repos are updated.

And if you can think of other situations that I forgot, let's add them too 🙂

In addition to this PR we will need to add documentation on how to use this. Specifying the format of meta.yml. We should also modify the JSON schema that we use to lint subworkflows, as the elements of components are now required to be strings, but I think this is not something we should add to the nf-core/modules repo, it should work if the non-nf-core-repo add a JSON schema file too. This should also be documented

Hi Júlia, just wanted to let you know that we're still working on this feature! Just hit a few roadblocks that, due to the short time I can allocate to this every week, are taking a bit too long to solve. To sum up:

  • The first two test cases you mentioned have been already implemented and are working as intended, without any changes to the code being necessary.
  • Although I initially thought the feature wouldn't impact the update cycle, after writing down the test case I could see the feature requires some changes to the update module. And this is what we've been working on the past weeks. We've already gotten to the point where updating works, but there are still a few things to iron out.

Other than that:

Thank you so much for your reviews and your patience while we work on the feature.

@mirpedrol
Copy link
Member

Hi @jvfe, that's great! Thanks for implementing the tests.

The documentation can be added to the website. Here you have the docs for the subworkflow install command. And for a more detailed guide like the README you shared, I would add a page in the tutorials, under "external usage" like we do for the configs (see here)

Lastly, could you clarify what you meant by adding a valid fake version to the linting test?

This was fixed by another PR, so if you update your branch with the dev branch the test should pass.

@mirpedrol
Copy link
Member

Hi @jvfe, sorry for the delay, I reviewed you PR on the nf-core-test repo. Do you need help with anything else?

@mirpedrol mirpedrol modified the milestones: 3.1, 3.3 Nov 27, 2024
jvfe and others added 3 commits December 4, 2024 12:58
* test: Add test for installing a module already installed from different org

* fix: Remove unnecessary install command

* test: Add test for updating cross-org subwfs

* fix: Change hash to sha

* fix: Add remote url

* refact: Create shared instance of subworkflowinstall

* test: to keep same named cross mods post subwf rm

* refact: Don't use sha for the alternative repo

* fix: Add else to sha check

* fix: Move check to cross-org stuff

* refact: Reverse check order

* test: Add update test (#19)

* wip: Add bug two

* refact: Try defaulting to a dict

* fix: Dont allow remote to be unbound

* refact: Check if not equal to component type

* refact: Re-add isinstance dict

* fix: Remove mention of component_name

* refact: Add special case for strings following dicts

* test: Try removing branch from test case

* refact: Remove isinstance for str

* refact: Use dict only with get_comps out

* Revert "refact: Use dict only with get_comps out"

This reverts commit 7ebc6dc.

* refact: Check if content has subwfs

* refact: Always set current remote

* refact: Check sha before resetting current_repo

* refact: Do the negative test

* refact: Use another variable for remote

* refact: Simplify check

* refact: Expand check once again

* refact: Roll back to previous check

* fix: self.sha must not be none to reset to none

* Revert "fix: self.sha must not be none to reset to none"

This reverts commit 65aa1c4.

* Try removing the section entirely

* refact: Try moving check to reset

* refact: Remove unnecessary current_sha

* refact: Change check in get_comps

* refact: Set git remote beforehand

* refact: Change indent so previous check is the same

* refact: Remove current repo check

* Revert "refact: Remove current repo check"

This reverts commit a956e04.

* refact: Try using name list

* fix: Remove break in loop

* refactor: Always set current_repo

* fix: Check if name is in updated

* refactor: Remove unused sections and logs

* test: Use the same subworkflow in all test cases

get_genome_annotation is not necessary, given we're using another
subworkflow for the other tests

* refact: Update cross_org remote to nf-core-test

* fix: Change remote name in install test

* refact: Remove none check from all_subworkflows

Co-authored-by: Matthieu Muffato <[email protected]>

* docs: Add hash comment

* refact: Use mod/subwf_name in both sections

* test: Check updated subwf content

---------

Co-authored-by: Matthieu Muffato <[email protected]>
* write only relevant fields in `.nf-core.yml`

* switch from docstrings to Field descsriptions

* [automated] Update CHANGELOG.md

* update test to new error

* second attempt to add ro crates

* fix import

* first running version

* restructure code and add tests

* add missing dep

* add recommendations from comments

* add git contributors

* fix filename for CI

* better help hint message

* fix class name

* add correct parent directory to faked crate

* add empty ro-crate after sync

* fix tests

* fix ci test

* use github to guess author name, set names as ids if no orcid

* add bioschemas, datecreated and datemodified (only set to current time atm)

* follow `ComputationalWorkflow` schema for main entitty.

* fix date created field

* add "about" field to workflow diagram

* add input as separate entity

* add version to main entity

* fix incorrect type

* switch to add_workflow method to add main entity and add components as datasets with descriptions

* ro_crate -> rocrate

* allow mixed list and dict in lint config

* nested too deeply

* [automated] Update CHANGELOG.md

* use repo2crate to generate the main structure of the crate

* chore(deps): update dependency prompt_toolkit to <=3.0.48

* chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.7.0

* chore(deps): update pre-commit hook pre-commit/mirrors-mypy to v1.12.0

* [automated] Update CHANGELOG.md

* [automated] Update CHANGELOG.md

* Fix typos

* Fix typos (second round)

* Undo accidental typos fixes

* Fix typos (third round)

* Update textual snapshots

* chore(deps): update python:3.12-slim docker digest to 032c526

* [automated] Update CHANGELOG.md

* handle new nf-core.yml structure

* update documentation for `multiqc_config` linting

* parse yaml correctly

* found a better way to handle the ignore file being None

* handle new lint config structure

* add tests with different valid yaml structures

* use correct profile options for sfw test command

* [automated] Update CHANGELOG.md

* remove last traces of LintConfigType

* fix incorrect type

* more type fixes

* Update CHANGELOG.md

* add all lint tests to config

* switch all defaults to None and drop them on dump

* Update nf_core/utils.py

Co-authored-by: Júlia Mir Pedrol <[email protected]>

* Update nf_core/utils.py

* drop None values when checking for test names

* [automated] Fix code linting

* no need for Field value

* fix test_lint tests

* fix worklfow_dispatch trigger and parse more review comments

* [automated] Update CHANGELOG.md

* Update pre-commit hook pre-commit/mirrors-mypy to v1.13.0

* chore(deps): update github actions

* [automated] Update CHANGELOG.md

* remove outdated file

* Revert "Add new command `nf-core rocrate` to create a Research Object (RO) crate for a pipeline"

* move test in correct directory

* fix tests

* Add seqera containers example

* bump ci

* Modify test_find_container_images_modules() for Seqera Containers.

* Enable Seqera Containers download.

* run tests without commiting ro-crate

* add ro-crate creation to pipelines create command

* fix command import

* add rocrate to skip features

* remove schema loading, because it is not needed anymore

* update snapshots

* `modules update`: add a panel around diffs

* add `--dir/-d` option to schema commands

* [automated] Update CHANGELOG.md

* [automated] Update CHANGELOG.md

* try to fix coverage report generation

* fix test_cli

* nf-core download: Fix forgotten symlinks in cache.

* try specifying the coverage output file

* try naming the files directly

* fix variable name

* add hiddnen files for upload-artifact action v4

* group diffs by module

* Update pre-commit hook astral-sh/ruff-pre-commit to v0.7.1

* [automated] Update CHANGELOG.md

* Update GitHub Actions

* Ensure that prioritize_direct_download() retains Seqera Singularity Containers and write additional test.

* make group border blue

* make module names white

* Apply suggestions from code review

Co-authored-by: Matthias Hörtenhuber <[email protected]>

* Add resource limits to Gitpod profile

* Update changelog

* I fix typos for infrastickers

* Fix typo

* Update changelog

* Update Gitpod to use Miniforge instead of Miniconda

* Update Changelog

* Update pre-commit hook astral-sh/ruff-pre-commit to v0.7.3

* [automated] Update CHANGELOG.md

* handle new schema structure in  create-params-file

* add tests

* [automated] Update CHANGELOG.md

* add hint to solve git errors with a synced repo

* run pre-commit when testing linting the template pipeline

* [automated] Update CHANGELOG.md

* [automated] Update CHANGELOG.md

* fix template trailing spaces

* write proper path and raise a UserWarning to avoid printing the error trace

* Apply suggestions from code review

Co-authored-by: Matthias Hörtenhuber <[email protected]>

* remove logging git error from wrong place

* add option to skip .vscode from the template

* update textual snapshots

* update and fix swf patch tests

* Update pre-commit hook astral-sh/ruff-pre-commit to v0.7.4

* [automated] Update CHANGELOG.md

* Update codecov/codecov-action action to v5 (nf-core#3283)

* Update codecov/codecov-action action to v5

* [automated] Update CHANGELOG.md

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: nf-core-bot <[email protected]>

* Update python:3.12-slim Docker digest to 2a6386a (nf-core#3284)

* Update python:3.12-slim Docker digest to 2a6386a

* [automated] Update CHANGELOG.md

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: nf-core-bot <[email protected]>

* apply patch reverse when linting a patched subworkflow

* update get_patch_fn to work with subworkflows

* move modules_differ.py to components_differ.py

* add subworkflows patch missing tests

* fix subworkflows update test

* update changelog

* add help text for --remove flag

* apply code review suggestions to patch tests

* Update tests/modules/test_patch.py

* apply suggestions by @mashehu

* remove def from nextflow.config and add trace_report_suffix param

* [automated] Update CHANGELOG.md

* Update pre-commit hook astral-sh/ruff-pre-commit to v0.8.0

* [automated] Update CHANGELOG.md

* add validation.monochromeLogs to config

* ignore trace_report_suffix default check

* update snapshots

* add more tests

* enable zip output

* Move modules config import after base.config

* Update nf_core/pipelines/create/template_features.yml

* Update documentation

* Update CHANGELOG

* Update CHANGELOG.md

* Fix linting

* Update CHANGELOG

* Download: Need to deduplicate Seqera Container matches as well, otherwise a race condition emerges.

* Add new function to handle Seqera Container Oras URIs.

* Ensure, that oras:// containers are correctly handled.

* Download: Add test data for oras:// modules.

* Test the new container elimination routine.

* Download: Update the tests.

* Add dedicated ORAS image format error.

* Include oras:// regex in download to recognize the paths.

* Changelog.

* Update dawidd6/action-download-artifact action to v7 (nf-core#3306)

* Update dawidd6/action-download-artifact action to v7

* [automated] Update CHANGELOG.md

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: nf-core-bot <[email protected]>

* Update pre-commit hook astral-sh/ruff-pre-commit to v0.8.1

* Update gitpod/workspace-base Docker digest to 12853f7 (nf-core#3309)

* Update gitpod/workspace-base Docker digest to 12853f7

* [automated] Update CHANGELOG.md

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: nf-core-bot <[email protected]>

* update modules and subworkflows

* [automated] Update CHANGELOG.md

* also add monochrome_logs if nf-schema is used

* add manifest.contributors to nextflow.config

* [automated] Update CHANGELOG.md

* fix contributors map

* Update nf_core/pipeline-template/.github/CONTRIBUTING.md

Co-authored-by: Phil Ewels <[email protected]>

* Typo in error message.

Co-authored-by: Matthias Hörtenhuber <[email protected]>

* test also the main sync function itsel

* combine json parsing code

* loop over list of authors to supply contributors

* remove broken test

* fix type error

* Apply suggestions from code review

Co-authored-by: Júlia Mir Pedrol <[email protected]>

---------

Co-authored-by: mashehu <[email protected]>
Co-authored-by: nf-core-bot <[email protected]>
Co-authored-by: Matthias Hörtenhuber <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Marcel Ribeiro-Dantas <[email protected]>
Co-authored-by: Júlia Mir Pedrol <[email protected]>
Co-authored-by: Jonathan Manning <[email protected]>
Co-authored-by: Matthias Zepper <[email protected]>
Co-authored-by: Matthias Zepper <[email protected]>
Co-authored-by: Mahesh Binzer-Panchal <[email protected]>
Co-authored-by: James A. Fellows Yates <[email protected]>
Co-authored-by: Simon Pearce <[email protected]>
Co-authored-by: Phil Ewels <[email protected]>
Co-authored-by: Louis LE NEZET <[email protected]>
Co-authored-by: Louis Le Nezet <[email protected]>
Co-authored-by: LouisLeNezet <[email protected]>
* dev: (458 commits)
  Apply suggestions from code review
  fix type error
  remove broken test
  loop over list of authors to supply contributors
  combine json parsing code
  test also the main sync function itsel
  Typo in error message.
  Update nf_core/pipeline-template/.github/CONTRIBUTING.md
  fix contributors map
  [automated] Update CHANGELOG.md
  add manifest.contributors to nextflow.config
  also add monochrome_logs if nf-schema is used
  [automated] Update CHANGELOG.md
  update modules and subworkflows
  Update gitpod/workspace-base Docker digest to 12853f7 (nf-core#3309)
  Update pre-commit hook astral-sh/ruff-pre-commit to v0.8.1
  Update dawidd6/action-download-artifact action to v7 (nf-core#3306)
  Changelog.
  Include oras:// regex in download to recognize the paths.
  Add dedicated ORAS image format error.
  ...
@jvfe
Copy link
Member Author

jvfe commented Dec 4, 2024

Hi @mirpedrol. Again, sorry for the long delay. I managed to implement all three tests you had requested, so I think the PR is ready for review once again. The feature did require changing sections of the update code, as you'll see.

I also changed all test URLs to the new repo/org you created, and also wrote documentation for the feature, available at nf-core/website#2816

Thank you very much for your patience!

@jvfe jvfe requested a review from mirpedrol December 4, 2024 18:11
jvfe added 3 commits December 16, 2024 10:54
* refact: Use same org_path as modulesrepo first

* refact: Change current_remote to a modulesrepo instance

* refact: Try using modulesrepo in get_comps

* refact: Try using utility functions to grab the yml

* fix: Restore old regex behaviour

* refact: Use parent path instead of regex in comp_utils

* refact: Use modulesrepo for current_repo in install

* refact: Move constants to new file and use MRepo

Moves constants from component_utils to constants.py
so that ModulesRepo can be used from inside of component_utils,
thereby avoiding a circular import

* Revert "refact: Use modulesrepo for current_repo in install"

This reverts commit f4cc0fe.

* Reapply "refact: Use modulesrepo for current_repo in install"

This reverts commit c5bebcf.

* Revert "refact: Move constants to new file and use MRepo"

This reverts commit c0a7a00.

* refact: Change constants to diff file, use MRepo

* fix: Change import in test_update
commit 769f8dd
Merge: 5ac5767 d44bcdf
Author: Júlia Mir Pedrol <[email protected]>
Date:   Mon Dec 16 14:23:39 2024 +0100

    Merge pull request nf-core#3358 from mirpedrol/fix-pre-commit-template

    Fix pre commit template

commit d44bcdf
Author: mirpedrol <[email protected]>
Date:   Mon Dec 16 13:06:36 2024 +0100

    more prettier fixes

commit 2c78c5e
Author: mirpedrol <[email protected]>
Date:   Mon Dec 16 12:28:59 2024 +0100

    more template prittier fixing

commit d19e3e0
Author: mirpedrol <[email protected]>
Date:   Mon Dec 16 12:11:49 2024 +0100

    don't try running pre-commit if code-linters or github are not used in the template

commit 13e553f
Author: mirpedrol <[email protected]>
Date:   Mon Dec 16 12:08:20 2024 +0100

    fix more prettier modifications form the template

commit ac703bf
Author: mirpedrol <[email protected]>
Date:   Mon Dec 16 11:58:43 2024 +0100

    don't create rocrate file when we skip the feature

commit 709e67f
Author: mirpedrol <[email protected]>
Date:   Mon Dec 16 11:46:35 2024 +0100

    Remove Dumpler from ruamel yaml

commit 0c4b0c0
Merge: 2b2b435 5ac5767
Author: Júlia Mir Pedrol <[email protected]>
Date:   Mon Dec 16 11:35:31 2024 +0100

    Merge branch 'dev' into fix-pre-commit-template

commit 2b2b435
Author: mirpedrol <[email protected]>
Date:   Mon Dec 16 11:34:30 2024 +0100

    prettify template and printing .nf-core.yml

commit 5ac5767
Merge: a8f63cd 76ac617
Author: Matthias Zepper <[email protected]>
Date:   Fri Dec 13 19:49:50 2024 +0100

    Merge pull request nf-core#3351 from MatthiasZepper/no_env_in_download_action

    Replace Github environment usage in Download Action

commit 76ac617
Author: Matthias Zepper <[email protected]>
Date:   Fri Dec 13 14:11:56 2024 +0100

    Remove endraw statement that 'nf-core pipelines' create does not like.

commit 1fbd011
Author: nf-core-bot <[email protected]>
Date:   Fri Dec 13 12:44:24 2024 +0000

    [automated] Update CHANGELOG.md

commit 9f61e85
Author: mirpedrol <[email protected]>
Date:   Fri Dec 13 13:30:05 2024 +0100

    run pre-commit from a git repo

commit f6159c9
Author: mirpedrol <[email protected]>
Date:   Fri Dec 13 13:29:17 2024 +0100

    don't run prettier on ro-crate json file

commit a8f63cd
Merge: 6eaa998 4db108c
Author: Sateesh_Peri <[email protected]>
Date:   Fri Dec 13 17:58:57 2024 +0530

    Merge pull request nf-core#3357 from nf-core/usage-typo-fix

    Add missing p

commit 059473c
Author: mirpedrol <[email protected]>
Date:   Fri Dec 13 13:21:09 2024 +0100

    fix pre-commit linting failures

commit 4db108c
Author: nf-core-bot <[email protected]>
Date:   Fri Dec 13 12:08:36 2024 +0000

    [automated] Update CHANGELOG.md

commit edd29e0
Author: James A. Fellows Yates <[email protected]>
Date:   Fri Dec 13 13:07:30 2024 +0100

    Add missing p

commit ac26924
Merge: f02d6bb 6eaa998
Author: Matthias Zepper <[email protected]>
Date:   Fri Dec 13 11:10:17 2024 +0100

    Merge branch 'dev' into no_env_in_download_action

commit 6eaa998
Merge: 06980d4 a2c2339
Author: Júlia Mir Pedrol <[email protected]>
Date:   Fri Dec 13 11:07:58 2024 +0100

    Merge pull request nf-core#3356 from mirpedrol/fix-include-modules-config

    fix including modules.config

commit f02d6bb
Author: Júlia Mir Pedrol <[email protected]>
Date:   Thu Dec 12 11:14:52 2024 +0100

    Update nf_core/pipeline-template/.github/workflows/awsfulltest.yml

commit e32293d
Author: mashehu <[email protected]>
Date:   Tue Dec 10 16:01:04 2024 +0100

    update changelog

commit 4c32e47
Author: mashehu <[email protected]>
Date:   Tue Dec 10 16:00:03 2024 +0100

    fix if clause

commit 4958cf0
Author: mashehu <[email protected]>
Date:   Tue Dec 10 15:40:28 2024 +0100

    Be more verbose in approval check action

commit a8065da
Author: Matthias Hörtenhuber <[email protected]>
Date:   Thu Dec 12 10:59:54 2024 +0100

    Revert "don't set up loggin level to error [no changelog]"

commit 060eff5
Author: Matthias Zepper <[email protected]>
Date:   Fri Dec 13 10:58:08 2024 +0100

    Apply suggestions from code review

    Co-authored-by: Matthias Hörtenhuber <[email protected]>

commit a2c2339
Author: mirpedrol <[email protected]>
Date:   Fri Dec 13 10:47:18 2024 +0100

    revert nf-core#3301 until we add linting from nf-core#2508

commit eed09ba
Author: nf-core-bot <[email protected]>
Date:   Fri Dec 13 09:38:20 2024 +0000

    [automated] Update CHANGELOG.md

commit 4cf8607
Author: mirpedrol <[email protected]>
Date:   Fri Dec 13 10:36:28 2024 +0100

    fix including modules.config

commit 06980d4
Merge: aef5e16 8c5855f
Author: Júlia Mir Pedrol <[email protected]>
Date:   Fri Dec 13 09:38:59 2024 +0100

    Merge pull request nf-core#3354 from mashehu/fix-ro-crate-in-bump-version

    Fix ro crate in bump version

commit 8c5855f
Author: Júlia Mir Pedrol <[email protected]>
Date:   Fri Dec 13 08:19:50 2024 +0000

    get max of 100 branch names

commit b1ebca0
Merge: 307d0d4 aef5e16
Author: Júlia Mir Pedrol <[email protected]>
Date:   Fri Dec 13 08:53:30 2024 +0100

    Merge branch 'dev' into fix-ro-crate-in-bump-version

commit aef5e16
Merge: 3c20e00 d65da79
Author: Júlia Mir Pedrol <[email protected]>
Date:   Fri Dec 13 08:46:32 2024 +0100

    Merge pull request nf-core#3353 from mashehu/bump-version-3_1_1dev

    bump version to 3.1.1dev

commit 307d0d4
Author: mashehu <[email protected]>
Date:   Thu Dec 12 16:09:53 2024 +0100

    only bump ro-crate if it already exists

commit d65da79
Author: mashehu <[email protected]>
Date:   Thu Dec 12 15:04:39 2024 +0100

    bump version to 3.1.1dev

commit 62ebfc1
Author: Matthias Zepper <[email protected]>
Date:   Thu Dec 12 11:35:57 2024 +0100

    Replace Github environment usage in Download Action.

commit 3c20e00
Merge: f77737d c2a9dee
Author: Júlia Mir Pedrol <[email protected]>
Date:   Thu Dec 12 11:30:04 2024 +0100

    Merge pull request nf-core#3338 from mashehu/more-verbose-awsfulltest-checks

    Be more verbose in approval check action

commit c2a9dee
Author: Júlia Mir Pedrol <[email protected]>
Date:   Thu Dec 12 11:14:52 2024 +0100

    Update nf_core/pipeline-template/.github/workflows/awsfulltest.yml

commit f77737d
Merge: d56b528 8f00659
Author: Matthias Hörtenhuber <[email protected]>
Date:   Thu Dec 12 11:12:01 2024 +0100

    Merge pull request nf-core#3350 from nf-core/revert-3349-sync-debugging

commit 8f00659
Author: Matthias Hörtenhuber <[email protected]>
Date:   Thu Dec 12 10:59:54 2024 +0100

    Revert "don't set up loggin level to error [no changelog]"

commit d56b528
Merge: 1af4c61 e92f327
Author: Júlia Mir Pedrol <[email protected]>
Date:   Thu Dec 12 10:21:37 2024 +0100

    Merge pull request nf-core#3349 from mirpedrol/sync-debugging

    don't set up loggin level to error [no changelog]

commit e92f327
Author: mirpedrol <[email protected]>
Date:   Thu Dec 12 10:00:43 2024 +0100

    don't set up loggin level to error

commit 1af4c61
Merge: 380be6c be38c15
Author: Matthias Hörtenhuber <[email protected]>
Date:   Thu Dec 12 09:24:47 2024 +0100

    Merge pull request nf-core#3347 from mashehu/specify-ref-in-sync-yml

commit be38c15
Author: mashehu <[email protected]>
Date:   Wed Dec 11 20:06:58 2024 +0100

    use same ref in checkout as triggered the workflow

commit 380be6c
Author: mirpedrol <[email protected]>
Date:   Wed Dec 11 16:10:05 2024 +0100

    cleanup debugging echo

commit 3858e38
Author: mirpedrol <[email protected]>
Date:   Wed Dec 11 16:03:12 2024 +0100

    try exiting pipeline directory before saving defaultBranch

commit 1de1034
Author: mirpedrol <[email protected]>
Date:   Wed Dec 11 15:34:37 2024 +0100

    echo message to sync GHA

commit e8b6a9f
Merge: a4965f3 df5b323
Author: Júlia Mir Pedrol <[email protected]>
Date:   Wed Dec 11 14:58:34 2024 +0100

    Merge pull request nf-core#3345 from mirpedrol/sync-default-branch

    add more debugging on sync GHA [no changelog]

commit df5b323
Author: mirpedrol <[email protected]>
Date:   Wed Dec 11 14:51:17 2024 +0100

    add more debugging on sync GHA

commit a4965f3
Merge: 06db03f 6148983
Author: Júlia Mir Pedrol <[email protected]>
Date:   Wed Dec 11 12:12:13 2024 +0100

    Merge pull request nf-core#3342 from mirpedrol/sync-default-branch

    go back to original directory after configuring git defaultBranch [no changelog]

commit 6148983
Author: mirpedrol <[email protected]>
Date:   Wed Dec 11 11:44:22 2024 +0100

    go back to original directory after configuring git defaultBranch

commit 06db03f
Merge: 1a22106 379bad0
Author: Júlia Mir Pedrol <[email protected]>
Date:   Wed Dec 11 11:13:59 2024 +0100

    Merge pull request nf-core#3339 from mashehu/add-verbose-mode-to-sync

    Add verbose mode to sync action

commit 379bad0
Author: Júlia Mir Pedrol <[email protected]>
Date:   Wed Dec 11 10:03:37 2024 +0000

    add input debug for workflow_dispatch sync action

commit bb3a252
Author: Júlia Mir Pedrol <[email protected]>
Date:   Wed Dec 11 10:42:54 2024 +0100

    Apply suggestions from code review

commit 5c8937e
Author: mashehu <[email protected]>
Date:   Tue Dec 10 17:19:32 2024 +0100

    update changelog

commit fa4e074
Author: mashehu <[email protected]>
Date:   Tue Dec 10 17:17:02 2024 +0100

    add verbose mode to sync action

commit 1748613
Author: mashehu <[email protected]>
Date:   Tue Dec 10 16:01:04 2024 +0100

    update changelog

commit f7ced6b
Author: mashehu <[email protected]>
Date:   Tue Dec 10 16:00:03 2024 +0100

    fix if clause

commit 0b7fe50
Author: mashehu <[email protected]>
Date:   Tue Dec 10 15:40:28 2024 +0100

    Be more verbose in approval check action

commit 1a22106
Author: mashehu <[email protected]>
Date:   Tue Dec 10 15:17:06 2024 +0100

    fix Changelog

commit 15b044d
Author: mashehu <[email protected]>
Date:   Tue Dec 10 15:15:26 2024 +0100

    change working dir when setting defaultBranch

commit 7a69b8c
Merge: 666fc9f 0e7c870
Author: mashehu <[email protected]>
Date:   Tue Dec 10 14:44:40 2024 +0100

    Merge branch 'dev' of github.com:nf-core/tools into fix-sync-grep

commit 666fc9f
Author: mashehu <[email protected]>
Date:   Tue Dec 10 14:44:12 2024 +0100

    fix path for nextflow.config grep

commit 0e7c870
Merge: a791707 5ee2d52
Author: Matthias Hörtenhuber <[email protected]>
Date:   Tue Dec 10 14:33:03 2024 +0100

    Merge pull request nf-core#3337 from mashehu/fix-init-branch-in-sync-action

    set git defaultBranch to master in sync action

commit 5ee2d52
Author: mashehu <[email protected]>
Date:   Tue Dec 10 14:30:14 2024 +0100

    use nextflow.config to set defaultBranch

commit 60ae1af
Author: mashehu <[email protected]>
Date:   Tue Dec 10 13:26:07 2024 +0100

    update changelog

commit de00162
Author: mashehu <[email protected]>
Date:   Tue Dec 10 13:20:46 2024 +0100

    set git defaultBranch to master in sync action

commit a791707
Merge: 05e7b95 47054ad
Author: Matthias Hörtenhuber <[email protected]>
Date:   Tue Dec 10 12:44:04 2024 +0100

    Merge pull request nf-core#3335 from mashehu/set-default-branch-to-master

    set default_branch to master for now

commit 47054ad
Merge: 7110fff 05e7b95
Author: Matthias Hörtenhuber <[email protected]>
Date:   Tue Dec 10 12:25:27 2024 +0100

    Merge branch 'dev' into set-default-branch-to-master

commit 7110fff
Author: mashehu <[email protected]>
Date:   Tue Dec 10 12:20:01 2024 +0100

    update changelog

commit e9cde59
Author: mashehu <[email protected]>
Date:   Tue Dec 10 12:17:54 2024 +0100

    set default_branch to master for now

commit 05e7b95
Merge: 55ca4d4 953055d
Author: Matthias Hörtenhuber <[email protected]>
Date:   Tue Dec 10 11:38:06 2024 +0100

    Merge pull request nf-core#3334 from mashehu/update-crate-with-version-bump

    rocrate: Update crate with version bump and handle new contributor field

commit 953055d
Author: mashehu <[email protected]>
Date:   Tue Dec 10 11:22:01 2024 +0100

    fix type error

commit 8a78d4b
Author: Matthias Hörtenhuber <[email protected]>
Date:   Tue Dec 10 10:51:44 2024 +0100

    Update nf_core/pipelines/rocrate.py

commit b976ec3
Author: mashehu <[email protected]>
Date:   Tue Dec 10 10:16:12 2024 +0100

    update changelog

commit 6ae3de5
Author: mashehu <[email protected]>
Date:   Tue Dec 10 10:14:47 2024 +0100

    handle new author field

commit 3e81adb
Author: mashehu <[email protected]>
Date:   Tue Dec 10 10:13:51 2024 +0100

    update version in ro crate on version bump

commit 55ca4d4
Merge: 5497cac 0e62e6e
Author: Matthias Hörtenhuber <[email protected]>
Date:   Mon Dec 9 18:57:09 2024 +0100

    Merge pull request nf-core#3333 from mashehu/fix-duplicated-ro-crate-entries

commit 0e62e6e
Author: mashehu <[email protected]>
Date:   Mon Dec 9 18:13:37 2024 +0100

    update changelog

commit 3c4fa81
Author: mashehu <[email protected]>
Date:   Mon Dec 9 18:12:08 2024 +0100

    rocrate: remove duplicated entries for name and version

commit 5497cac
Merge: 4ea867a 045aaec
Author: Júlia Mir Pedrol <[email protected]>
Date:   Mon Dec 9 17:30:06 2024 +0100

    Merge pull request nf-core#3332 from mashehu/fix-gitpod-yml

    Don't break gitpod.yml with template string

commit 045aaec
Author: mashehu <[email protected]>
Date:   Mon Dec 9 17:11:04 2024 +0100

    fix template string

commit 5b1cf24
Author: Matthias Hörtenhuber <[email protected]>
Date:   Mon Dec 9 17:09:32 2024 +0100

    Update nf_core/pipeline-template/.gitpod.yml

    Co-authored-by: Júlia Mir Pedrol <[email protected]>

commit 15880be
Author: mashehu <[email protected]>
Date:   Mon Dec 9 16:54:17 2024 +0100

    make prettier happy

commit 337143d
Author: mashehu <[email protected]>
Date:   Mon Dec 9 16:43:57 2024 +0100

    update changelog

commit 5bc9952
Merge: 0385490 77ccc6a
Author: mashehu <[email protected]>
Date:   Mon Dec 9 16:41:43 2024 +0100

    Merge branch 'fix-gitpod-yml' of github.com:mashehu/tools into fix-gitpod-yml

commit 0385490
Author: mashehu <[email protected]>
Date:   Mon Dec 9 16:41:31 2024 +0100

    don't break gitpod.yml with template string

commit 4ea867a
Merge: 3f85556 8c9888b
Author: Matthias Hörtenhuber <[email protected]>
Date:   Mon Dec 9 16:09:09 2024 +0100

    Merge pull request nf-core#3330 from mashehu/skip-GRCh37

    Template: Remove mention of GRCh37 if igenomes is skipped

commit 3f85556
Merge: 7586248 a59e929
Author: Matthias Hörtenhuber <[email protected]>
Date:   Mon Dec 9 16:02:06 2024 +0100

    Merge pull request nf-core#3331 from mirpedrol/revert-textual-dev-1.7.0

    Revert textual dev 1.7.0 [no changelog]

commit 8c9888b
Merge: 1da1fc6 7586248
Author: mashehu <[email protected]>
Date:   Mon Dec 9 15:51:16 2024 +0100

    Merge branch 'dev' of github.com:nf-core/tools into skip-GRCh37

    # Conflicts:
    #	nf_core/pipeline-template/.gitpod.yml

commit a59e929
Author: mirpedrol <[email protected]>
Date:   Mon Dec 9 15:44:24 2024 +0100

    revert updating textual-dev to 1.7.0

commit 1da1fc6
Author: mashehu <[email protected]>
Date:   Mon Dec 9 15:27:29 2024 +0100

    update changelog

commit e073622
Author: mashehu <[email protected]>
Date:   Mon Dec 9 15:23:56 2024 +0100

    add missing closing tag

commit 76ac145
Author: mashehu <[email protected]>
Date:   Mon Dec 9 15:23:20 2024 +0100

    remove mention of GRCh37 from template if igenomes is skipped

    closes nf-core#3322

commit 7586248
Merge: edbeee3 afdb012
Author: Matthias Hörtenhuber <[email protected]>
Date:   Mon Dec 9 13:52:54 2024 +0100

    Merge pull request nf-core#3329 from mashehu/bump-version-3_1_0

    Bump version 3.1.0

commit afdb012
Author: Júlia Mir Pedrol <[email protected]>
Date:   Mon Dec 9 12:29:16 2024 +0000

    add highlights and version updates sections to changelog

commit ae1066c
Author: mashehu <[email protected]>
Date:   Mon Dec 9 13:10:57 2024 +0100

    bump to 3.1.0

commit edbeee3
Merge: 7e30b29 ee12866
Author: Júlia Mir Pedrol <[email protected]>
Date:   Mon Dec 9 12:58:26 2024 +0100

    Merge pull request nf-core#3328 from mirpedrol/update-template-components

    Update template components

commit 7e30b29
Merge: 99dba72 4ab2637
Author: Júlia Mir Pedrol <[email protected]>
Date:   Mon Dec 9 12:51:02 2024 +0100

    Merge pull request nf-core#3308 from nf-core/renovate/textual-dev-1.x

    Update dependency textual-dev to v1.7.0

commit ee12866
Author: nf-core-bot <[email protected]>
Date:   Mon Dec 9 11:45:14 2024 +0000

    [automated] Update CHANGELOG.md

commit f209096
Author: mirpedrol <[email protected]>
Date:   Mon Dec 9 12:43:50 2024 +0100

    fix jinja template missing endif

commit 69f00bc
Author: mirpedrol <[email protected]>
Date:   Mon Dec 9 12:40:42 2024 +0100

    update utils_nfcore_pipeline swf

commit 4ab2637
Merge: c5ffcf8 99dba72
Author: Júlia Mir Pedrol <[email protected]>
Date:   Mon Dec 9 12:34:23 2024 +0100

    Merge branch 'dev' into renovate/textual-dev-1.x

commit 99dba72
Merge: 98285e3 e5f0bd3
Author: Júlia Mir Pedrol <[email protected]>
Date:   Mon Dec 9 12:31:05 2024 +0100

    Merge pull request nf-core#3292 from nf-core/vs-code-tests

    build: Setup VS Code tests

commit e5f0bd3
Merge: a39ed59 98285e3
Author: Júlia Mir Pedrol <[email protected]>
Date:   Mon Dec 9 12:04:05 2024 +0100

    Merge branch 'dev' into vs-code-tests

commit 98285e3
Merge: 582774b 7a03d90
Author: Matthias Hörtenhuber <[email protected]>
Date:   Mon Dec 9 12:03:18 2024 +0100

    Merge pull request nf-core#3323 from mashehu/fix-api-doc-headers

    fix headers in api docs

commit 582774b
Merge: b14b504 9f4036c
Author: Júlia Mir Pedrol <[email protected]>
Date:   Mon Dec 9 12:03:04 2024 +0100

    Merge pull request nf-core#3304 from nf-core/remove-channel-operations-from-oncomplete

    Remove toList() channel operation from inside onComplete block

commit 9f4036c
Merge: f22d7d9 b14b504
Author: Júlia Mir Pedrol <[email protected]>
Date:   Mon Dec 9 11:06:25 2024 +0100

    Merge branch 'dev' into remove-channel-operations-from-oncomplete

commit 7a03d90
Author: nf-core-bot <[email protected]>
Date:   Mon Dec 9 09:47:45 2024 +0000

    [automated] Fix code linting

commit efdced2
Merge: f54e123 b14b504
Author: Matthias Hörtenhuber <[email protected]>
Date:   Mon Dec 9 10:44:03 2024 +0100

    Merge branch 'dev' into fix-api-doc-headers

commit b14b504
Merge: 0450503 9c0f2ac
Author: Phil Ewels <[email protected]>
Date:   Sat Dec 7 08:10:25 2024 +0100

    Merge pull request nf-core#3326 from nf-core/modules-outside-nf-core-too

commit 0450503
Merge: b2132cf cc38f8d
Author: lmReef <[email protected]>
Date:   Sat Dec 7 10:47:24 2024 +1300

    Merge pull request nf-core#3317 from lmReef/fix-linting-error

    Fix meta_yml linting error

commit cc38f8d
Merge: 3cc7646 b2132cf
Author: lmReef <[email protected]>
Date:   Sat Dec 7 10:27:12 2024 +1300

    Merge branch 'dev' into fix-linting-error

commit b2132cf
Merge: 0ba1c70 af05e4a
Author: Matthias Hörtenhuber <[email protected]>
Date:   Fri Dec 6 22:24:03 2024 +0100

    Merge pull request nf-core#3321 from lmReef/fix-module-section-regex

commit af05e4a
Merge: faded6a 0ba1c70
Author: lmReef <[email protected]>
Date:   Sat Dec 7 10:04:17 2024 +1300

    Merge branch 'dev' into fix-module-section-regex

commit 3cc7646
Merge: c5dc6ac 0ba1c70
Author: lmReef <[email protected]>
Date:   Sat Dec 7 10:04:15 2024 +1300

    Merge branch 'dev' into fix-linting-error

commit 9c0f2ac
Merge: ba447fb 0ba1c70
Author: Phil Ewels <[email protected]>
Date:   Fri Dec 6 19:25:24 2024 +0100

    Merge branch 'dev' into modules-outside-nf-core-too

commit 0ba1c70
Author: nf-core-bot <[email protected]>
Date:   Fri Dec 6 13:55:42 2024 +0000

    [automated] Update CHANGELOG.md

commit 6a59a97
Author: Mahesh Binzer-Panchal <[email protected]>
Date:   Fri Dec 6 13:50:30 2024 +0000

    Update gitpod vscode extensions to use nf-core extension pack

commit ba447fb
Author: nf-core-bot <[email protected]>
Date:   Thu Dec 5 22:57:35 2024 +0000

    [automated] Update CHANGELOG.md

commit da16adb
Author: Phil Ewels <[email protected]>
Date:   Thu Dec 5 23:56:27 2024 +0100

    Make prompt less nf-core specific

commit c5dc6ac
Merge: c3fd9bb 978f865
Author: lmReef <[email protected]>
Date:   Fri Dec 6 08:45:34 2024 +1300

    Merge branch 'dev' into fix-linting-error

commit faded6a
Merge: c22c571 978f865
Author: lmReef <[email protected]>
Date:   Fri Dec 6 08:45:21 2024 +1300

    Merge branch 'dev' into fix-module-section-regex

commit 978f865
Merge: e8510cc c03f212
Author: Matthias Hörtenhuber <[email protected]>
Date:   Thu Dec 5 19:49:45 2024 +0100

    Merge pull request nf-core#3325 from nf-core/renovate/astral-sh-ruff-pre-commit-0.x

commit c03f212
Author: nf-core-bot <[email protected]>
Date:   Thu Dec 5 16:52:26 2024 +0000

    [automated] Update CHANGELOG.md

commit 2c5932e
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Thu Dec 5 16:49:54 2024 +0000

    Update pre-commit hook astral-sh/ruff-pre-commit to v0.8.2

commit f54e123
Author: nf-core-bot <[email protected]>
Date:   Thu Dec 5 16:04:21 2024 +0000

    [automated] Update CHANGELOG.md

commit e8510cc
Merge: f4b5b5d ce866c6
Author: Júlia Mir Pedrol <[email protected]>
Date:   Thu Dec 5 16:47:32 2024 +0100

    Merge pull request nf-core#3142 from mashehu/master-to-main

    Allow `main` as default channel

commit f4b5b5d
Merge: a9d97e4 c23af55
Author: Matthias Hörtenhuber <[email protected]>
Date:   Thu Dec 5 16:36:36 2024 +0100

    Merge pull request nf-core#3298 from nf-core/subworkflow-messages

    Improve subworkflow nf-test migration warning

commit 6ddfe4d
Author: mashehu <[email protected]>
Date:   Thu Dec 5 16:30:44 2024 +0100

    fix headers

commit c23af55
Author: nf-core-bot <[email protected]>
Date:   Thu Dec 5 15:19:54 2024 +0000

    [automated] Update CHANGELOG.md

commit a9d97e4
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Thu Dec 5 12:16:57 2024 +0000

    Update python:3.12-slim Docker digest to 2b00791 (nf-core#3319)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

commit ce866c6
Author: Júlia Mir Pedrol <[email protected]>
Date:   Thu Dec 5 11:55:09 2024 +0100

    Remove not needed setup-java step

commit c22c571
Author: lmReef <[email protected]>
Date:   Thu Dec 5 10:14:01 2024 +1300

    Revert "[automated] Update CHANGELOG.md"

    This reverts commit 355dff2.

commit 9996df9
Author: lmReef <[email protected]>
Date:   Thu Dec 5 10:11:58 2024 +1300

    update changelog

commit 355dff2
Author: nf-core-bot <[email protected]>
Date:   Wed Dec 4 21:10:36 2024 +0000

    [automated] Update CHANGELOG.md

commit 57a92a0
Author: lmReef <[email protected]>
Date:   Thu Dec 5 09:34:08 2024 +1300

    fix: module section linter regex

commit c3fd9bb
Author: lmReef <[email protected]>
Date:   Thu Dec 5 08:59:07 2024 +1300

    fix: add explicit str type to self.process_name

commit f22d7d9
Author: Rob Syme <[email protected]>
Date:   Wed Dec 4 08:09:57 2024 -0500

    Revert changes to nf_core/pipeline-template/subworkflows/nf-core/utils_nfcore_pipeline/main.nf

commit b94435b
Author: Júlia Mir Pedrol <[email protected]>
Date:   Wed Dec 4 09:48:13 2024 +0000

    remove too many raw/endraw in branch.yml

commit 4a8e976
Author: lmReef <[email protected]>
Date:   Wed Dec 4 10:41:19 2024 +1300

    update changelog entry with link

commit d3d9c72
Author: lmReef <[email protected]>
Date:   Wed Dec 4 10:29:10 2024 +1300

    update changelog

commit b04351d
Author: lmReef <[email protected]>
Date:   Wed Dec 4 09:54:53 2024 +1300

    fix: python linting warn

commit dc9c3b1
Author: lmReef <[email protected]>
Date:   Wed Dec 4 09:43:11 2024 +1300

    fix: linting error in meta_yml where module.process_name is always ""

commit 229a232
Author: mashehu <[email protected]>
Date:   Tue Dec 3 18:14:33 2024 +0100

    disambiguate in more places

commit 2e4a8ed
Author: mashehu <[email protected]>
Date:   Tue Dec 3 16:50:53 2024 +0100

    use contect to figure out if it master or main

    Co-authored-by: @mirpredrol

commit 9c43f15
Author: mashehu <[email protected]>
Date:   Tue Dec 3 15:36:20 2024 +0100

    avoid confusion by separating the string

commit 14480d2
Author: mashehu <[email protected]>
Date:   Tue Dec 3 15:26:31 2024 +0100

    use java v17

commit 1857ebf
Author: mashehu <[email protected]>
Date:   Tue Dec 3 14:46:55 2024 +0100

    add missing setup-java action

commit 8bc1a30
Author: mashehu <[email protected]>
Date:   Tue Dec 3 14:43:11 2024 +0100

    nope, setup-java it is

commit a604cb5
Author: mashehu <[email protected]>
Date:   Tue Dec 3 14:37:17 2024 +0100

    set the variable manually

commit 2475ad1
Merge: 4b2338f a7351a2
Author: Júlia Mir Pedrol <[email protected]>
Date:   Tue Dec 3 13:35:46 2024 +0000

    Merge branch 'dev' of https://github.com/nf-core/tools into remove-channel-operations-from-oncomplete

commit 4b2338f
Author: Júlia Mir Pedrol <[email protected]>
Date:   Tue Dec 3 13:32:17 2024 +0000

    update modules and subworkflows

commit 00b8ae0
Author: mashehu <[email protected]>
Date:   Tue Dec 3 14:18:06 2024 +0100

    pin java version 21 in CI

commit e9ed94e
Author: mashehu <[email protected]>
Date:   Tue Dec 3 14:08:04 2024 +0100

    set defaultBranch in nextflow config to allow `main`

commit 831548e
Merge: 73957fd a7351a2
Author: Matthias Hörtenhuber <[email protected]>
Date:   Tue Dec 3 13:55:21 2024 +0100

    Merge branch 'dev' into master-to-main

commit 73957fd
Merge: bd9608d 41b4516
Author: mashehu <[email protected]>
Date:   Tue Dec 3 13:54:11 2024 +0100

    Merge branch 'main' of github.com:nf-core/tools into master-to-main

    # Conflicts:
    #	.github/RELEASE_CHECKLIST.md
    #	.github/workflows/branch.yml
    #	.github/workflows/pytest.yml
    #	nf_core/pipeline-template/README.md
    #	nf_core/pipeline-template/assets/schema_input.json
    #	nf_core/pipeline-template/nextflow_schema.json

commit bd9608d
Author: Matthias Hörtenhuber <[email protected]>
Date:   Tue Dec 3 13:38:33 2024 +0100

    Update nf_core/components/create.py

commit a39ed59
Merge: 35eb958 a7351a2
Author: Júlia Mir Pedrol <[email protected]>
Date:   Tue Dec 3 13:27:47 2024 +0100

    Merge branch 'dev' into vs-code-tests

commit abb0fa2
Author: Robert Syme <[email protected]>
Date:   Fri Nov 29 14:34:37 2024 -0500

    Remove toList() channel operation from inside onComplete block

    This PR resolves an important bug in the nf-core template, whereby all workflows will hang if the --email parameter is supplied.

    The onComplete block will hang if there are any (queue) channel operations inside the block. All values in the onComplete block must be resolved to single values or value channels _before_ the onComplete block starts.

    The async channels are not available inside onComplete, so calling the toList() operation will hang forever as the async queue channel will never be completed.

commit c5ffcf8
Author: nf-core-bot <[email protected]>
Date:   Sun Dec 1 02:09:38 2024 +0000

    [automated] Update CHANGELOG.md

commit 456aa05
Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Date:   Sun Dec 1 02:08:49 2024 +0000

    Update dependency textual-dev to v1.7.0

commit 35eb958
Author: Edmund Miller <[email protected]>
Date:   Tue Nov 26 02:17:48 2024 +0000

    Add Python terminal env settings

commit 805620b
Author: Edmund Miller <[email protected]>
Date:   Mon Nov 25 11:09:22 2024 -0600

    fix(nf-core#3297): Update warning message for pytest-workflow

commit 3456346
Author: nf-core-bot <[email protected]>
Date:   Thu Nov 21 17:29:49 2024 +0000

    [automated] Update CHANGELOG.md

commit dd477ab
Author: Edmund Miller <[email protected]>
Date:   Wed Nov 20 22:50:15 2024 -0600

    build: Setup VS Code tests

commit fa2750a
Author: mashehu <[email protected]>
Date:   Tue Aug 27 15:18:27 2024 +0200

    use format instead of f-string

commit 19ec188
Author: mashehu <[email protected]>
Date:   Tue Aug 27 10:30:07 2024 +0200

    revert to format

commit 2054550
Author: mashehu <[email protected]>
Date:   Tue Aug 27 10:07:47 2024 +0200

    fix quotes

commit 9d2a3ab
Author: mashehu <[email protected]>
Date:   Tue Aug 27 09:12:38 2024 +0200

    fix order in lint

commit ed0fb1b
Author: mashehu <[email protected]>
Date:   Tue Aug 27 09:08:51 2024 +0200

    set default value for default branch

commit da91519
Author: mashehu <[email protected]>
Date:   Tue Aug 27 09:00:05 2024 +0200

    fix schema check

commit 5b3dabd
Author: mashehu <[email protected]>
Date:   Tue Aug 27 08:47:44 2024 +0200

    fix order of initialization

commit 889e59e
Author: mashehu <[email protected]>
Date:   Tue Aug 27 08:41:53 2024 +0200

    handle missing self.default_branch

commit 6fc6da2
Author: mashehu <[email protected]>
Date:   Tue Aug 27 07:30:15 2024 +0200

    change pipeline template and tooling to allow `main` as default branch

commit 77ccc6a
Author: mashehu <[email protected]>
Date:   Wed Dec 20 15:51:04 2023 +0100

    set gitpod.yml docker image to latest
Copy link

codecov bot commented Dec 16, 2024

Codecov Report

Attention: Patch coverage is 92.62295% with 9 lines in your changes missing coverage. Please review.

Project coverage is 76.10%. Comparing base (769f8dd) to head (f7ee052).

Files with missing lines Patch % Lines
nf_core/components/install.py 84.00% 4 Missing ⚠️
nf_core/components/update.py 93.33% 3 Missing ⚠️
nf_core/modules/modules_json.py 88.23% 2 Missing ⚠️
Additional details and impacted files

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants