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

[DO NOT MERGE] Test dynamic sharding step #7274

Open
wants to merge 87 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 39 commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
06bfb91
add filter step to exclude some tests for some profiles
mashehu Jan 7, 2025
08fd007
remove unnecessary code
mashehu Jan 7, 2025
7dd2663
test skip step
mashehu Jan 7, 2025
7bbb32c
switch to jq
mashehu Jan 7, 2025
46e5a71
fix jq syntax
mashehu Jan 7, 2025
0eae320
use json file instead
mashehu Jan 7, 2025
f70eba5
handle empty values
mashehu Jan 7, 2025
43c49e9
try simpler json structure
mashehu Jan 7, 2025
2976b9a
parse the json file correctly
mashehu Jan 7, 2025
94ad6da
simplified logic
mashehu Jan 9, 2025
e623a34
use compact json output
mashehu Jan 9, 2025
a29ee78
fix output format
mashehu Jan 9, 2025
c1df147
Merge branch 'master' into test-skip-step
mashehu Jan 9, 2025
5630013
add more logging
mashehu Jan 9, 2025
c5e1a12
also print the result
mashehu Jan 9, 2025
e829106
check for path prefixes
mashehu Jan 9, 2025
147dc63
change logic a bit
mashehu Jan 9, 2025
bfeecef
fix logging
mashehu Jan 9, 2025
c743a7a
don't run start nf-test if not tests in path
mashehu Jan 9, 2025
997cdb1
fix syntax
mashehu Jan 9, 2025
6655af1
use correct variable names
mashehu Jan 9, 2025
f8e7a8e
fix inputs
mashehu Jan 9, 2025
0923ef3
test multiple paths
mashehu Jan 9, 2025
4859ad1
fix logic
mashehu Jan 9, 2025
2a13930
nicer debug logs
mashehu Jan 9, 2025
cc9819b
try different approach to logging
mashehu Jan 9, 2025
bca2025
fix syntax
mashehu Jan 9, 2025
0ee99cc
go back to old style logging
mashehu Jan 9, 2025
bb0cd7d
try nicer format
mashehu Jan 9, 2025
f532bd1
try fixing the tap summary
mashehu Jan 9, 2025
c8485d6
new approach
mashehu Jan 9, 2025
6ef91f6
test not skipping anything
mashehu Jan 9, 2025
640dcea
add name to summary step
mashehu Jan 9, 2025
65981b7
fix typo
mashehu Jan 9, 2025
dd62d8c
skip one test
mashehu Jan 9, 2025
066e4f0
inspect tap file
mashehu Jan 9, 2025
91605ef
try custom tap parsing
mashehu Jan 9, 2025
2fb0bdb
try using a shared summary
mashehu Jan 9, 2025
0618ff6
remove debugging
mashehu Jan 9, 2025
1e15ff3
first version of dynamic sharding
mashehu Jan 9, 2025
4a6100c
rename nf-test-shard to get-shards action
mashehu Jan 13, 2025
2d05e52
switch to github_output
mashehu Jan 13, 2025
9eb17d7
add dynamic sharding to gpu tests
mashehu Jan 13, 2025
9f72938
rename gpu-tests action to nf-test-gpu
mashehu Jan 13, 2025
e4d97d0
skip get-shards step if no test-changes were detected
mashehu Jan 13, 2025
4cd203c
use correct nf-test dry-run settings
mashehu Jan 13, 2025
7d30358
handle empty tags
mashehu Jan 13, 2025
c8767c5
add fallback value
mashehu Jan 13, 2025
c66ccdf
fix input path variable
mashehu Jan 13, 2025
9838306
debug paths
mashehu Jan 13, 2025
7b91471
try a different way for paths input
mashehu Jan 13, 2025
6863bae
use correct variable name
mashehu Jan 13, 2025
ffa3e37
remove quotes
mashehu Jan 13, 2025
5a3fc8e
fix if clause
mashehu Jan 13, 2025
d0a8f1c
use correct step name
mashehu Jan 13, 2025
58c0373
fix "needs" variable
mashehu Jan 13, 2025
2bde5a5
add gpu test
mashehu Jan 13, 2025
5401002
remove set output step
mashehu Jan 13, 2025
7cf48cf
try combining profiles as described in nf-test docs
mashehu Jan 13, 2025
c917481
use github string manipulation
mashehu Jan 13, 2025
e6e1b48
make sure confirm-pass requires passed tests
mashehu Jan 13, 2025
1e43103
new way to combine profiles
mashehu Jan 13, 2025
15b6d7c
revert profile changes, add debug output to nf-test
mashehu Jan 13, 2025
bb1fb8a
set pdiff options
mashehu Jan 13, 2025
8c8ab75
Merge branch 'master' into test-skip-step
mashehu Jan 13, 2025
f9d112e
Merge branch 'master' of github.com:nf-core/modules into test-skip-step
mashehu Jan 13, 2025
4a7d084
optimize filtering step
mashehu Jan 13, 2025
5b1e5c8
Merge branch 'test-skip-step' of github.com:nf-core/modules into test…
mashehu Jan 13, 2025
0efd46e
fix variable names
mashehu Jan 13, 2025
e1bf053
add sharding output
mashehu Jan 13, 2025
6b7e937
fix output
mashehu Jan 13, 2025
7c1f60c
fix gpu test yml
mashehu Jan 13, 2025
a4b36f2
add debugging
mashehu Jan 13, 2025
6408571
fix output format
mashehu Jan 13, 2025
f2810cc
fix syntax
mashehu Jan 13, 2025
20bdefa
fix index
mashehu Jan 13, 2025
a8c2392
simplify shard step
mashehu Jan 13, 2025
55a5ac3
Merge branch 'master' of github.com:nf-core/modules into test-skip-step
mashehu Jan 13, 2025
bcb615b
Merge branch 'test-skip-step' of github.com:nf-core/modules into test…
mashehu Jan 13, 2025
4942acf
revert optimized filter-paths
mashehu Jan 13, 2025
7100921
include changes from add-shard-counting
mashehu Jan 16, 2025
3cd3e60
Merge branch 'master' into test-skip-step
mashehu Jan 16, 2025
7b4dbb6
run on self-hosted runners
mashehu Jan 16, 2025
eceb3c6
add debug step
mashehu Jan 20, 2025
a058c94
try different value for if-clause
mashehu Jan 20, 2025
88ab9d5
Merge branch 'master' into test-skip-step
mashehu Jan 20, 2025
9a38fea
fix confirm-pass logic
mashehu Jan 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 33 additions & 6 deletions .github/actions/nf-test-action/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,12 +83,39 @@ runs:
--filter process,workflow \
${{ inputs.paths }}

