Skip to content

Commit

Permalink
Merge branch 'master' into umitools_nftest
Browse files Browse the repository at this point in the history
  • Loading branch information
SPPearce authored Nov 19, 2024
2 parents a72b3ff + 2a1ee18 commit a3a97ba
Show file tree
Hide file tree
Showing 284 changed files with 12,159 additions and 2,237 deletions.
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ modules/nf-core/pints/caller/** @edmundmiller
modules/nf-core/preseq/ccurve/** @edmundmiller
modules/nf-core/preseq/lcextrap/** @edmundmiller
subworkflows/nf-core/homer/** @edmundmiller
modules/nf-core/**/Dockerfile @edmundmiller @maxulysse
100 changes: 100 additions & 0 deletions .github/actions/nf-test-action/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
name: "nf-test Action"
description: "Runs nf-test with common setup steps"
inputs:
profile:
description: "Profile to use"
required: true
shard:
description: "Shard number for this CI job"
required: true
total_shards:
description: "Total number of test shards(NOT the total number of matrix jobs)"
required: true
tags:
description: "Tags to test (`<tags>[,<tags>...]`)"
required: false

runs:
using: "composite"
steps:
- uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4
with:
distribution: "temurin"
java-version: "17"

- name: Setup Nextflow
uses: nf-core/setup-nextflow@v2
with:
version: "${{ env.NXF_VERSION }}"

- name: Set up Python
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5
with:
python-version: "3.11"

- name: Install nf-test
uses: nf-core/setup-nf-test@v1
with:
version: "${{ env.NFTEST_VERSION }}"
install-pdiff: true

- name: Setup apptainer
if: contains(inputs.profile, 'singularity')
uses: eWaterCycle/setup-apptainer@main

- name: Set up Singularity
if: contains(inputs.profile, 'singularity')
shell: bash
run: |
mkdir -p $NXF_SINGULARITY_CACHEDIR
mkdir -p $NXF_SINGULARITY_LIBRARYDIR
- name: Conda setup
if: ${{inputs.profile == 'conda'}}
uses: conda-incubator/setup-miniconda@d2e6a045a86077fb6cad6f5adf368e9076ddaa8d # v3
with:
auto-update-conda: true
conda-solver: libmamba
conda-remove-defaults: true

