9494 VALGRIND : 0
9595 PYTEST_OPTS : ${{ env.PYTEST_OPTS_BASE }}
9696 run : |
97- uv run make -j $(nproc) check-source BASE_REF="origin/${{ github.base_ref }}"
97+ uv run make -j $(nproc) check-source BASE_REF="origin/${{ github.base_ref }}" CARGO=false CC=devtools/cc-nobuild SUPPRESS_GENERATION=1
9898 - name : Upload test results
9999 if : always()
100100 uses : actions/upload-artifact@v4
@@ -154,24 +154,26 @@ jobs:
154154 UBSAN : ${{ matrix.UBSAN }}
155155 VALGRIND : ${{ matrix.VALGRIND }}
156156 COMPAT : 1
157- CFG : ${{ matrix.CFG }}
158157 run : |
159158 set -e
160159 ./configure --enable-debugbuild CC="$COMPILER" ${{ matrix.COPTFLAGS_VAR }}
161160
162- uv run make -j $(nproc) testpack.tar.bz2
161+ uv run make -j $(nproc) testpack.tar.gz
163162
164163 # Rename now so we don't clash
165- mv testpack.tar.bz2 cln-${CFG} .tar.bz2
164+ mv testpack.tar.gz cln-${{ matrix. CFG }} .tar.gz
166165 - uses : actions/upload-artifact@v4
167166 with :
168- name : cln-${{ matrix.CFG }}.tar.bz2
169- path : cln-${{ matrix.CFG }}.tar.bz2
167+ name : cln-${{ matrix.CFG }}.tar.gz
168+ path : cln-${{ matrix.CFG }}.tar.gz
170169
171170 check-compiled-source :
172171 runs-on : ubuntu-24.04
173172 needs :
174173 - compile
174+ strategy :
175+ matrix :
176+ CFG : [compile-gcc]
175177 steps :
176178 - name : Checkout
177179 uses : actions/checkout@v4
@@ -193,17 +195,18 @@ jobs:
193195 - name : Download build
194196 uses : actions/download-artifact@v4
195197 with :
196- name : cln-compile-gcc. tar.bz2
198+ name : cln-${{ matrix.CFG }}. tar.gz
197199
198- - name : Unpack pre-built CLN
199- env :
200- CFG : ${{ matrix.CFG }}
200+ - name : Unpack prebuilt binaries
201201 run : |
202- tar -xaf cln-compile-gcc.tar.bz2
202+ git submodule sync && git submodule update --init --recursive
203+ # Make sure source appears older than what we're about to unpack
204+ find . -type f -print0 | xargs -0 touch -d yesterday
205+ tar xaf cln-${{ matrix.CFG }}.tar.gz
203206
204207 - name : Check
205208 run : |
206- uv run eatmydata make -j $(nproc) check-source-bolt check-python check-gen-updated check-doc
209+ uv run eatmydata make -j $(nproc) check-source-bolt check-python check-gen-updated check-doc CARGO=false CC=devtools/cc-nobuild SUPPRESS_GENERATION=1
207210 - name : Check rust packages
208211 run : cargo test --all
209212
@@ -248,12 +251,18 @@ jobs:
248251 - name : Download build
249252 uses : actions/download-artifact@v4
250253 with :
251- name : cln-${{ matrix.CFG }}.tar.bz2
254+ name : cln-${{ matrix.CFG }}.tar.gz
255+
256+ - name : Unpack prebuilt binaries
257+ run : |
258+ git submodule sync && git submodule update --init --recursive
259+ # Make sure source appears older than what we're about to unpack
260+ find . -type f -print0 | xargs -0 touch -d yesterday
261+ tar xaf cln-${{ matrix.CFG }}.tar.gz
252262
253263 - name : Check
254264 run : |
255- tar -xaf cln-${{ matrix.CFG }}.tar.bz2
256- uv run eatmydata make -j $(nproc) check-units installcheck VALGRIND=${{ matrix.VALGRIND }}
265+ uv run eatmydata make -j $(nproc) check-units installcheck VALGRIND=${{ matrix.VALGRIND }} CARGO=false CC=devtools/cc-nobuild SUPPRESS_GENERATION=1
257266
258267 check-fuzz :
259268 name : Run fuzz regression tests
@@ -323,13 +332,14 @@ jobs:
323332 - name : Download build
324333 uses : actions/download-artifact@v4
325334 with :
326- name : cln-${{ matrix.CFG }}.tar.bz2
335+ name : cln-${{ matrix.CFG }}.tar.gz
327336
328- - name : Unpack pre-built CLN
329- env :
330- CFG : ${{ matrix.CFG }}
337+ - name : Unpack prebuilt binaries
331338 run : |
332- tar -xaf cln-${CFG}.tar.bz2
339+ git submodule sync && git submodule update --init --recursive
340+ # Make sure source appears older than what we're about to unpack
341+ find . -type f -print0 | xargs -0 touch -d yesterday
342+ tar xaf cln-${{ matrix.CFG }}.tar.gz
333343
334344 - name : Fetch and unpack previous CLN
335345 run : |
@@ -344,6 +354,7 @@ jobs:
344354 # Loading the network from config.vars rather than the envvar is a terrible idea...
345355 sed -i 's/TEST_NETWORK=regtest/TEST_NETWORK=liquid-regtest/g' config.vars
346356 cat config.vars
357+ touch -d yesterday config.vars
347358
348359 - name : Test
349360 env :
@@ -373,7 +384,6 @@ jobs:
373384 timeout-minutes : 120
374385 env :
375386 RUST_PROFILE : small # Has to match the one in the compile step
376- PYTEST_OPTS : -vvv --junit-xml=report.xml --timeout=1800 --durations=10
377387 needs :
378388 - compile
379389 strategy :
@@ -439,13 +449,14 @@ jobs:
439449 - name : Download build
440450 uses : actions/download-artifact@v4
441451 with :
442- name : cln-${{ matrix.CFG }}.tar.bz2
452+ name : cln-${{ matrix.CFG }}.tar.gz
443453
444- - name : Unpack pre-built CLN
445- env :
446- CFG : ${{ matrix.CFG }}
454+ - name : Unpack prebuilt binaries
447455 run : |
448- tar -xaf cln-${CFG}.tar.bz2
456+ git submodule sync && git submodule update --init --recursive
457+ # Make sure source appears older than what we're about to unpack
458+ find . -type f -print0 | xargs -0 touch -d yesterday
459+ tar xaf cln-${{ matrix.CFG }}.tar.gz
449460
450461 - name : Switch network
451462 if : ${{ matrix.TEST_NETWORK == 'liquid-regtest' }}
@@ -460,12 +471,12 @@ jobs:
460471 EXPERIMENTAL_DUAL_FUND : ${{ matrix.EXPERIMENTAL_DUAL_FUND }}
461472 EXPERIMENTAL_SPLICING : ${{ matrix.EXPERIMENTAL_SPLICING }}
462473 COMPAT : 1
463- CFG : ${{ matrix.CFG }}
464474 SLOW_MACHINE : 1
465475 TEST_DEBUG : 1
466476 TEST_DB_PROVIDER : ${{ matrix.TEST_DB_PROVIDER }}
467477 TEST_NETWORK : ${{ matrix.TEST_NETWORK }}
468478 LIGHTNINGD_POSTGRES_NO_VACUUM : 1
479+ PYTEST_OPTS : ${{ env.PYTEST_OPTS_BASE }}
469480 run : |
470481 env
471482 cat config.vars
@@ -479,49 +490,18 @@ jobs:
479490 if-no-files-found : ignore
480491
481492 integration-valgrind :
482- name : Valgrind Test CLN ${{ matrix.name }}
493+ name : Valgrind Test CLN ( ${{ matrix.GROUP }}/12)
483494 runs-on : ubuntu-24.04
484495 timeout-minutes : 120
485496 env :
486497 RUST_PROFILE : small # Has to match the one in the compile step
487- CFG : compile-gcc
488- PYTEST_OPTS : -vvv --junit-xml=report.xml --timeout=1800 --durations=10 --test-group-random-seed=42
489498 needs :
490499 - compile
491500 strategy :
492501 fail-fast : false
493502 matrix :
494- include :
495- - NAME : Valgrind (01/10)
496- GROUP : 1
497- PYTEST_OPTS : --test-group=1 --test-group-count=10
498- - NAME : Valgrind (02/10)
499- GROUP : 2
500- PYTEST_OPTS : --test-group=2 --test-group-count=10
501- - NAME : Valgrind (03/10)
502- GROUP : 3
503- PYTEST_OPTS : --test-group=3 --test-group-count=10
504- - NAME : Valgrind (04/10)
505- GROUP : 4
506- PYTEST_OPTS : --test-group=4 --test-group-count=10
507- - NAME : Valgrind (05/10)
508- GROUP : 5
509- PYTEST_OPTS : --test-group=5 --test-group-count=10
510- - NAME : Valgrind (06/10)
511- GROUP : 6
512- PYTEST_OPTS : --test-group=6 --test-group-count=10
513- - NAME : Valgrind (07/10)
514- GROUP : 7
515- PYTEST_OPTS : --test-group=7 --test-group-count=10
516- - NAME : Valgrind (08/10)
517- GROUP : 8
518- PYTEST_OPTS : --test-group=8 --test-group-count=10
519- - NAME : Valgrind (09/10)
520- GROUP : 9
521- PYTEST_OPTS : --test-group=9 --test-group-count=10
522- - NAME : Valgrind (10/10)
523- GROUP : 10
524- PYTEST_OPTS : --test-group=10 --test-group-count=10
503+ CFG : [compile-gcc]
504+ GROUP : [1,2,3,4,5,6,7,8,9,10]
525505 steps :
526506 - name : Checkout
527507 uses : actions/checkout@v4
@@ -544,17 +524,22 @@ jobs:
544524 - name : Download build
545525 uses : actions/download-artifact@v4
546526 with :
547- name : cln-compile-gcc. tar.bz2
527+ name : cln-${{ matrix.CFG }}. tar.gz
548528
549- - name : Unpack build
550- run : tar -xvjf cln-compile-gcc.tar.bz2
529+ - name : Unpack prebuilt binaries
530+ run : |
531+ git submodule sync && git submodule update --init --recursive
532+ # Make sure source appears older than what we're about to unpack
533+ find . -type f -print0 | xargs -0 touch -d yesterday
534+ tar xaf cln-${{ matrix.CFG }}.tar.gz
551535
552536 - name : Test
553537 env :
554538 SLOW_MACHINE : 1
555539 TEST_DEBUG : 1
540+ PYTEST_OPTS : ${{ env.PYTEST_OPTS_BASE }} --test-group-random-seed=42
556541 run : |
557- VALGRIND=1 sg wireshark "uv run eatmydata pytest tests/ -n $(($(nproc) + 1)) ${PYTEST_OPTS} ${{ matrix.PYTEST_OPTS }}"
542+ VALGRIND=1 sg wireshark "uv run eatmydata pytest tests/ -n $(($(nproc) + 1)) ${PYTEST_OPTS} --test-group= ${{ matrix.GROUP }} --test-group-count=10 "
558543 - name : Upload test results
559544 if : always()
560545 uses : actions/upload-artifact@v4
@@ -564,56 +549,20 @@ jobs:
564549 if-no-files-found : ignore
565550
566551 integration-sanitizers :
567- name : Sanitizers Test CLN
552+ name : ASan/UBSan (${{ matrix.GROUP }}/12)
568553 runs-on : ubuntu-24.04
569554 timeout-minutes : 120
570555 env :
571556 RUST_PROFILE : small
572557 SLOW_MACHINE : 1
573558 TEST_DEBUG : 1
574- PYTEST_OPTS : -vvv --junit-xml=report.xml --timeout=1800 --durations=10 --test-group-random-seed=42
575559 needs :
576560 - compile
577561 strategy :
578562 fail-fast : false
579563 matrix :
580- include :
581- - NAME : ASan/UBSan (01/12)
582- GROUP : 1
583- PYTEST_OPTS : --test-group=1 --test-group-count=12
584- - NAME : ASan/UBSan (02/12)
585- GROUP : 2
586- PYTEST_OPTS : --test-group=2 --test-group-count=12
587- - NAME : ASan/UBSan (03/12)
588- GROUP : 3
589- PYTEST_OPTS : --test-group=3 --test-group-count=12
590- - NAME : ASan/UBSan (04/12)
591- GROUP : 4
592- PYTEST_OPTS : --test-group=4 --test-group-count=12
593- - NAME : ASan/UBSan (05/12)
594- GROUP : 5
595- PYTEST_OPTS : --test-group=5 --test-group-count=12
596- - NAME : ASan/UBSan (06/12)
597- GROUP : 6
598- PYTEST_OPTS : --test-group=6 --test-group-count=12
599- - NAME : ASan/UBSan (07/12)
600- GROUP : 7
601- PYTEST_OPTS : --test-group=7 --test-group-count=12
602- - NAME : ASan/UBSan (08/12)
603- GROUP : 8
604- PYTEST_OPTS : --test-group=8 --test-group-count=12
605- - NAME : ASan/UBSan (09/12)
606- GROUP : 9
607- PYTEST_OPTS : --test-group=9 --test-group-count=12
608- - NAME : ASan/UBSan (10/12)
609- GROUP : 10
610- PYTEST_OPTS : --test-group=10 --test-group-count=12
611- - NAME : ASan/UBSan (11/12)
612- GROUP : 11
613- PYTEST_OPTS : --test-group=11 --test-group-count=12
614- - NAME : ASan/UBSan (12/12)
615- GROUP : 12
616- PYTEST_OPTS : --test-group=12 --test-group-count=12
564+ CFG : [compile-clang-sanitizers]
565+ GROUP : [1,2,3,4,5,6,7,8,9,10,11,12]
617566 steps :
618567 - name : Checkout
619568 uses : actions/checkout@v4
@@ -635,14 +584,20 @@ jobs:
635584 - name : Download build
636585 uses : actions/download-artifact@v4
637586 with :
638- name : cln-compile-clang-sanitizers. tar.bz2
587+ name : cln-${{ matrix.CFG }}. tar.gz
639588
640- - name : Unpack build
641- run : tar -xvjf cln-compile-clang-sanitizers.tar.bz2
589+ - name : Unpack prebuilt binaries
590+ run : |
591+ git submodule sync && git submodule update --init --recursive
592+ # Make sure source appears older than what we're about to unpack
593+ find . -type f -print0 | xargs -0 touch -d yesterday
594+ tar xaf cln-${{ matrix.CFG }}.tar.gz
642595
643596 - name : Test
597+ env :
598+ PYTEST_OPTS : ${{ env.PYTEST_OPTS_BASE }} --test-group-random-seed=42
644599 run : |
645- sg wireshark "uv run eatmydata pytest tests/ -n $(($(nproc) + 1)) ${PYTEST_OPTS} ${{ matrix.PYTEST_OPTS }}"
600+ sg wireshark "uv run eatmydata pytest tests/ -n $(($(nproc) + 1)) ${PYTEST_OPTS} --test-group= ${{ matrix.GROUP }} --test-group-count=12 "
646601 - name : Upload test results
647602 if : always()
648603 uses : actions/upload-artifact@v4
@@ -658,10 +613,11 @@ jobs:
658613 timeout-minutes : 30
659614 strategy :
660615 fail-fast : false
616+ matrix :
617+ CFG : [compile-gcc]
661618 env :
662619 VALGRIND : 0
663620 GENERATE_EXAMPLES : 1
664- PYTEST_OPTS : -vvv --junit-xml=report.xml --timeout=1800 --durations=10
665621 TEST_NETWORK : regtest
666622 needs :
667623 - compile
@@ -686,13 +642,19 @@ jobs:
686642 - name : Download build
687643 uses : actions/download-artifact@v4
688644 with :
689- name : cln-compile-gcc. tar.bz2
690- - name : Unpack pre-built CLN
645+ name : cln-${{ matrix.CFG }}. tar.gz
646+ - name : Unpack prebuilt binaries
691647 run : |
692- tar -xaf cln-compile-gcc.tar.bz2
648+ git submodule sync && git submodule update --init --recursive
649+ # Make sure source appears older than what we're about to unpack
650+ find . -type f -print0 | xargs -0 touch -d yesterday
651+ tar xaf cln-${{ matrix.CFG }}.tar.gz
652+
693653 - name : Test
654+ env :
655+ PYTEST_OPTS : ${{ env.PYTEST_OPTS_BASE }}
694656 run : |
695- uv run eatmydata make -j $(($(nproc) + 1)) check-doc-examples
657+ uv run eatmydata make -j $(($(nproc) + 1)) check-doc-examples CARGO=false CC=devtools/cc-nobuild SUPPRESS_GENERATION=1
696658 - name : Upload test results
697659 if : always()
698660 uses : actions/upload-artifact@v4
@@ -707,7 +669,6 @@ jobs:
707669 timeout-minutes : 120
708670 env :
709671 RUST_PROFILE : small # Has to match the one in the compile step
710- PYTEST_OPTS : -vvv --junit-xml=report.xml --timeout=1800 --durations=10
711672 needs :
712673 - compile
713674 strategy :
@@ -753,24 +714,25 @@ jobs:
753714 - name : Download build
754715 uses : actions/download-artifact@v4
755716 with :
756- name : cln-${{ matrix.CFG }}.tar.bz2
717+ name : cln-${{ matrix.CFG }}.tar.gz
757718
758- - name : Unpack pre-built CLN
759- env :
760- CFG : ${{ matrix.CFG }}
719+ - name : Unpack prebuilt binaries
761720 run : |
762- tar -xaf cln-${CFG}.tar.bz2
721+ git submodule sync && git submodule update --init --recursive
722+ # Make sure source appears older than what we're about to unpack
723+ find . -type f -print0 | xargs -0 touch -d yesterday
724+ tar xaf cln-${{ matrix.CFG }}.tar.gz
763725
764726 - name : Test
765727 env :
766728 COMPILER : ${{ matrix.COMPILER }}
767729 COMPAT : 1
768- CFG : ${{ matrix.CFG }}
769730 SLOW_MACHINE : 1
770731 TEST_DEBUG : 1
771732 TEST_DB_PROVIDER : ${{ matrix.TEST_DB_PROVIDER }}
772733 TEST_NETWORK : ${{ matrix.TEST_NETWORK }}
773734 LIGHTNINGD_POSTGRES_NO_VACUUM : 1
735+ PYTEST_OPTS : ${{ env.PYTEST_OPTS_BASE }}
774736 run : |
775737 env
776738 cat config.vars
0 commit comments