# TODO If no test.tap, then make one to spoof?
- uses: pcolby/tap-summary@0959cbe1d4422e62afc65778cdaea6716c41d936 # v1
if: ${{ inputs.path != '' }}
with:
path: >-
test.tap
# Save the absolute path of the test.tap file to the output
echo "tap_file_path=$(realpath test.tap)" >> $GITHUB_OUTPUT

- name: Generate test summary
if: always()
shell: bash
run: |
# Add header if it doesn't exist (using a token file to track this)
if [ ! -f ".summary_header" ]; then
echo "# 🚀 nf-test Results" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "| Status | Test Name | Profile | Shard |" >> $GITHUB_STEP_SUMMARY
echo "|:------:|-----------|---------|-------|" >> $GITHUB_STEP_SUMMARY
touch .summary_header
fi

if [ -f test.tap ]; then
while IFS= read -r line; do
if [[ $line =~ ^ok ]]; then
test_name="${line#ok }"
# Remove the test number from the beginning
test_name="${test_name#* }"
echo "| ✅ | ${test_name} | ${{ inputs.profile }} | ${{ inputs.shard }}/${{ inputs.total_shards }} |" >> $GITHUB_STEP_SUMMARY
elif [[ $line =~ ^not\ ok ]]; then
test_name="${line#not ok }"
# Remove the test number from the beginning
test_name="${test_name#* }"
echo "| ❌ | ${test_name} | ${{ inputs.profile }} | ${{ inputs.shard }}/${{ inputs.total_shards }} |" >> $GITHUB_STEP_SUMMARY
fi
done < test.tap
else
echo "| ⚠️ | No test results found | ${{ inputs.profile }} | ${{ inputs.shard }}/${{ inputs.total_shards }} |" >> $GITHUB_STEP_SUMMARY
fi

- name: Clean up
if: always()
Expand Down
194 changes: 0 additions & 194 deletions .github/conda_skip.yml

This file was deleted.