# Set up secrets
- name: Set up nextflow secrets
if: env.SENTIEON_ENCRYPTION_KEY != '' && env.SENTIEON_LICENSE_MESSAGE != ''
shell: bash
run: |
python -m pip install cryptography
nextflow secrets set SENTIEON_AUTH_DATA $(python3 tests/modules/nf-core/sentieon/license_message.py encrypt --key "$SENTIEON_ENCRYPTION_KEY" --message "$SENTIEON_LICENSE_MESSAGE")
# TODO Skip failing conda tests and document their failures
# https://github.com/nf-core/modules/issues/7017
- name: Run nf-test
shell: bash
env:
SENTIEON_LICSRVR_IP: ${{ env.SENTIEON_LICSRVR_IP }}
SENTIEON_AUTH_MECH: "GitHub Actions - token"
TAGS: ${{ inputs.tags && format('--tag {0}', inputs.tags) || '' }}
NFT_WORKDIR: "~"
run: |
nf-test test \
--profile=${{ inputs.profile }} \
--tap=test.tap \
--verbose \
--ci \
--changed-since HEAD^ \
--shard ${{ inputs.shard }}/${{ inputs.total_shards }} \
--filter process,workflow \
--follow-dependencies \
${{ env.TAGS }}
# TODO If no test.tap, then make one to spoof?
- uses: pcolby/tap-summary@0959cbe1d4422e62afc65778cdaea6716c41d936 # v1
if: ${{ inputs.path != '' }}
with:
path: >-
test.tap
- name: Clean up
if: always()
shell: bash
run: |
sudo rm -rf /home/ubuntu/tests/
184 changes: 184 additions & 0 deletions .github/conda_skip.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,184 @@
# TODO What do we do with these?
# I think we can require Docker,modules,Shard 1..Singularity,subworkflows,3 and skip the condas now
exclude:
- path: modules/nf-core/nf-test
- profile: conda
path: modules/nf-core/angsd/gl
- profile: conda
path: modules/nf-core/annotsv/installannotations
- profile: conda
path: modules/nf-core/happy/sompy
- profile: conda
path: modules/nf-core/backsub
- profile: conda
path: modules/nf-core/bakta/bakta
- profile: conda
path: modules/nf-core/bakta/baktadbdownload
- profile: conda
path: modules/nf-core/bases2fastq
- profile: conda
path: modules/nf-core/bcl2fastq
- profile: conda
path: modules/nf-core/bclconvert
- profile: conda
path: modules/nf-core/celesta
- profile: conda
path: modules/nf-core/cellpose
- profile: conda
path: modules/nf-core/cellranger/count
- profile: conda
path: modules/nf-core/cellranger/mkfastq
- profile: conda
path: modules/nf-core/cellranger/mkgtf
- profile: conda
path: modules/nf-core/cellranger/mkref
- profile: conda
path: modules/nf-core/cellranger/mkvdjref
- profile: conda
path: modules/nf-core/cellranger/multi
- profile: conda
path: modules/nf-core/cellranger/vdj
- profile: conda
path: modules/nf-core/checkqc
- profile: conda
path: modules/nf-core/custom/dumpsoftwareversions
- profile: conda
path: modules/nf-core/deepcell/mesmer
- profile: conda
path: modules/nf-core/deepsomatic
- profile: singularity
path: modules/nf-core/deepsomatic
- profile: conda
path: modules/nf-core/deepvariant
- profile: conda
path: modules/nf-core/deepvariant/callvariants
- profile: conda
path: modules/nf-core/deepvariant/makeexamples
- profile: conda
path: modules/nf-core/deepvariant/postprocessvariants
- profile: conda
path: modules/nf-core/deepvariant/rundeepvariant
- profile: conda
path: modules/nf-core/deepvariant/vcfstatsreport
- profile: conda
path: modules/nf-core/doubletdetection
- profile: conda
path: modules/nf-core/ensemblvep/vep
- profile: conda
path: modules/nf-core/fastk/fastk
- profile: conda
path: modules/nf-core/cellrangerarc/mkgtf
- profile: conda
path: modules/nf-core/fastk/histex
- profile: conda
path: modules/nf-core/fastk/merge
- profile: conda
path: modules/nf-core/fcs/fcsadaptor
- profile: conda
path: modules/nf-core/fcs/fcsgx
- profile: conda
path: modules/nf-core/ganon/buildcustom
- profile: conda
path: modules/nf-core/ganon/classify
- profile: conda
path: modules/nf-core/ganon/report
- profile: conda
path: modules/nf-core/ganon/table
- profile: conda
path: modules/nf-core/gatk4/cnnscorevariants
- profile: conda
path: modules/nf-core/gatk4/determinegermlinecontigploidy
- profile: conda
path: modules/nf-core/genescopefk
- profile: conda
path: modules/nf-core/ilastik/multicut
- profile: conda
path: modules/nf-core/ilastik/pixelclassification
- profile: conda
path: modules/nf-core/imputeme/vcftoprs
- profile: conda
path: modules/nf-core/mcstaging/imc2mc
- profile: conda
path: modules/nf-core/mcquant
- profile: conda
path: modules/nf-core/mcstaging/phenoimager2mc
- profile: conda
path: modules/nf-core/merquryfk/katcomp
- profile: conda
path: modules/nf-core/merquryfk/katgc
- profile: conda
path: modules/nf-core/merquryfk/merquryfk
- profile: conda
path: modules/nf-core/merquryfk/ploidyplot
- profile: conda
path: modules/nf-core/molkartgarage/clahe
- profile: conda
path: modules/nf-core/quartonotebook
- profile: conda
path: modules/nf-core/scimap/spatiallda
- profile: conda
path: modules/nf-core/sentieon/bwaindex
- profile: conda
path: modules/nf-core/sentieon/bwamem
- profile: conda
path: modules/nf-core/sentieon/datametrics
- profile: conda
path: modules/nf-core/sentieon/dedup
- profile: conda
path: modules/nf-core/sentieon/qualcal
- profile: conda
path: modules/nf-core/spaceranger/mkgtf
- profile: conda
path: modules/nf-core/spaceranger/mkref
- profile: conda
path: modules/nf-core/spaceranger/count
- profile: conda
path: modules/nf-core/spotiflow
- profile: conda
path: modules/nf-core/svanalyzer/svbenchmark
- profile: conda
path: modules/nf-core/universc
- profile: singularity
path: modules/nf-core/universc
- profile: conda
path: modules/nf-core/vt/decompose
- profile: singularity
path: modules/nf-core/bases2fastq
- profile: conda
path: modules/nf-core/wittyer
- profile: conda
path: modules/nf-core/islandpath
- profile: conda
path: modules/nf-core/scimap/mcmicro
- profile: conda
path: modules/nf-core/parabricks/fq2bammeth
- profile: docker_self_hosted
path: modules/nf-core/parabricks/fq2bammeth
- profile: singularity
path: modules/nf-core/parabricks/fq2bammeth
- profile: conda
path: modules/nf-core/parabricks/fq2bam
- profile: docker_self_hosted
path: modules/nf-core/parabricks/fq2bam
- profile: singularity
path: modules/nf-core/parabricks/fq2bam
- profile: conda
path: subworkflows/nf-core/vcf_annotate_ensemblvep
- profile: conda
path: subworkflows/nf-core/bcl_demultiplex
- profile: conda
path: subworkflows/nf-core/deepvariant
- profile: conda
path: subworkflows/nf-core/fastq_align_bamcmp_bwa
- profile: conda
path: subworkflows/nf-core/fastq_align_bwa
- profile: conda
path: subworkflows/nf-core/fasta_newick_epang_gappa
- profile: conda
path: modules/nf-core/xeniumranger/relabel
- profile: conda
path: modules/nf-core/xeniumranger/rename
- profile: conda
path: modules/nf-core/xeniumranger/resegment
- profile: conda
path: modules/nf-core/xeniumranger/import-segmentation
101 changes: 26 additions & 75 deletions .github/renovate.json5
Original file line number Diff line number Diff line change
@@ -1,79 +1,30 @@
{
$schema: "https://docs.renovatebot.com/renovate-schema.json",
extends: ["config:best-practices"],
vulnerabilityAlerts: {
labels: ["security"],
schedule: "at any time",
},
prHourlyLimit: 3,
platform: "github",
onboarding: false,
dependencyDashboard: true,
dependencyDashboardTitle: "Renovate Dashboard 🤖",
suppressNotifications: ["prIgnoreNotification"],
rebaseWhen: "conflicted",
reviewers: ["team:modules"],
assigneesFromCodeOwners: true,
gitAuthor: "nf-core-bot <[email protected]>",
prHeader: "## WARNING\n - [ ] I have made sure to update the singularity and conda images",
"pre-commit": {
enabled: true,
},
customManagers: [
// TODO waiting on https://github.com/nf-core/modules/pull/4080
// {
// customType: "regex",
// description: "Process Containers dependencies",
// fileMatch: ["(^|/)main\\.nf$"],
// matchStrings: [
// "\\s+'(?<depName>\\S+):(?<currentValue>.*\\-.*)' }\"\n",
// ],
// datasourceTemplate: "docker",
// },
// {
// customType: "regex",
// description: "Upgrade conda dependencies",
// fileMatch: ["(^|/)environment(.*).ya?ml$"],
// matchStrings: [
// '#\\s*renovate\\s+datasource=conda\\s+depName=(?<depName>.*?)\\s+-\\s*[\\w-]+\\s*==?\\s*"?(?<currentValue>.*)"?',
// '# renovate: datasource=conda depName=(?<depName>.*?)\\s+-\\s*[\\w-]+\\s*==?\\s*"?(?<currentValue>.*)"?',
// ],
// datasourceTemplate: "conda",
// },
// {
// customType: "regex",
// description: "Upgrade pypi dependencies inside conda environment files",
// fileMatch: ["(^|/)environment(.*).ya?ml$"],
// matchStrings: [
// "# renovate datasource=pypi\\s+-\\s*(?<depName>[\\w-]+)\\s*(\\[[\\w,\\s]+\\])?\\s*==?\\s*(?<currentValue>.*)",
// "# renovate: datasource=pypi\\s+-\\s*(?<depName>[\\w-]+)\\s*(\\[[\\w,\\s]+\\])?\\s*==?\\s*(?<currentValue>.*)",
// ],
// datasourceTemplate: "pypi",
// },
],
packageRules: [
{
matchDatasources: ["docker"],
registryUrls: ["quay.io"],
},
{
matchManagers: ["github-actions"],
automerge: true,
pinDigest: {
enabled: false,
},
matchPackageNames: ["/^nf-core//", "/^seqera/"],
},
{
matchManagers: ["github-actions"],
groupName: "GitHub Actions",
automerge: true,
schedule: ["before 9am"],
},
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"github>nf-core/ops//.github/renovate/default.json5",
"github>nf-core/ops//.github/renovate/process_updaters.json5"
],
"prHeader": "## WARNING\n - [ ] I have made sure to update the singularity and conda images",
"packageRules": [
{
automerge: true,
schedule: ["before 9am on Monday"],
matchPackageNames: ["/renovate-config-validator/"],
},
"matchDatasources": [
"conda",
"pypi",
"docker"
],
"automerge": false
}
],
"customManagers": [
{
"customType": "regex",
"fileMatch": [
"(^|/)(workflow-templates|\\.(?:github|gitea|forgejo)/(?:workflows|actions))/.+\\.ya?ml$",
"(^|/)action\\.ya?ml$"
],
"matchStrings": [
"# renovate: datasource=(?<datasource>[a-z-.]+?) depName=(?<depName>[^\\s]+?)(?: (?:lookupName|packageName)=(?<packageName>[^\\s]+?))?(?: versioning=(?<versioning>[^\\s]+?))?(?: extractVersion=(?<extractVersion>[^\\s]+?))?\\s+[A-Za-z0-9_]+?_VERSION\\s*:\\s*[\"']?(?<currentValue>.+?)[\"']?\\s"
]
}
]
}
Loading

0 comments on commit a3a97ba

Please sign in to comment.