Skip to content

Commit ae4b93d

Browse files
ColelymanSnicker7mbowcut2claude
authored
Sam/pixi integration tests (#156) (#622)
* Guardrail dropdowns (#155) * Add discovery of Python packages (#151) * Fix Docker entrypoint * Attempt to fix Circle CI pip install * Run each CRISPResso command in the conda environment * Update `--base_editor_output` parameter name for Circle CI * Update tests Makefile and batch expected output * Fix QWC inference across amplicons (#137) * Mckay/be plot improvements (#136) * trying to get the figure to fit nicely, increased element size to 100 * custom figsize to display without cutting off increased figsize in report template * Allow messages to be served in CLI reports (#134) (#583) * Fix deletion at second position (#131) * Fix bug when there is a deletion starting at the second position This bug only happens when a deletion starts are the second position, before the fix, it would report that the deletion started at the first position. It is fixed now, so deletions at the second position are reported correctly. * Update CRISPRessoCOREResources.c due to change in .pyx * Add tests for find_indels_substitutions for deletions at the end * Fix 1bp deletions at the end, and off by one error This ensures that when a deletion occurs at the end of a read, the entire deletion is accounted for. * Update CRISPRessoCOREResources.c to reflect fixes for deletions at the end of alignments * Add extra asserts to deletion checks * Point to new test branch * Reafctor deletion_coordinates to go past the end of the string for deletions at the end of the sequence * Point tests to master * Allow messages to be served in CLI reports * Point to cole/messages test branch * Point tests back to master * point to tests branch * typo * testing github actions * remove test * point tests to master --------- * Update inferred QWC tests to reflect correct intended behavior * Fix inferring QWC to match intended behavior * Add more test cases and fix bug discovered in single bp QWC * Add even more test cases testing indels outside the QWC * Point tests to cole/fix-qwc-deletion * update plotly.js (#138) * Change order of amplicon inference alignment so that 1st amplicon is the reference This makes a difference because it changes the values of `s1inds`, and therefore the value of the inferred quantification window coordinates. * Point integration tests back to master * Update CHANGELOG.md --------- * Update setup.py and pyproject.toml to find all modules and packages * Convert pyproject.toml to Unix file endings --------- * Guardrail dropdowns * Revert changes to .c files * Closed guardrail warning by default * .c fix * Revert .c files to match master * Revert .c files back to master * Update CHANGELOG.md * Update CHANGELOG.md --------- * Run integration tests * Fix pixi env * Remove pro from pixi.toml * Pull branches * Adding Pro token * Add pip install kaleido for pro tests * Pro compare * Pin plotly * Pin kaleido * Fix kaleido pin * Fix pixi plotly pin * Ruff fix * Update integration_tests.yml Remove branch ref for Pro * Run the diffs and print the results in integration tests * Point tests to master --------- Co-authored-by: Samuel Nichols <Snic9004@gmail.com> Co-authored-by: mbowcut2 <55161542+mbowcut2@users.noreply.github.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent b86f85c commit ae4b93d

2 files changed

Lines changed: 27 additions & 29 deletions

File tree

.github/workflows/integration_tests.yml

Lines changed: 25 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -17,25 +17,24 @@ jobs:
1717
strategy:
1818
fail-fast: false
1919
matrix:
20-
include:
20+
pro: [false, true]
21+
group:
2122
- name: "Basic, Params, NHEJ"
22-
targets: "basic params nhej_native_merge"
23+
filter: "basic or params or nhej_native_merge"
2324
- name: "Editors"
24-
targets: "prime-editor base_editor"
25+
filter: "prime_editor or base_editor"
2526
- name: "BAM"
26-
targets: "bam bam-out bam-out-genome"
27+
filter: "bam"
2728
- name: "Batch, Compare, Aggregate"
28-
targets: "batch compare aggregate"
29+
filter: "batch or compare or aggregate"
2930
- name: "Pooled"
30-
targets: "pooled pooled-paired-sim pooled-prime-editing"
31-
- name: "Pooled Mixed Mode"
32-
targets: "pooled-mixed-mode pooled-mixed-mode-genome-demux"
31+
filter: "pooled"
3332
- name: "WGS, Asym"
34-
targets: "wgs asym-left asym-right asym-both"
33+
filter: "wgs or asym"
3534
- name: "VCF"
36-
targets: "vcf"
35+
filter: "vcf"
3736

38-
name: ${{ matrix.name }}
37+
name: "${{ matrix.group.name }} (Pro: ${{ matrix.pro }})"
3938

4039
steps:
4140
- uses: actions/checkout@v4
@@ -60,26 +59,25 @@ jobs:
6059
- name: Install CRISPResso
6160
run: pixi run -e test install
6261

63-
- name: Copy C2_tests repo
62+
- name: Checkout CRISPResso2_tests
6463
uses: actions/checkout@v4
6564
with:
6665
repository: edilytics/CRISPResso2_tests
6766
path: CRISPResso2_tests
6867

68+
- name: Checkout CRISPRessoPro
69+
if: matrix.pro
70+
uses: actions/checkout@v4
71+
with:
72+
repository: edilytics/CRISPRessoPro
73+
token: ${{ secrets.CRISPRESSOPRO_PAT }}
74+
path: CRISPRessoPro
75+
76+
- name: Install CRISPRessoPro
77+
if: matrix.pro
78+
run: pixi run -e test -- pip install -e CRISPRessoPro && pixi run -e test -- pip install kaleido==0.2.1
79+
6980
- name: Run Tests
7081
run: |
71-
# Disable set -e that setup-miniconda injects via ~/.profile,
72-
# since we handle errors explicitly with || failed=1
73-
set +e
74-
failed=0
75-
for target in ${{ matrix.targets }}; do
76-
echo "::group::Running $target"
77-
CRISPRESSO2_DIR=$(pwd) pixi run -e test -- make -C CRISPResso2_tests "$target" test print
78-
rc=$?
79-
if [ $rc -ne 0 ]; then
80-
echo "::error::Test '$target' failed with exit code $rc"
81-
failed=1
82-
fi
83-
echo "::endgroup::"
84-
done
85-
exit $failed
82+
pixi run -e test -- pytest CRISPResso2_tests/test_cli.py \
83+
-k "${{ matrix.group.filter }}" -v ${{ matrix.pro && '--pro' || '' }} --test --print

pixi.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ fastp = "*"
1818
bowtie2 = "*"
1919
samtools = "*"
2020
upsetplot = "*"
21-
plotly = "*"
21+
plotly = "==5.18.0"
2222
setuptools = "*"
2323
pip = "*"
2424

@@ -49,7 +49,7 @@ install = "pip install -e ."
4949
test = { cmd = "pytest tests --cov CRISPResso2", depends-on = ["install"] }
5050

5151
[feature.test.tasks.integration]
52-
cmd = "make $TARGETS test print"
52+
cmd = "pytest test_cli.py"
5353
cwd = "../CRISPResso2_tests"
5454

5555
[feature.lint.tasks]

0 commit comments

Comments
 (0)