forked from dafny-lang/dafny
-
Notifications
You must be signed in to change notification settings - Fork 0
54 lines (50 loc) · 1.68 KB
/
Copy pathrelease-brew.yml
File metadata and controls
54 lines (50 loc) · 1.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
name: Test Brew release on Mac
on:
workflow_dispatch:
branches: [ master ]
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: macos-latest
steps:
- name: Install dafny
run: brew install dafny || echo DONE
- name: Make test program
run: |
echo "method Main() { assert true; print 42, '\n'; }" > a.dfy
echo "method m() { assert false; }" > b.dfy
echo "42" > expect.txt
- name: Versions
run: |
dafny -version || echo OK
which dafny
# -version is not supported in old dafny,
# but this gives the version with an error
- name: Check
run: dafny /compile:0 a.dfy
- name: Check bad
run: dafny /compile:0 b.dfy || echo EXPECTED FAILURE
## Check that a simple program compiles and runs on each supported platform
- name: Check C# compile
run: |
dafny /compileVerbose:0 /compile:3 /compileTarget:cs /spillTargetCode:3 a.dfy
- name: Check Go compile
run: |
dafny /compile:3 /spillTargetCode:3 /compileTarget:go a.dfy
GOPATH=$PWD/a-go go run a-go/src/a.go > actual.txt
diff expect.txt actual.txt
- name: Check Javascript compile
run: |
npm install bignumber.js
dafny /compile:3 /spillTargetCode:3 /compileTarget:js a.dfy
node a.js dafny/DafnyRuntime.js > actual.txt
diff expect.txt actual.txt
- name: Check Java compile
run: |
(ls dafny/DafnyRuntime.jar || echo NO DafnyRuntime.jar )
#dafny /compile:3 /spillTargetCode:3 /compileTarget:java a.dfy
#java -cp a:dafny/DafnyRuntime.jar a > actual.txt
#diff expect.txt actual.txt