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

Adding our nf-test tests to the GitHub Actions CI #66

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

Conversation

RobJY
Copy link
Contributor

@RobJY RobJY commented Oct 29, 2024

PR checklist

  • This comment contains a description of changes (with reason).
  • If you've fixed a bug or added code that should be tested, add tests!
  • If you've added a new tool - have you followed the pipeline conventions in the contribution docs
  • If necessary, also make a PR on the nf-core/mcmicro branch on the nf-core/test-datasets repository.
  • Make sure your code lints (nf-core lint).
  • Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
  • Check for unexpected warnings in debug mode (nextflow run . -profile debug,test,docker --outdir <OUTDIR>).
  • Usage Documentation in docs/usage.md is updated.
  • Output Documentation in docs/output.md is updated.
  • CHANGELOG.md is updated.
  • README.md is updated (including new tool citations and authors/contributors).

This is still a work in progress, but I think it's getting close.
To do Items:

  • CI is failing for Singularity tests. Looks like a problem running mesmer. I've updated it, but that hasn't helped.
    • Docker tests pass
  • failing lint, but much of that is because of the updated template
  • I'm forcing more CI tests than it would normally run, so that code needs to be removed before deployment
  • Check that CI runs nf-tests for pull-request
    • They work for push and workflow_dispatch

Copy link

github-actions bot commented Oct 29, 2024

nf-core pipelines lint overall result: Failed ❌

Posted for pipeline commit 271f172

+| ✅ 167 tests passed       |+
#| ❔   1 tests were ignored |#
!| ❗  26 tests had warnings |!
-| ❌  13 tests failed       |-

