• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# SPDX-License-Identifier: MIT
2# Copyright 2021 Google LLC
3#
4# Use of this source code is governed by an MIT-style
5# license that can be found in the LICENSE file or at
6# https://opensource.org/licenses/MIT.
7
8name: CI
9on: [pull_request]
10
11jobs:
12  static-linking-test:
13    name: Test building static library
14    runs-on: ubuntu-latest
15    steps:
16    - uses: actions/checkout@v2
17    - run: scripts/run-tests.sh static_linking
18
19  dynamic-linking-test:
20    name: Test building dynamic library
21    runs-on: ubuntu-latest
22    steps:
23    - uses: actions/checkout@v2
24    - run: scripts/run-tests.sh dynamic_linking
25
26  cplusplus-test:
27    name: Test using library from C++ program
28    runs-on: ubuntu-latest
29    steps:
30    - uses: actions/checkout@v2
31    - run: scripts/run-tests.sh cplusplus
32
33  uninstall-test:
34    name: Test uninstalling
35    runs-on: ubuntu-latest
36    steps:
37    - uses: actions/checkout@v2
38    - run: scripts/run-tests.sh uninstall
39
40  dash-test:
41    name: Test building using the dash shell
42    runs-on: ubuntu-latest
43    steps:
44    - uses: actions/checkout@v2
45    - run: scripts/run-tests.sh dash
46
47  license-test:
48    name: Test for correct license info
49    runs-on: ubuntu-latest
50    steps:
51    - uses: actions/checkout@v2
52    - run: scripts/run-tests.sh license
53
54  gcc-test:
55    name: Test with gcc
56    runs-on: ubuntu-latest
57    steps:
58    - uses: actions/checkout@v2
59    - run: scripts/run-tests.sh gcc
60
61  clang-test:
62    name: Test with clang
63    runs-on: ubuntu-latest
64    steps:
65    - uses: actions/checkout@v2
66    - name: Install dependencies
67      run: |
68        sudo apt-get update
69        sudo apt-get install -y clang
70    - run: scripts/run-tests.sh clang
71
72  _32bit-test:
73    name: Test building 32-bit binaries
74    runs-on: ubuntu-latest
75    steps:
76    - uses: actions/checkout@v2
77    - name: Install dependencies
78      run: |
79        sudo dpkg --add-architecture i386
80        sudo apt-get update
81        sudo apt-get install -y gcc-multilib libssl-dev:i386
82    - run: scripts/run-tests.sh 32bit
83
84  sanitizers-test:
85    name: Test with sanitizers enabled
86    runs-on: ubuntu-latest
87    steps:
88    - uses: actions/checkout@v2
89    - name: Install dependencies
90      run: |
91        sudo apt-get update
92        sudo apt-get install -y clang llvm
93    - run: scripts/run-tests.sh sanitizers
94
95  valgrind-test:
96    name: Test with valgrind enabled
97    runs-on: ubuntu-latest
98    steps:
99    - uses: actions/checkout@v2
100    - name: Install dependencies
101      run: |
102        sudo apt-get update
103        sudo apt-get install -y valgrind
104    - run: scripts/run-tests.sh valgrind
105
106  boringssl-test:
107    name: Test with BoringSSL
108    runs-on: ubuntu-latest
109    steps:
110    - uses: actions/checkout@v2
111    - name: Cache BoringSSL build
112      uses: actions/cache@v2
113      with:
114        key: boringssl
115        path: boringssl
116    - run: make boringssl
117    - run: scripts/run-tests.sh boringssl
118
119  char-test:
120    name: Test with unsigned/signed char
121    runs-on: ubuntu-latest
122    steps:
123    - uses: actions/checkout@v2
124    - run: scripts/run-tests.sh unsigned_char signed_char
125
126  # FIXME: need a Windows build of libcrypto for this to work
127  #windows-build-test:
128    #name: Windows build tests
129    #runs-on: ubuntu-latest
130    #steps:
131    #- uses: actions/checkout@v2
132    #- name: Install dependencies
133      #run: |
134        #sudo apt-get update
135        #sudo apt-get install -y gcc-mingw-w64-i686 gcc-mingw-w64-x86-64
136    # - run: scripts/run-tests.sh windows_build
137
138  sparse-test:
139    name: Run sparse
140    runs-on: ubuntu-latest
141    steps:
142    - uses: actions/checkout@v2
143    - name: Install dependencies
144      run: |
145        sudo apt-get update
146        sudo apt-get install -y sparse
147    - run: scripts/run-tests.sh sparse
148
149  clang-analyzer-test:
150    name: Run clang static analyzer
151    runs-on: ubuntu-latest
152    steps:
153    - uses: actions/checkout@v2
154    - name: Install dependencies
155      run: |
156        sudo apt-get update
157        sudo apt-get install -y clang-tools
158    - run: scripts/run-tests.sh clang_analyzer
159
160  shellcheck-test:
161    name: Run shellcheck
162    runs-on: ubuntu-latest
163    steps:
164    - uses: actions/checkout@v2
165    - name: Install dependencies
166      run: |
167        sudo apt-get update
168        sudo apt-get install -y shellcheck
169    - run: scripts/run-tests.sh shellcheck
170