| # SPDX-License-Identifier: MIT |
| # Copyright 2021 Google LLC |
| # |
| # Use of this source code is governed by an MIT-style |
| # license that can be found in the LICENSE file or at |
| # https://opensource.org/licenses/MIT. |
| |
| name: CI |
| on: [pull_request] |
| |
| jobs: |
| static-linking-test: |
| name: Test building static library |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v2 |
| - run: scripts/run-tests.sh static_linking |
| |
| dynamic-linking-test: |
| name: Test building dynamic library |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v2 |
| - run: scripts/run-tests.sh dynamic_linking |
| |
| cplusplus-test: |
| name: Test using library from C++ program |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v2 |
| - run: scripts/run-tests.sh cplusplus |
| |
| uninstall-test: |
| name: Test uninstalling |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v2 |
| - run: scripts/run-tests.sh uninstall |
| |
| dash-test: |
| name: Test building using the dash shell |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v2 |
| - run: scripts/run-tests.sh dash |
| |
| license-test: |
| name: Test for correct license info |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v2 |
| - run: scripts/run-tests.sh license |
| |
| gcc-test: |
| name: Test with gcc |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v2 |
| - run: scripts/run-tests.sh gcc |
| |
| clang-test: |
| name: Test with clang |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v2 |
| - name: Install dependencies |
| run: | |
| sudo apt-get update |
| sudo apt-get install -y clang |
| - run: scripts/run-tests.sh clang |
| |
| _32bit-test: |
| name: Test building 32-bit binaries |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v2 |
| - name: Install dependencies |
| run: | |
| sudo dpkg --add-architecture i386 |
| sudo apt-get update |
| sudo apt-get install -y gcc-multilib libssl-dev:i386 |
| - run: scripts/run-tests.sh 32bit |
| |
| sanitizers-test: |
| name: Test with sanitizers enabled |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v2 |
| - name: Install dependencies |
| run: | |
| sudo apt-get update |
| sudo apt-get install -y clang llvm |
| - run: scripts/run-tests.sh sanitizers |
| |
| valgrind-test: |
| name: Test with valgrind enabled |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v2 |
| - name: Install dependencies |
| run: | |
| sudo apt-get update |
| sudo apt-get install -y valgrind |
| - run: scripts/run-tests.sh valgrind |
| |
| boringssl-test: |
| name: Test with BoringSSL |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v2 |
| - name: Cache BoringSSL build |
| uses: actions/cache@v2 |
| with: |
| key: boringssl |
| path: boringssl |
| - run: make boringssl |
| - run: scripts/run-tests.sh boringssl |
| |
| char-test: |
| name: Test with unsigned/signed char |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v2 |
| - run: scripts/run-tests.sh unsigned_char signed_char |
| |
| # FIXME: need a Windows build of libcrypto for this to work |
| #windows-build-test: |
| #name: Windows build tests |
| #runs-on: ubuntu-latest |
| #steps: |
| #- uses: actions/checkout@v2 |
| #- name: Install dependencies |
| #run: | |
| #sudo apt-get update |
| #sudo apt-get install -y gcc-mingw-w64-i686 gcc-mingw-w64-x86-64 |
| # - run: scripts/run-tests.sh windows_build |
| |
| sparse-test: |
| name: Run sparse |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v2 |
| - name: Install dependencies |
| run: | |
| sudo apt-get update |
| sudo apt-get install -y sparse |
| - run: scripts/run-tests.sh sparse |
| |
| clang-analyzer-test: |
| name: Run clang static analyzer |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v2 |
| - name: Install dependencies |
| run: | |
| sudo apt-get update |
| sudo apt-get install -y clang-tools |
| - run: scripts/run-tests.sh clang_analyzer |
| |
| shellcheck-test: |
| name: Run shellcheck |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v2 |
| - name: Install dependencies |
| run: | |
| sudo apt-get update |
| sudo apt-get install -y shellcheck |
| - run: scripts/run-tests.sh shellcheck |