❌ Test failures:

  • nextflow_config - Config variable (incorrectly) found: params.max_cpus
  • nextflow_config - Config variable (incorrectly) found: params.max_memory
  • nextflow_config - Config variable (incorrectly) found: params.max_time
  • nextflow_config - Old lines for loading custom profiles found. File should contain: ```groovy
    // Load nf-core custom profiles from different Institutions
    includeConfig !System.getenv('NXF_OFFLINE') && params.custom_config_base ? "${params.custom_config_base}/nfcore_custom.config" : "/dev/null"
  • files_unchanged - .github/CONTRIBUTING.md does not match the template
  • files_unchanged - .github/PULL_REQUEST_TEMPLATE.md does not match the template
  • files_unchanged - .github/workflows/linting_comment.yml does not match the template
  • files_unchanged - .github/workflows/linting.yml does not match the template
  • files_unchanged - .gitignore does not match the template
  • actions_ci - Minimum pipeline NF version '23.04.0' is not tested in '.github/workflows/ci.yml'
  • actions_awsfulltest - .github/workflows/awsfulltest.yml is not triggered correctly
  • schema_params - Param modules_testdata_base_path from nextflow config not found in nextflow_schema.json
  • multiqc_config - assets/multiqc_config.yml does not contain a matching 'report_comment'.
    The expected comment is:
    This report has been generated by the <a href="https://github.com/nf-core/mcmicro/tree/dev" target="_blank">nf-core/mcmicro</a> analysis pipeline. For information about how to interpret these results, please see the <a href="https://nf-co.re/mcmicro/dev/docs/output" target="_blank">documentation</a>.
    The current comment is:
    This report has been generated by the <a href="https://github.com/nf-core/mcmicro/releases/tag/2.0.0" target="_blank">nf-core/mcmicro</a> analysis pipeline. For information about how to interpret these results, please see the <a href="https://nf-co.re/mcmicro/2.0.0/docs/output" target="_blank">documentation</a>.

❗ Test warnings:

  • files_exist - File not found: conf/igenomes_ignored.config
  • nextflow_config - nf-validation has been detected in the pipeline. Please migrate to nf-schema: https://nextflow-io.github.io/nf-schema/latest/migration_guide/
  • readme - README contains the placeholder zenodo.XXXXXXX. This should be replaced with the zenodo doi (after the first release).
  • pipeline_todos - TODO string in README.md: TODO nf-core:
  • pipeline_todos - TODO string in README.md: Include a figure that guides the user through the major workflow steps. Many nf-core
  • pipeline_todos - TODO string in README.md: Fill in short bullet-pointed list of the default steps in the pipeline
  • pipeline_todos - TODO string in README.md: Describe the minimum required steps to execute the pipeline, e.g. how to prepare samplesheets.
  • pipeline_todos - TODO string in README.md: update the following command to include all required parameters for a minimal example
  • pipeline_todos - TODO string in README.md: If applicable, make list of people who have also contributed
  • pipeline_todos - TODO string in README.md: Add citation for pipeline after first release. Uncomment lines below and update Zenodo doi and badge at the top of this file.
  • pipeline_todos - TODO string in README.md: Add bibliography of tools and data used in your pipeline
  • pipeline_todos - TODO string in output.md: Write this documentation describing your workflow's output
  • pipeline_todos - TODO string in usage.md: Add documentation about anything specific to running your pipeline. For general topics, please point to (and add to) the main nf-core website.
  • pipeline_todos - TODO string in main.nf: Optionally add in-text citation tools to this list.
  • pipeline_todos - TODO string in main.nf: Optionally add bibliographic entries to this list.
  • pipeline_todos - TODO string in main.nf: Only uncomment below if logic in toolCitationText/toolBibliographyText has been filled!
  • pipeline_todos - TODO string in test_full.config: Specify the paths to your full test data ( on nf-core/test-datasets or directly in repositories, e.g. SRA)
  • pipeline_todos - TODO string in test_full.config: Give any required params for the test so that command line flags are not needed
  • pipeline_todos - TODO string in test.config: Specify the paths to your test data on nf-core/test-datasets
  • pipeline_todos - TODO string in test.config: Give any required params for the test so that command line flags are not needed
  • pipeline_todos - TODO string in base.config: Check the defaults for all processes
  • pipeline_todos - TODO string in base.config: Customise requirements for specific processes.
  • pipeline_todos - TODO string in methods_description_template.yml: #Update the HTML below to your preferred methods description, e.g. add publication citation for this pipeline
  • pipeline_todos - TODO string in awsfulltest.yml: You can customise AWS full pipeline tests as required
  • schema_lint - Parameter input not found in schema
  • nfcore_yml - nf-core version in .nf-core.yml is not set to the latest version. Should be 3.0.2 but was 2.14.1

❔ Tests ignored:

✅ Tests passed:

Run details

  • nf-core/tools version 3.0.2
  • Run at 2024-11-04 15:31:06

@RobJY
Copy link
Contributor Author

RobJY commented Oct 29, 2024

Ah, the paths I use to force more CI tests probably don't exist when running in the PR, so I've commented that out.

@RobJY
Copy link
Contributor Author

RobJY commented Oct 29, 2024

Looks like one of the things we're getting hung up on is a missing file for a module test for mesmer:

Test Process DEEPCELL_MESMER

  Test [4cdeb94e] 'mesmer - tif' 
    > Nextflow 24.10.0 is available - Please consider updating your version to it
    > N E X T F L O W  ~  version 24.04.2
    > Launching `/home/runner/work/mcmicro/mcmicro/.nf-test-4cdeb94e8ab416d5ddd3cf7f197d7523.nf` [shrivelled_curie] DSL2 - revision: fe2ec8638a
    > Downloading plugin nf-validation@1.1.3
    > ERROR ~ No such file or directory: https://raw.githubusercontent.com/nf-core/test-datasets/imaging/segmentation/cycif_tonsil_registered.ome.tif
    > 
    >  -- Check script '/home/runner/work/mcmicro/mcmicro/.nf-test-4cdeb94e8ab416d5ddd3cf7f197d7523.nf' at line: 34 or see '/home/runner/work/mcmicro/mcmicro/.nf-test/tests/4cdeb94e8ab416d5ddd3cf7f197d7523/meta/nextflow.log' file for more details
Assertion failed: 

Looking into how to fix this.

@RobJY
Copy link
Contributor Author

RobJY commented Oct 30, 2024

Easy fix. It just needed a small path change.

@RobJY RobJY requested a review from jmuhlich October 31, 2024 18:04
@mashehu
Copy link

mashehu commented Nov 2, 2024

@nf-core-bot fix linting

@kbestak
Copy link
Contributor

kbestak commented Nov 4, 2024

Hi @RobJY,
some of the changes made here are also done in the template update. It would be better practice under nf-core to first merge the template update. This is important as CI is affected by the nf-core/tools version. Could you, or Jeremy please first review #65 the PR here, and then check for conflicts here?

.github/workflows/ci.yml Outdated Show resolved Hide resolved
@RobJY
Copy link
Contributor Author

RobJY commented Nov 5, 2024

Looks like everything is passing except this lint error:

files_unchanged: docs/images/nf-core-mcmicro_logo_dark.png does not match the template  

Not sure why a file we added is setting off the template "files_unchanged" error.
It's passing on my local system.
Looking into it. Please let me know if you have any suggestions. Thanks!
I'll try the bot fix above again.

@RobJY
Copy link
Contributor Author

RobJY commented Nov 5, 2024

@nf-core-bot fix linting

@RobJY
Copy link
Contributor Author

RobJY commented Nov 5, 2024

Hmm, no, bot didn't fix it.

@RobJY
Copy link
Contributor Author

RobJY commented Nov 5, 2024

Ok, that worked, but it seems like more of a workaround than a permanent fix. I just added docs/images/nf-core-mcmicro_logo_dark.png that lint was complaining about to the files_unchanged section of .nf-core.yml.
It doesn't seem like lint should be flagging this file as files_unchanged.
Still looking for a better solution.

Copy link
Contributor

@kbestak kbestak left a comment

Choose a reason for hiding this comment

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

Overall looks good to me! Great job sorting out the linting issues. I just left a couple of questions that are more of a technicality for clarification.

Copy link
Contributor

Choose a reason for hiding this comment

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

Is there a specific reason the module was changed? I have an open PR adding nf-test to basicpy nf-core/modules#6929 if there are some changes to be made to make the module more standardized feel free to add to that PR (it shouldn't be an issue since it's only in MCMICRO currently).

conf/ci.config Outdated Show resolved Hide resolved
.github/workflows/ci.yml Outdated Show resolved Hide resolved
nextflow.config Show resolved Hide resolved
@kbestak
Copy link
Contributor

kbestak commented Nov 5, 2024

Ok, that worked, but it seems like more of a workaround than a permanent fix. I just added docs/images/nf-core-mcmicro_logo_dark.png that lint was complaining about to the files_unchanged section of .nf-core.yml. It doesn't seem like lint should be flagging this file as files_unchanged. Still looking for a better solution.

I don't think this is an issue. Especially if the logo is updated down the line, this would be added to files_unchanged anyway.

Co-authored-by: Krešimir Beštak <86408271+kbestak@users.noreply.github.com>
Copy link
Contributor

@kbestak kbestak left a comment

Choose a reason for hiding this comment

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

LGTM 🚀

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

Successfully merging this pull request may close these issues.

3 participants