@@ -66,3 +66,126 @@ jobs:
6666 # gmake -C regression/cbmc test-paths-lifo
6767 # env PATH=$PATH:`pwd`/src/solvers gmake -C regression/cbmc test-cprover-smt2
6868 # # gmake -C jbmc/regression test-parallel JOBS=2
69+
70+ # This job takes approximately X to 34 minutes
71+ OpenBSD :
72+ runs-on : ubuntu-latest
73+ steps :
74+ - uses : actions/checkout@v3
75+ with :
76+ submodules : recursive
77+ - name : Prepare ccache
78+ uses : actions/cache@v3
79+ with :
80+ path : .ccache
81+ key : openbsd-7.4-gmake-${{ github.ref }}-${{ github.sha }}-PR
82+ restore-keys : |
83+ openbsd-7.4-gmake-${{ github.ref }}
84+ openbsd-7.4-gmake
85+ - name : ccache environment
86+ run : |
87+ echo "CCACHE_BASEDIR=$PWD" >> $GITHUB_ENV
88+ echo "CCACHE_DIR=$PWD/.ccache" >> $GITHUB_ENV
89+ - name : Build and Test
90+ uses : cross-platform-actions/action@v0.21.1
91+ with :
92+ operating_system : openbsd
93+ version : ' 7.4'
94+ hypervisor : qemu
95+ run : |
96+ echo "Fetch dependencies"
97+ sudo pkg_add -v bash gmake llvm%16 git python3 bison ccache parallel z3
98+ sudo ln -s $(which llvm-ar-16) /usr/local/bin/llvm-ar
99+ echo "Fetch JBMC dependencies"
100+ sudo pkg_add -v jdk%1.8 wget maven
101+ echo "Zero ccache stats and limit in size"
102+ export CCACHE_BASEDIR=$PWD
103+ export CCACHE_DIR=$PWD/.ccache
104+ ccache -z --max-size=500M
105+ ccache -p
106+ echo "Build with gmake"
107+ gmake -C src minisat2-download
108+ # we only build util.a to keep job execution time in check
109+ gmake -C src -j2 CXX="ccache clang++" util.dir
110+ # # don't do JBMC so as to keep the overall time in check
111+ # gmake -C src -j2 CXX="ccache clang++"
112+ # # gmake -C jbmc/src setup-submodules
113+ # # gmake -C jbmc/src -j2 CXX="ccache clang++"
114+ # gmake -C unit "CXX=ccache clang++"
115+ # # gmake -C jbmc/unit "CXX=ccache clang++"
116+ # echo "Print ccache stats"
117+ # ccache -s
118+ # echo "Checking completeness of help output"
119+ # scripts/check_help.sh clang++
120+ # echo "Run unit tests"
121+ # gmake -C unit test
122+ # # gmake -C jbmc/unit test
123+ # echo "Running expected failure tests"
124+ # gmake TAGS='[!shouldfail]' -C unit test
125+ # # gmake TAGS='[!shouldfail]' -C jbmc/unit test
126+ # echo "Run regression tests"
127+ # gmake -C regression test-parallel JOBS=2
128+ # gmake -C regression/cbmc test-paths-lifo
129+ # env PATH=$PATH:`pwd`/src/solvers gmake -C regression/cbmc test-cprover-smt2
130+ # # gmake -C jbmc/regression test-parallel JOBS=2
131+
132+ # This job takes approximately X to 21 minutes
133+ NetBSD :
134+ runs-on : ubuntu-latest
135+ steps :
136+ - uses : actions/checkout@v3
137+ with :
138+ submodules : recursive
139+ - name : Prepare ccache
140+ uses : actions/cache@v3
141+ with :
142+ path : .ccache
143+ key : netbsd-9.3-gmake-${{ github.ref }}-${{ github.sha }}-PR
144+ restore-keys : |
145+ netbsd-9.3-gmake-${{ github.ref }}
146+ netbsd-9.3-gmake
147+ - name : ccache environment
148+ run : |
149+ echo "CCACHE_BASEDIR=$PWD" >> $GITHUB_ENV
150+ echo "CCACHE_DIR=$PWD/.ccache" >> $GITHUB_ENV
151+ - name : Build and Test
152+ uses : cross-platform-actions/action@v0.21.1
153+ with :
154+ operating_system : netbsd
155+ version : ' 9.3'
156+ hypervisor : qemu
157+ run : |
158+ echo "Fetch dependencies"
159+ export PATH=/usr/pkg/sbin:/usr/pkg/bin:$PATH
160+ export PKG_PATH=https://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/amd64/9.3/All/
161+ sudo pkgin -y install bash gmake git python311 patch flex bison ccache parallel z3
162+ sudo ln -s $(which python3.11) /usr/pkg/bin/python3
163+ echo "Fetch JBMC dependencies"
164+ sudo pkgin -y install openjdk8 wget apache-maven
165+ echo "Zero ccache stats and limit in size"
166+ export CCACHE_BASEDIR=$PWD
167+ export CCACHE_DIR=$PWD/.ccache
168+ ccache -z --max-size=500M
169+ ccache -p
170+ echo "Build with gmake"
171+ gmake -C src minisat2-download
172+ # we only build util.a to keep job execution time in check
173+ gmake -C src -j2 CXX="ccache g++" util.dir
174+ # # don't do JBMC so as to keep the overall time in check
175+ # gmake -C src -j2 CXX="ccache g++"
176+ # # gmake -C jbmc/src setup-submodules
177+ # # gmake -C jbmc/src -j2 CXX="ccache g++"
178+ # gmake -C unit "CXX=ccache g++"
179+ # # gmake -C jbmc/unit "CXX=ccache g++"
180+ # echo "Print ccache stats"
181+ # ccache -s
182+ # echo "Checking completeness of help output"
183+ # scripts/check_help.sh g++
184+ # echo "Run unit tests"
185+ # # ignore failures for the moment
186+ # gmake -C unit test
187+ # # gmake -C jbmc/unit test
188+ # echo "Running expected failure tests"
189+ # gmake TAGS='[!shouldfail]' -C unit test
190+ # # gmake TAGS='[!shouldfail]' -C jbmc/unit test
191+ # echo "Run regression tests"
0 commit comments