45
45
prerelease : false
46
46
47
47
ubuntu-22_04-package :
48
- name : Package for Ubuntu 22.04
48
+ name : Package .deb
49
49
runs-on : ubuntu-22.04
50
50
needs : [perform-draft-release]
51
51
outputs :
@@ -64,17 +64,17 @@ jobs:
64
64
save-always : true
65
65
path : .ccache
66
66
key : ${{ runner.os }}-22.04-make-gcc-${{ github.ref }}-${{ github.sha }}-PR
67
- restore-keys : |
68
- ${{ runner.os }}-22.04-make-gcc-${{ github.ref }}
69
- ${{ runner.os }}-22.04-make-gcc
67
+ restore-keys : ${{ runner.os }}-22.04-make-gcc
70
68
- name : ccache environment
71
69
run : |
72
70
echo "CCACHE_BASEDIR=$PWD" >> $GITHUB_ENV
73
71
echo "CCACHE_DIR=$PWD/.ccache" >> $GITHUB_ENV
74
72
- name : Get minisat
75
73
run : make -C lib/cbmc/src minisat2-download
76
74
- name : Build with make
77
- run : make -C src -j4 CXX="ccache g++"
75
+ run : |
76
+ # -static-libstdc++ is insufficient, owing to varying GLIBC versions
77
+ make -C src -j4 CXX="ccache g++" LINKFLAGS="-static"
78
78
- name : Run the ebmc tests with SAT
79
79
run : make -C regression/ebmc test
80
80
- name : Run the verilog tests
@@ -100,10 +100,11 @@ jobs:
100
100
Description: The EBMC Model Checker
101
101
EOM
102
102
sudo chown root:root -R ebmc-${VERSION}
103
- dpkg -b ebmc-${VERSION}
103
+ # we give -Zxz since older Debian versions do not uncompress zstd
104
+ dpkg-deb -Zxz -b ebmc-${VERSION}
104
105
deb_package_name="$(ls *.deb)"
105
106
echo "deb_package_path=$PWD/$deb_package_name" >> $GITHUB_OUTPUT
106
- echo "deb_package_name=ubuntu-22.04- $deb_package_name" >> $GITHUB_OUTPUT
107
+ echo "deb_package_name=$deb_package_name" >> $GITHUB_OUTPUT
107
108
- name : Upload binary packages
108
109
uses : actions/upload-release-asset@v1
109
110
env :
@@ -115,7 +116,7 @@ jobs:
115
116
asset_content_type : application/x-deb
116
117
117
118
centos8-package :
118
- name : Package for CentOS 8
119
+ name : Package .rpm
119
120
runs-on : ubuntu-22.04
120
121
needs : [perform-draft-release]
121
122
outputs :
@@ -126,10 +127,12 @@ jobs:
126
127
- name : Install Packages
127
128
run : |
128
129
sed -i -e "s|mirrorlist=|#mirrorlist=|g" -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-Linux-*
129
- yum -y install make gcc-c++ flex bison git rpmdevtools wget
130
- wget --no-verbose https://github.com/ccache/ccache/releases/download/v4.8.3/ccache-4.8.3-linux-x86_64.tar.xz
131
- tar xJf ccache-4.8.3-linux-x86_64.tar.xz
132
- cp ccache-4.8.3-linux-x86_64/ccache /usr/bin/
130
+ yum install -y dnf-plugins-core
131
+ yum config-manager --set-enabled powertools
132
+ yum -y install make gcc-c++ flex bison git rpmdevtools wget libstdc++-static
133
+ wget --no-verbose https://github.com/ccache/ccache/releases/download/v4.9.1/ccache-4.9.1-linux-x86_64.tar.xz
134
+ tar xJf ccache-4.9.1-linux-x86_64.tar.xz
135
+ cp ccache-4.9.1-linux-x86_64/ccache /usr/bin/
133
136
- name : cache for ccache
134
137
uses : actions/cache@v4
135
138
with :
@@ -147,7 +150,9 @@ jobs:
147
150
- name : Get minisat
148
151
run : make -C lib/cbmc/src minisat2-download
149
152
- name : Build with make
150
- run : make CXX="ccache g++ -Wno-class-memaccess" LIBS="-lstdc++fs" -C src -j4
153
+ run : |
154
+ # -static-libstdc++ suffices -- tested on CentOS, Fedora, Amazon Linux
155
+ make CXX="ccache g++ -Wno-class-memaccess" LIBS="-lstdc++fs" LINKFLAGS="-static-libstdc++" -C src -j4
151
156
- name : Print ccache stats
152
157
run : ccache -s
153
158
- name : Run the ebmc tests with SAT
@@ -196,7 +201,7 @@ jobs:
196
201
(cd ~/rpmbuild/SPECS ; rpmbuild -v -bb ebmc.spec )
197
202
rpm_package_name=ebmc-${VERSION}-1.x86_64.rpm
198
203
echo "rpm_package_path=$HOME/rpmbuild/RPMS/x86_64/$rpm_package_name" >> $GITHUB_OUTPUT
199
- echo "rpm_package_name=centos8- $rpm_package_name" >> $GITHUB_OUTPUT
204
+ echo "rpm_package_name=$rpm_package_name" >> $GITHUB_OUTPUT
200
205
- name : Upload binary packages
201
206
uses : actions/upload-release-asset@v1
202
207
env :
@@ -217,23 +222,24 @@ jobs:
217
222
EBMC_VERSION : ${{ needs.get-version-information.outputs.version }}
218
223
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
219
224
run : |
220
- cat > body << EOM
225
+ cat << EOM > body
221
226
This is EBMC version ${{ env.EBMC_VERSION }}.
222
227
223
- ## Ubuntu
228
+ ## Debian, Ubuntu and derivates
224
229
225
- On Ubuntu, install EBMC by downloading the *.deb package below for your version of Ubuntu and install with
230
+ For Debian and Ubuntu, install EBMC by downloading the *.deb package below and then run
226
231
227
- `` `sh
232
+ \`\`\ `sh
228
233
dpkg -i ${{ needs.ubuntu-22_04-package.outputs.deb_package_name }}
229
- `` `
234
+ \`\`\ `
230
235
231
- ## CentOS
236
+ ## Red Hat Linux and derivates
232
237
233
- On CentOS, install EBMC by downloading the *.rpm package below for your version of CentOS and install with
238
+ For Red Hat, CentOS, Fedora, Amazon Linux,
239
+ install EBMC by downloading the *.rpm package below and then run
234
240
235
- `` `sh
241
+ \`\`\ `sh
236
242
rpm -i ${{ needs.centos8-package.outputs.rpm_package_name }}
237
- `` `
243
+ \`\`\ `
238
244
EOM
239
- gh release edit ebmc-${{ env.EBMC_VERSION }} --draft=false --notes-file body
245
+ gh release edit ebmc-${{ env.EBMC_VERSION }} --repo ${{ github.repository }} -- draft=false --notes-file body
0 commit comments