1010 workflow_dispatch :
1111
1212jobs :
13+ # Stage 1: Download root fs for test suite
14+ rootfs :
15+ runs-on : ubuntu-24.04
16+ name : Cache rootfs
17+ steps :
18+ - name : Restore cached file
19+ uses : actions/cache@v5
20+ id : cache
21+ with :
22+ path : rootfs.tar.gz
23+ key : rootfs-v1
24+ - name : Download if missing
25+ if : steps.cache.outputs.cache-hit != 'true'
26+ run : wget -q https://code.phreaknet.org/bbs/rootfs.tar.gz
27+ # Stage 2: Actual Builds
1328 ubuntu-latest :
29+ needs : rootfs
1430 runs-on : ubuntu-24.04
1531 name : Ubuntu 24.04
1632 steps :
@@ -27,13 +43,20 @@ jobs:
2743 sudo make install
2844 sudo make samples
2945 sudo make tests
30- - name : Run tests
46+ - name : Fetch rootfs
47+ uses : actions/cache@v5
48+ with :
49+ path : rootfs.tar.gz
50+ key : rootfs-v1
51+ - name : Install rootfs
3152 run : |
3253 # rootfs needed for test_paging
33- ( cd /var/lib/lbbs && sudo wget -q https://code.phreaknet.org/bbs/rootfs. tar.gz && sudo tar -xzf rootfs.tar.gz && sudo mkdir -p /tmp/lbbs/rootfs )
54+ ( cd /var/lib/lbbs && sudo tar -xzf $GITHUB_WORKSPACE/ rootfs.tar.gz && sudo mkdir -p /tmp/lbbs/rootfs )
3455 ls -la /var/lib/lbbs/rootfs
35- sudo scripts/run_tests.sh
56+ - name : Run tests
57+ run : sudo scripts/run_tests.sh
3658 ubuntu-stable :
59+ needs : rootfs
3760 runs-on : ubuntu-22.04
3861 name : Ubuntu 22.04
3962 steps :
@@ -50,10 +73,18 @@ jobs:
5073 sudo make install
5174 sudo make samples
5275 sudo make tests
53- - name : Run tests
76+ - name : Fetch rootfs
77+ uses : actions/cache@v5
78+ with :
79+ path : rootfs.tar.gz
80+ key : rootfs-v1
81+ - name : Install rootfs
5482 run : |
55- ( cd /var/lib/lbbs && sudo wget -q https://code.phreaknet.org/bbs/rootfs.tar.gz && sudo tar -xzf rootfs.tar.gz && sudo mkdir -p /tmp/lbbs/rootfs )
56- sudo IGNORE_LIBBFD_MEMORY_LEAK_BUGS=1 scripts/run_tests.sh
83+ # rootfs needed for test_paging
84+ ( cd /var/lib/lbbs && sudo tar -xzf $GITHUB_WORKSPACE/rootfs.tar.gz && sudo mkdir -p /tmp/lbbs/rootfs )
85+ ls -la /var/lib/lbbs/rootfs
86+ - name : Run tests
87+ run : sudo IGNORE_LIBBFD_MEMORY_LEAK_BUGS=1 scripts/run_tests.sh
5788 without-optimization :
5889 runs-on : ubuntu-24.04
5990 name : Ubuntu 24.04, without optimization
82113 sudo rm /var/log/lbbs/bbs.log
83114 sudo make service
84115 with-sanitizer :
116+ needs : rootfs
85117 runs-on : ubuntu-24.04
86118 name : Ubuntu 24.04, under Address Sanitizer
87119 steps :
@@ -98,10 +130,18 @@ jobs:
98130 sudo make install
99131 sudo make samples
100132 sudo make tests
101- - name : Run tests
133+ - name : Fetch rootfs
134+ uses : actions/cache@v5
135+ with :
136+ path : rootfs.tar.gz
137+ key : rootfs-v1
138+ - name : Install rootfs
102139 run : |
103- ( cd /var/lib/lbbs && sudo wget -q https://code.phreaknet.org/bbs/rootfs.tar.gz && sudo tar -xzf rootfs.tar.gz && sudo mkdir -p /tmp/lbbs/rootfs )
104- sudo ASAN_RUN=1 scripts/run_tests.sh
140+ # rootfs needed for test_paging
141+ ( cd /var/lib/lbbs && sudo tar -xzf $GITHUB_WORKSPACE/rootfs.tar.gz && sudo mkdir -p /tmp/lbbs/rootfs )
142+ ls -la /var/lib/lbbs/rootfs
143+ - name : Run tests
144+ run : sudo ASAN_RUN=1 scripts/run_tests.sh
105145 debian-13 :
106146 runs-on : ubuntu-24.04
107147 name : Debian 13
0 commit comments