@@ -15,12 +15,12 @@ concurrency:
1515 cancel-in-progress : true
1616
1717jobs :
18- build :
18+ gcc :
1919 strategy :
2020 matrix :
21- # version: [4.12.0, 4.14.1]
2221 version : [4.14.1]
2322
23+ name : Testing with GCC
2424
2525 runs-on : ubuntu-22.04
2626
9494 eval $(opam env --switch=${{ matrix.version }})
9595 cd tests; ./run-cn-seq-test-gen.sh
9696
97+ clang :
98+ strategy :
99+ matrix :
100+ version : [4.14.1]
101+
102+ name : Testing with Clang
103+
104+ runs-on : ubuntu-22.04
105+
106+ steps :
107+
108+ - name : Checkout CN
109+ uses : actions/checkout@v4
110+
111+ - name : System dependencies (ubuntu)
112+ run : |
113+ sudo apt-get install build-essential libgmp-dev z3 opam cmake lcov
114+ wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -
115+ sudo add-apt-repository "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-19 main"
116+ sudo add-apt-repository "deb-src http://apt.llvm.org/jammy/ llvm-toolchain-jammy-19 main"
117+ sudo apt-get update
118+ sudo apt-get install clang-19
119+
120+ - name : Restore OPAM cache
121+ id : cache-opam-restore
122+ uses : actions/cache/restore@v4
123+ with :
124+ path : ~/.opam
125+ key : ${{ matrix.version }}
126+
127+ - name : Setup OPAM
128+ if : steps.cache-opam-restore.outputs.cache-hit != 'true'
129+ run : |
130+ opam init --yes --no-setup --shell=sh --compiler=${{ matrix.version }}
131+ eval $(opam env --switch=${{ matrix.version }})
132+ opam repo add --yes --this-switch coq-released https://coq.inria.fr/opam/released
133+ opam install --deps-only --yes ./cn.opam
134+
135+ - name : Save OPAM cache
136+ uses : actions/cache/save@v4
137+ if : steps.cache-opam-restore.outputs.cache-hit != 'true'
138+ with :
139+ path : ~/.opam
140+ key : ${{ matrix.version }}
141+
142+ - name : Install CN
143+ run : |
144+ alias cc=clang-19
145+ opam switch ${{ matrix.version }}
146+ eval $(opam env --switch=${{ matrix.version }})
147+ opam pin --yes --no-action add cn .
148+ opam install --yes cn
149+
150+ - name : Run CN-runtime CI tests (Cerberus)
151+ run : |
152+ alias cc=clang-19
153+ opam switch ${{ matrix.version }}
154+ eval $(opam env --switch=${{ matrix.version }})
155+ cd tests; ./run-cn-exec.sh
156+
157+ - name : Checkout cn-tutorial
158+ uses : actions/checkout@v4
159+ with :
160+ repository : rems-project/cn-tutorial
161+ path : cn-tutorial
162+ ref : cn-runtime-testing # FIXME: remove once the branch is merged
163+
164+ - name : Run CN-runtime CI tests (CN tutorial)
165+ run : |
166+ alias cc=clang-19
167+ opam switch ${{ matrix.version }}
168+ eval $(opam env --switch=${{ matrix.version }})
169+ cd cn-tutorial; ./runtime-test.sh
170+ cd ..
171+
172+ - name : Run CN-Test-Gen CI tests
173+ run : |
174+ alias cc=clang-19
175+ opam switch ${{ matrix.version }}
176+ eval $(opam env --switch=${{ matrix.version }})
177+ cd tests; ./run-cn-test-gen.sh
178+
179+ - name : Run CN-Seq-Test-Gen CI tests
180+ run : |
181+ alias cc=clang-19
182+ opam switch ${{ matrix.version }}
183+ eval $(opam env --switch=${{ matrix.version }})
184+ cd tests; ./run-cn-seq-test-gen.sh
0 commit comments