Skip to content

Commit 6ac7ea2

Browse files
committed
CI jobs: upgrade CVC5 from 1.0.0 to 1.1.2
Since version 1.0.1, CVC5 also releases a binary for macOS ARM, which will enable CBMC CI runs on that platform (see diffblue#8382). More recent releases of CVC5, however, have also moved to releasing zip archives rather than single binaries. This necessitates an overhaul of the rules to download and install CVC5 beyond just changing the version number.
1 parent 2523f2c commit 6ac7ea2

File tree

3 files changed

+33
-41
lines changed

3 files changed

+33
-41
lines changed

.github/workflows/coverage.yaml

+3-4
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ on:
55
pull_request:
66
branches: [ develop ]
77
env:
8-
cvc5-version: "1.0.0"
8+
cvc5-version: "1.1.2"
99
linux-vcpus: 4
1010
windows-vcpus: 4
1111

@@ -36,9 +36,8 @@ jobs:
3636
run: z3 --version
3737
- name: Download cvc-5 from the releases page and make sure it can be deployed
3838
run: |
39-
wget -O cvc5 https://github.com/cvc5/cvc5/releases/download/cvc5-${{env.cvc5-version}}/cvc5-Linux
40-
chmod u+x cvc5
41-
mv cvc5 /usr/local/bin
39+
wget https://github.com/cvc5/cvc5/releases/download/cvc5-${{env.cvc5-version}}/cvc5-Linux-shared.zip
40+
unzip -j -d /usr/local/bin cvc5-Linux-shared.zip cvc5-Linux-shared/bin/cvc5
4241
cvc5 --version
4342
- name: Prepare ccache
4443
uses: actions/cache@v4

.github/workflows/pull-request-checks.yaml

+25-30
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ on:
55
pull_request:
66
branches: [ develop ]
77
env:
8-
cvc5-version: "1.0.0"
8+
cvc5-version: "1.1.2"
99
linux-vcpus: 4
1010
windows-vcpus: 4
1111

@@ -29,9 +29,8 @@ jobs:
2929
run: z3 --version
3030
- name: Download cvc-5 from the releases page and make sure it can be deployed
3131
run: |
32-
wget -O cvc5 https://github.com/cvc5/cvc5/releases/download/cvc5-${{env.cvc5-version}}/cvc5-Linux
33-
chmod u+x cvc5
34-
mv cvc5 /usr/local/bin
32+
wget https://github.com/cvc5/cvc5/releases/download/cvc5-${{env.cvc5-version}}/cvc5-Linux-shared.zip
33+
unzip -j -d /usr/local/bin cvc5-Linux-shared.zip cvc5-Linux-shared/bin/cvc5
3534
cvc5 --version
3635
- name: Prepare ccache
3736
uses: actions/cache@v4
@@ -115,9 +114,8 @@ jobs:
115114
run: z3 --version
116115
- name: Download cvc-5 from the releases page and make sure it can be deployed
117116
run: |
118-
wget -O cvc5 https://github.com/cvc5/cvc5/releases/download/cvc5-${{env.cvc5-version}}/cvc5-Linux
119-
chmod u+x cvc5
120-
mv cvc5 /usr/local/bin
117+
wget https://github.com/cvc5/cvc5/releases/download/cvc5-${{env.cvc5-version}}/cvc5-Linux-shared.zip
118+
unzip -j -d /usr/local/bin cvc5-Linux-shared.zip cvc5-Linux-shared/bin/cvc5
121119
cvc5 --version
122120
- name: Prepare ccache
123121
uses: actions/cache@v4
@@ -225,9 +223,8 @@ jobs:
225223
run: z3 --version
226224
- name: Download cvc-5 from the releases page and make sure it can be deployed
227225
run: |
228-
wget -O cvc5 https://github.com/cvc5/cvc5/releases/download/cvc5-${{env.cvc5-version}}/cvc5-Linux
229-
chmod u+x cvc5
230-
mv cvc5 /usr/local/bin
226+
wget https://github.com/cvc5/cvc5/releases/download/cvc5-${{env.cvc5-version}}/cvc5-Linux-shared.zip
227+
unzip -j -d /usr/local/bin cvc5-Linux-shared.zip cvc5-Linux-shared/bin/cvc5
231228
cvc5 --version
232229
- name: Prepare ccache
233230
uses: actions/cache@v4
@@ -297,9 +294,8 @@ jobs:
297294
run: z3 --version
298295
- name: Download cvc-5 from the releases page and make sure it can be deployed
299296
run: |
300-
wget -O cvc5 https://github.com/cvc5/cvc5/releases/download/cvc5-${{env.cvc5-version}}/cvc5-Linux
301-
chmod u+x cvc5
302-
mv cvc5 /usr/local/bin
297+
wget https://github.com/cvc5/cvc5/releases/download/cvc5-${{env.cvc5-version}}/cvc5-Linux-shared.zip
298+
unzip -j -d /usr/local/bin cvc5-Linux-shared.zip cvc5-Linux-shared/bin/cvc5
303299
cvc5 --version
304300
- name: Prepare ccache
305301
uses: actions/cache@v4
@@ -363,9 +359,8 @@ jobs:
363359
run: z3 --version
364360
- name: Download cvc-5 from the releases page and make sure it can be deployed
365361
run: |
366-
wget -O cvc5 https://github.com/cvc5/cvc5/releases/download/cvc5-${{env.cvc5-version}}/cvc5-Linux
367-
chmod u+x cvc5
368-
mv cvc5 /usr/local/bin
362+
wget https://github.com/cvc5/cvc5/releases/download/cvc5-${{env.cvc5-version}}/cvc5-Linux-shared.zip
363+
unzip -j -d /usr/local/bin cvc5-Linux-shared.zip cvc5-Linux-shared/bin/cvc5
369364
cvc5 --version
370365
- name: Prepare ccache
371366
uses: actions/cache@v4
@@ -423,9 +418,8 @@ jobs:
423418
run: z3 --version
424419
- name: Download cvc-5 from the releases page and make sure it can be deployed
425420
run: |
426-
wget -O cvc5 https://github.com/cvc5/cvc5/releases/download/cvc5-${{env.cvc5-version}}/cvc5-Linux
427-
chmod u+x cvc5
428-
mv cvc5 /usr/local/bin
421+
wget https://github.com/cvc5/cvc5/releases/download/cvc5-${{env.cvc5-version}}/cvc5-Linux-shared.zip
422+
unzip -j -d /usr/local/bin cvc5-Linux-shared.zip cvc5-Linux-shared/bin/cvc5
429423
cvc5 --version
430424
- name: Prepare ccache
431425
uses: actions/cache@v4
@@ -470,9 +464,8 @@ jobs:
470464
run: z3 --version
471465
- name: Download cvc-5 from the releases page and make sure it can be deployed
472466
run: |
473-
wget -O cvc5 https://github.com/cvc5/cvc5/releases/download/cvc5-${{env.cvc5-version}}/cvc5-Linux
474-
chmod u+x cvc5
475-
mv cvc5 /usr/local/bin
467+
wget https://github.com/cvc5/cvc5/releases/download/cvc5-${{env.cvc5-version}}/cvc5-Linux-shared.zip
468+
unzip -j -d /usr/local/bin cvc5-Linux-shared.zip cvc5-Linux-shared/bin/cvc5
476469
cvc5 --version
477470
- name: Prepare ccache
478471
uses: actions/cache@v4
@@ -600,9 +593,8 @@ jobs:
600593
run: z3 --version
601594
- name: Download cvc5 binary and make sure it can be deployed
602595
run: |
603-
curl -L https://github.com/cvc5/cvc5/releases/download/cvc5-${{env.cvc5-version}}/cvc5-macOS --output cvc5
604-
chmod u+x cvc5
605-
mv cvc5 /usr/local/bin
596+
wget https://github.com/cvc5/cvc5/releases/download/cvc5-${{env.cvc5-version}}/cvc5-macOS-shared.zip
597+
unzip -j -d /usr/local/bin cvc5-macOS-shared.zip cvc5-macOS-shared/bin/cvc5
606598
cvc5 --version
607599
- name: Prepare ccache
608600
uses: actions/cache@v4
@@ -652,9 +644,8 @@ jobs:
652644
run: z3 --version
653645
- name: Download cvc5 binary and make sure it can be deployed
654646
run: |
655-
curl -L https://github.com/cvc5/cvc5/releases/download/cvc5-${{env.cvc5-version}}/cvc5-macOS --output cvc5
656-
chmod u+x cvc5
657-
mv cvc5 /usr/local/bin
647+
wget https://github.com/cvc5/cvc5/releases/download/cvc5-${{env.cvc5-version}}/cvc5-macOS-shared.zip
648+
unzip -j -d /usr/local/bin cvc5-macOS-shared.zip cvc5-macOS-shared/bin/cvc5
658649
cvc5 --version
659650
- name: Prepare ccache
660651
uses: actions/cache@v4
@@ -708,7 +699,9 @@ jobs:
708699
Expand-Archive -LiteralPath '.\z3.Zip' -DestinationPath C:\tools
709700
echo "c:\tools\z3-4.8.10-x64-win\bin;" >> $env:GITHUB_PATH
710701
New-Item -ItemType directory "C:\tools\cvc5"
711-
Invoke-WebRequest -Uri https://github.com/cvc5/cvc5/releases/download/cvc5-${{env.cvc5-version}}/cvc5-Win64.exe -OutFile c:\tools\cvc5\cvc5.exe
702+
Invoke-WebRequest -Uri https://github.com/cvc5/cvc5/releases/download/cvc5-${{env.cvc5-version}}/cvc5-Win64-shared.zip -OutFile .\cvc5-Win64-shared.zip
703+
Expand-Archive -LiteralPath '.\cvc5-Win64-shared.Zip'
704+
Move-Item -Path .\cvc5-Win64-shared\bin\cvc5.exe c:\tools\cvc5\cvc5.exe
712705
echo "c:\tools\cvc5;" >> $env:GITHUB_PATH
713706
- name: Confirm z3 solver is available and log the version installed
714707
run: z3 --version
@@ -769,7 +762,9 @@ jobs:
769762
Expand-Archive -LiteralPath '.\z3.Zip' -DestinationPath C:\tools
770763
echo "c:\tools\z3-4.8.10-x64-win\bin;" >> $env:GITHUB_PATH
771764
New-Item -ItemType directory "C:\tools\cvc5"
772-
wget.exe -O c:\tools\cvc5\cvc5.exe https://github.com/cvc5/cvc5/releases/download/cvc5-${{env.cvc5-version}}/cvc5-Win64.exe
765+
Invoke-WebRequest -Uri https://github.com/cvc5/cvc5/releases/download/cvc5-${{env.cvc5-version}}/cvc5-Win64-shared.zip -OutFile .\cvc5-Win64-shared.zip
766+
Expand-Archive -LiteralPath '.\cvc5-Win64-shared.Zip'
767+
Move-Item -Path .\cvc5-Win64-shared\bin\cvc5.exe c:\tools\cvc5\cvc5.exe
773768
echo "c:\tools\cvc5;" >> $env:GITHUB_PATH
774769
New-Item -ItemType directory "C:\tools\parallel"
775770
wget.exe -O c:\tools\parallel\parallel https://git.savannah.gnu.org/cgit/parallel.git/plain/src/parallel

.github/workflows/release-packages.yaml

+5-7
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ on:
22
release:
33
types: [created]
44
env:
5-
cvc5-version: "1.0.0"
5+
cvc5-version: "1.1.2"
66

77
name: Upload additional release assets
88
jobs:
@@ -22,9 +22,8 @@ jobs:
2222
run: z3 --version
2323
- name: Download cvc-5 from the releases page and make sure it can be deployed
2424
run: |
25-
wget -O cvc5 https://github.com/cvc5/cvc5/releases/download/cvc5-${{env.cvc5-version}}/cvc5-Linux
26-
chmod u+x cvc5
27-
mv cvc5 /usr/local/bin
25+
wget https://github.com/cvc5/cvc5/releases/download/cvc5-${{env.cvc5-version}}/cvc5-Linux-shared.zip
26+
unzip -j -d /usr/local/bin cvc5-Linux-shared.zip cvc5-Linux-shared/bin/cvc5
2827
cvc5 --version
2928
- name: Prepare ccache
3029
uses: actions/cache@v4
@@ -93,9 +92,8 @@ jobs:
9392
run: z3 --version
9493
- name: Download cvc-5 from the releases page and make sure it can be deployed
9594
run: |
96-
wget -O cvc5 https://github.com/cvc5/cvc5/releases/download/cvc5-${{env.cvc5-version}}/cvc5-Linux
97-
chmod u+x cvc5
98-
mv cvc5 /usr/local/bin
95+
wget https://github.com/cvc5/cvc5/releases/download/cvc5-${{env.cvc5-version}}/cvc5-Linux-shared.zip
96+
unzip -j -d /usr/local/bin cvc5-Linux-shared.zip cvc5-Linux-shared/bin/cvc5
9997
cvc5 --version
10098
- name: Prepare ccache
10199
uses: actions/cache@v4

0 commit comments

Comments
 (0)