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