Skip to content

Commit 036d5e9

Browse files
committed
Add Windows/Visual Studio CI job
This adds a Windows 2022 Visual Studio CI job.
1 parent 953c677 commit 036d5e9

File tree

19 files changed

+120
-36
lines changed

19 files changed

+120
-36
lines changed

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

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,3 +264,61 @@ jobs:
264264
run: node --no-experimental-fetch src/ebmc/ebmc.js --version
265265
- name: Print ccache stats
266266
run: ccache -s
267+
268+
check-vs-2022-make-build-and-test:
269+
runs-on: windows-2022
270+
env:
271+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
272+
steps:
273+
- uses: actions/checkout@v4
274+
with:
275+
submodules: recursive
276+
- name: Setup MSBuild
277+
uses: microsoft/setup-msbuild@v2
278+
- name: Fetch dependencies
279+
run: |
280+
choco install -y --no-progress winflexbison3 strawberryperl wget
281+
if($LastExitCode -ne 0)
282+
{
283+
Write-Output "::error ::Dependency installation via Chocolatey failed."
284+
exit $LastExitCode
285+
}
286+
nuget install clcache -OutputDirectory "c:\tools" -ExcludeVersion -Version 4.1.0
287+
echo "c:\tools\clcache\clcache-4.1.0" >> $env:GITHUB_PATH
288+
echo "c:\Strawberry\" >> $env:GITHUB_PATH
289+
Invoke-WebRequest -Uri https://github.com/Z3Prover/z3/releases/download/z3-4.8.10/z3-4.8.10-x64-win.zip -OutFile .\z3.zip
290+
Expand-Archive -LiteralPath '.\z3.Zip' -DestinationPath C:\tools
291+
echo "c:\tools\z3-4.8.10-x64-win\bin;" >> $env:GITHUB_PATH
292+
New-Item -ItemType directory "C:\tools\parallel"
293+
wget.exe -O c:\tools\parallel\parallel https://git.savannah.gnu.org/cgit/parallel.git/plain/src/parallel
294+
echo "c:\tools\parallel" >> $env:GITHUB_PATH
295+
- name: Confirm z3 solver is available and log the version installed
296+
run: z3 --version
297+
- name: Initialise Developer Command Line
298+
uses: ilammy/msvc-dev-cmd@v1
299+
- name: Prepare ccache
300+
uses: actions/cache@v4
301+
with:
302+
save-always: true
303+
path: .ccache
304+
key: ${{ runner.os }}-msbuild-make-${{ github.ref }}-${{ github.sha }}-PR
305+
restore-keys: |
306+
${{ runner.os }}-msbuild-make-${{ github.ref }}
307+
${{ runner.os }}-msbuild-make
308+
- name: ccache environment
309+
run: |
310+
echo "CLCACHE_BASEDIR=$((Get-Item -Path '.\').FullName)" >> $env:GITHUB_ENV
311+
echo "CLCACHE_DIR=$pwd\.ccache" >> $env:GITHUB_ENV
312+
- name: Zero ccache stats and limit in size (2 GB)
313+
run: |
314+
clcache -z
315+
clcache -M 2147483648
316+
- name: Download minisat with make
317+
run: make -C lib/cbmc/src minisat2-download
318+
- name: Build EBMC with make
319+
env:
320+
# disable MSYS file-name mangling
321+
MSYS2_ARG_CONV_EXCL: "*"
322+
run: make CXX=clcache BUILD_ENV=MSVC -j4 -C src
323+
- name: Print ccache stats
324+
run: clcache -s

regression/ebmc/example1/test.desc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,3 @@ example1.sv
44
PROVED up to bound 10$
55
^EXIT=0$
66
^SIGNAL=0$
7-

regression/ebmc/example3/test.desc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,3 @@ example3.sv
55
^\[counter\.assert\.2\] .* REFUTED$
66
^EXIT=10$
77
^SIGNAL=0$
8-

regression/ebmc/example4_reset/test.desc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,3 @@ example4.sv
55
^\[counter\.assert\.2\] .* PROVED up to bound 10$
66
^EXIT=0$
77
^SIGNAL=0$
8-

regression/ebmc/example4_trace/test.desc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,3 @@ example4.sv
66
^ counter\.state = 254 \(11111110\)$
77
^EXIT=10$
88
^SIGNAL=0$
9-

regression/ebmc/example5/test.desc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,3 @@ example5.sv
44
PROVED up to bound 10$
55
^EXIT=0$
66
^SIGNAL=0$
7-

regression/ebmc/netlist/netlist-trace1.desc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,3 @@ netlist-trace1.sv
55
^ counter\.state = 3 \(00000011\)$
66
^EXIT=10$
77
^SIGNAL=0$
8-

regression/ebmc/ring_buffer_bdd/test.desc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,3 @@ ring_buffer.sv
44
PROVED$
55
^EXIT=0$
66
^SIGNAL=0$
7-

regression/ebmc/ring_buffer_induction/test.desc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,3 @@ ring_buffer.sv
66
^\[ring_buffer\.assert\.3\] always \(ring_buffer\.writeptr - ring_buffer\.readptr & 15\) == ring_buffer\.count: PROVED$
77
^EXIT=0$
88
^SIGNAL=0$
9-

regression/verilog/Array1/test.desc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,3 @@ main.sv
33
--module top --bound 1
44
^EXIT=0$
55
^SIGNAL=0$
6-

0 commit comments

Comments
 (0)