22
33on :
44 push :
5- branches : [main, master, develop, claude/**]
5+ branches : [main, master, develop, claude/**, refactor/** ]
66 pull_request :
77 branches : [main, master, develop]
88 workflow_dispatch :
@@ -15,36 +15,17 @@ jobs:
1515 - name : Checkout repository
1616 uses : actions/checkout@v4
1717
18- - name : Setup Miniforge
19- uses : conda-incubator/setup-miniconda@v3
20- with :
21- miniforge-variant : Miniforge3
22- miniforge-version : latest
23- activate-environment : aatrnaseqpipe
24- use-mamba : true
25-
26- - name : Cache conda environment
27- uses : actions/cache@v3
28- with :
29- path : /usr/share/miniconda3/envs/aatrnaseqpipe
30- key : conda-${{ runner.os }}-${{ hashFiles('workflow/envs/aatrnaseqpipe-env.yml') }}
31-
32- - name : Install dependencies
33- shell : bash -l {0}
34- run : |
35- mamba env update -n aatrnaseqpipe -f workflow/envs/aatrnaseqpipe-env.yml
18+ - name : Setup Pixi
19+ uses : prefix-dev/setup-pixi@v0.9.3
3620
3721 - name : Verify Snakemake installation
38- shell : bash -l {0}
39- run : |
40- conda activate aatrnaseqpipe
41- snakemake --version
22+ run : pixi run snakemake --version
23+
24+ - name : Download test data
25+ run : pixi run dl-test-data
4226
4327 - name : Snakemake dry-run (syntax check)
44- shell : bash -l {0}
45- run : |
46- conda activate aatrnaseqpipe
47- snakemake -n --configfile=config/config-test.yml
28+ run : pixi run dry-run
4829
4930 pipeline-test :
5031 name : Pipeline Integration Test
@@ -54,57 +35,18 @@ jobs:
5435 - name : Checkout repository
5536 uses : actions/checkout@v4
5637
57- - name : Setup Miniforge
58- uses : conda-incubator/setup-miniconda@v3
59- with :
60- miniforge-variant : Miniforge3
61- miniforge-version : latest
62- activate-environment : aatrnaseqpipe
63- use-mamba : true
64-
65- - name : Cache conda environment
66- uses : actions/cache@v3
67- with :
68- path : /usr/share/miniconda3/envs/aatrnaseqpipe
69- key : conda-${{ runner.os }}-${{ hashFiles('workflow/envs/aatrnaseqpipe-env.yml') }}
70-
71- - name : Install dependencies
72- shell : bash -l {0}
73- run : |
74- mamba env update -n aatrnaseqpipe -f workflow/envs/aatrnaseqpipe-env.yml
38+ - name : Setup Pixi
39+ uses : prefix-dev/setup-pixi@v0.9.3
7540
7641 - name : Download test data
77- shell : bash -l {0}
78- run : |
79- bash .tests/dl_test_data.sh
80-
81- - name : Setup dorado
82- shell : bash -l {0}
83- run : |
84- conda activate aatrnaseqpipe
85- snakemake setup_dorado --cores 1 --configfile=config/config-test.yml
86-
87- - name : Download dorado model
88- shell : bash -l {0}
89- run : |
90- conda activate aatrnaseqpipe
91- snakemake dorado_model --cores 1 --configfile=config/config-test.yml
92-
93- - name : Setup modkit
94- shell : bash -l {0}
95- run : |
96- conda activate aatrnaseqpipe
97- snakemake setup_modkit --cores 1 --configfile=config/config-test.yml
42+ run : pixi run dl-test-data
9843
9944 - name : Run pipeline test (non-GPU rules only)
100- shell : bash -l {0}
10145 run : |
102- conda activate aatrnaseqpipe
10346 # Run merge_pods rule as a basic test (doesn't require GPU)
104- snakemake merge_pods --cores 2 --configfile=config/config-test.yml
47+ pixi run snakemake .tests/outputs/pod5/sample1/sample1.pod5 --cores 2 --configfile=config/config-test.yml
10548
10649 - name : Validate outputs
107- shell : bash -l {0}
10850 run : |
10951 # Check that expected output files were created
11052 if [ ! -d ".tests/outputs" ]; then
@@ -120,12 +62,15 @@ jobs:
12062 - name : Checkout repository
12163 uses : actions/checkout@v4
12264
65+ - name : Setup Pixi
66+ uses : prefix-dev/setup-pixi@v0.9.3
67+
12368 - name : Check config files syntax
12469 run : |
12570 # Validate YAML syntax
126- python3 -c "import yaml; yaml.safe_load(open('config/config-base.yml'))"
127- python3 -c "import yaml; yaml.safe_load(open('config/config-test.yml'))"
128- python3 -c "import yaml; yaml.safe_load(open('config/config-preprint.yml'))"
71+ pixi run python -c "import yaml; yaml.safe_load(open('config/config-base.yml'))"
72+ pixi run python -c "import yaml; yaml.safe_load(open('config/config-test.yml'))"
73+ pixi run python -c "import yaml; yaml.safe_load(open('config/config-preprint.yml'))"
12974 echo "All config files are valid YAML"
13075
13176 - name : Check samples files
0 commit comments