93 changes: 93 additions & 0 deletions .github/skip_nf_test.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
{
"conda": [
"modules/nf-core/angsd/gl",
"modules/nf-core/annotsv/installannotations",
"modules/nf-core/backsub",
"modules/nf-core/bakta/bakta",
"modules/nf-core/bakta/baktadbdownload",
"modules/nf-core/bases2fastq",
"modules/nf-core/bcl2fastq",
"modules/nf-core/bclconvert",
"modules/nf-core/celesta",
"modules/nf-core/cellpose",
"modules/nf-core/cellranger/count",
"modules/nf-core/cellranger/mkfastq",
"modules/nf-core/cellranger/mkgtf",
"modules/nf-core/cellranger/mkref",
"modules/nf-core/cellranger/mkvdjref",
"modules/nf-core/cellranger/multi",
"modules/nf-core/cellranger/vdj",
"modules/nf-core/cellrangerarc/mkgtf",
"modules/nf-core/checkqc",
"modules/nf-core/custom/dumpsoftwareversions",
"modules/nf-core/deepcell/mesmer",
"modules/nf-core/deepsomatic",
"modules/nf-core/deepvariant",
"modules/nf-core/deepvariant/callvariants",
"modules/nf-core/deepvariant/makeexamples",
"modules/nf-core/deepvariant/postprocessvariants",
"modules/nf-core/deepvariant/rundeepvariant",
"modules/nf-core/deepvariant/vcfstatsreport",
"modules/nf-core/doubletdetection",
"modules/nf-core/ensemblvep/vep",
"modules/nf-core/fastk/fastk",
"modules/nf-core/fastk/histex",
"modules/nf-core/fastk/merge",
"modules/nf-core/fcs/fcsadaptor",
"modules/nf-core/fcs/fcsgx",
"modules/nf-core/ganon/buildcustom",
"modules/nf-core/ganon/classify",
"modules/nf-core/ganon/report",
"modules/nf-core/ganon/table",
"modules/nf-core/gatk4/cnnscorevariants",
"modules/nf-core/gatk4/determinegermlinecontigploidy",
"modules/nf-core/genescopefk",
"modules/nf-core/happy/sompy",
"modules/nf-core/ilastik/multicut",
"modules/nf-core/ilastik/pixelclassification",
"modules/nf-core/imputeme/vcftoprs",
"modules/nf-core/islandpath",
"modules/nf-core/mcquant",
"modules/nf-core/mcstaging/imc2mc",
"modules/nf-core/mcstaging/phenoimager2mc",
"modules/nf-core/merquryfk/katcomp",
"modules/nf-core/merquryfk/katgc",
"modules/nf-core/merquryfk/merquryfk",
"modules/nf-core/merquryfk/ploidyplot",
"modules/nf-core/molkartgarage/clahe",
"modules/nf-core/parabricks",
"modules/nf-core/quartonotebook",
"modules/nf-core/scimap/mcmicro",
"modules/nf-core/scimap/spatiallda",
"modules/nf-core/sentieon/bwaindex",
"modules/nf-core/sentieon/bwamem",
"modules/nf-core/sentieon/datametrics",
"modules/nf-core/sentieon/dedup",
"modules/nf-core/sentieon/qualcal",
"modules/nf-core/spaceranger/count",
"modules/nf-core/spaceranger/mkgtf",
"modules/nf-core/spaceranger/mkref",
"modules/nf-core/spotiflow",
"modules/nf-core/svanalyzer/svbenchmark",
"modules/nf-core/universc",
"modules/nf-core/vt/decompose",
"modules/nf-core/wittyer",
"modules/nf-core/xeniumranger/import-segmentation",
"modules/nf-core/xeniumranger/relabel",
"modules/nf-core/xeniumranger/rename",
"modules/nf-core/xeniumranger/resegment",
"subworkflows/nf-core/bcl_demultiplex",
"subworkflows/nf-core/deepvariant",
"subworkflows/nf-core/fasta_newick_epang_gappa",
"subworkflows/nf-core/fastq_align_bamcmp_bwa",
"subworkflows/nf-core/fastq_align_bwa",
"subworkflows/nf-core/vcf_annotate_ensemblvep"
],
"docker_self_hosted": ["modules/nf-core/parabricks"],
"singularity": [
"modules/nf-core/bases2fastq",
"modules/nf-core/deepsomatic",
"modules/nf-core/parabricks",
"modules/nf-core/universc"
]
}
Loading
Loading