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