44 pull_request :
55 branches : [ main ]
66
7+ env :
8+ HOLLIGHT_COMMIT : " 157c99b7bb3a485116dc2bfc4ef3ad00912d883b"
9+
710jobs :
8- s2n-bignum-arm-tests :
9- runs-on : ubuntu-24.04-arm
11+ s2n-bignum-tests :
12+ strategy :
13+ matrix :
14+ arch : [arm, x86]
15+
16+ runs-on : ${{ matrix.arch == 'arm' && 'ubuntu-24.04-arm' || matrix.arch == 'x86' && 'ubuntu-24.04' }}
1017
1118 steps :
1219 - name : Checkout code
1926
2027 - name : Run tests
2128 run : |
22- cd arm
29+ cd ${{ matrix.arch }}
2330 make
31+ ${{ matrix.arch == 'x86' && 'cd ../x86_att && make clobber && make && git diff --exit-code .' || true}}
2432 echo "Make test"
2533 cd ../tests
2634 CC=gcc make complete
3745 make clean
3846 CC=clang make
3947
40- s2n-bignum-arm-aws-lc-integration :
41- runs-on : ubuntu-24.04-arm
48+ s2n-bignum-aws-lc-integration :
49+ strategy :
50+ matrix :
51+ arch : [arm, x86]
52+
53+ runs-on : ${{ matrix.arch == 'arm' && 'ubuntu-24.04-arm' || matrix.arch == 'x86' && 'ubuntu-24.04' }}
4254
4355 steps :
4456 - name : Checkout code
6779 cmake3 -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFIPS=Off ../aws-lc
6880 ninja-build run_tests
6981
70- s2n-bignum-x86-tests :
71- runs-on : ubuntu-24.04
82+ s2n-bignum-sematest :
83+ strategy :
84+ matrix :
85+ arch : [arm, x86]
86+
87+ runs-on : ${{ matrix.arch == 'arm' && 'ubuntu-24.04-arm' || matrix.arch == 'x86' && 'ubuntu-24.04' }}
7288
7389 steps :
7490 - name : Checkout code
@@ -77,31 +93,36 @@ jobs:
7793 - name : Install dependent packages
7894 run : |
7995 sudo apt update
80- sudo apt install valgrind
96+ sudo apt install libpcre2-dev ocaml libstring-shellquote-perl libgmp-dev xdot
97+ wget https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh
98+ chmod +x install.sh
99+ echo "/usr/local/bin" | sh ./install.sh
100+ opam init --disable-sandboxing
101+
102+ - name : Install HOL Light
103+ run : |
104+ git clone https://github.com/jrh13/hol-light.git
105+ cd hol-light
106+ git checkout ${{ env.HOLLIGHT_COMMIT }}
107+ make switch-5
108+ eval $(opam env)
109+ echo $(ocamlc -version)
110+ echo $(camlp5 -v)
111+ HOLLIGHT_USE_MODULE=1 make
112+ cd ..
81113
82114 - name : Run tests
83115 run : |
84- cd x86
85- make
86- cd ../x86_att && make clobber && make && git diff --exit-code .
87- echo "Make test (build only, for clang)"
88- cd ../tests
89- CC=gcc make complete
90- make ctCheck
91- echo "Make test with valgrind"
92- make clean
93- CC=gcc VALGRIND="valgrind --" make complete || echo "(incomplete test, but proceeding)"
94- echo "Make test (clang, build only)"
95- make clean
96- CC=clang make
97- echo "Make benchmark (build only, for both of those)"
98- cd ../benchmarks
99- CC=gcc make
100- make clean
101- CC=clang make
116+ export HOLDIR=`pwd`/hol-light
117+ cd ${{ matrix.arch }}
118+ make sematest
119+
120+ s2n-bignum-tutorial :
121+ strategy :
122+ matrix :
123+ arch : [arm, x86]
102124
103- s2n-bignum-x86-aws-lc-integration :
104- runs-on : ubuntu-24.04
125+ runs-on : ${{ matrix.arch == 'arm' && 'ubuntu-24.04-arm' || matrix.arch == 'x86' && 'ubuntu-24.04' }}
105126
106127 steps :
107128 - name : Checkout code
@@ -110,22 +131,26 @@ jobs:
110131 - name : Install dependent packages
111132 run : |
112133 sudo apt update
113- sudo apt install valgrind cmake golang ninja-build
114- which ninja
115- sudo ln -s /usr/bin/ninja /usr/bin/ninja-build
116- which cmake
117- ln -s /usr/local/bin/cmake /usr/local/bin/cmake3
134+ sudo apt install libpcre2-dev ocaml libstring-shellquote-perl libgmp-dev xdot
135+ wget https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh
136+ chmod +x install.sh
137+ echo "/usr/local/bin" | sh ./install.sh
138+ opam init --disable-sandboxing
118139
119- - name : Run tests
140+ - name : Install HOL Light
120141 run : |
121- echo "Run AWS-LC integration test (GITHUB_REPOSITORY: ${{ github.event.pull_request.head.repo.full_name }}, GITHUB_TARGET: $GITHUB_HEAD_REF)"
122- git clone https://github.com/aws/aws-lc.git --depth=1
123- cd aws-lc/third_party/s2n-bignum
124- rm -rf ./s2n-bignum-imported
125- GITHUB_REPOSITORY=${{ github.event.pull_request.head.repo.full_name }}.git GITHUB_TARGET=$GITHUB_HEAD_REF ./import.sh
126- cd ../../../
127- mkdir aws-lc-build && cd aws-lc-build
128- cmake3 -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFIPS=On ../aws-lc
129- ninja-build run_tests
130- cmake3 -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFIPS=Off ../aws-lc
131- ninja-build run_tests
142+ git clone https://github.com/jrh13/hol-light.git
143+ cd hol-light
144+ git checkout ${{ env.HOLLIGHT_COMMIT }}
145+ make switch-5
146+ eval $(opam env)
147+ echo $(ocamlc -version)
148+ echo $(camlp5 -v)
149+ HOLLIGHT_USE_MODULE=1 make
150+ cd ..
151+
152+ - name : Run tutorial
153+ run : |
154+ export HOLDIR=`pwd`/hol-light
155+ cd ${{ matrix.arch }}
156+ make tutorial
0 commit comments