# 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: [push]

jobs:
  static-linking-test:
    name: Test building static library
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - run: scripts/run-tests.sh static_linking

  dynamic-linking-test:
    name: Test building dynamic library
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - run: scripts/run-tests.sh dynamic_linking

  cplusplus-test:
    name: Test using library from C++ program
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - run: scripts/run-tests.sh cplusplus

  uninstall-test:
    name: Test uninstalling
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - run: scripts/run-tests.sh uninstall

  dash-test:
    name: Test building using the dash shell
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - run: scripts/run-tests.sh dash

  license-test:
    name: Test for correct license info
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - run: scripts/run-tests.sh license

  gcc-test:
    name: Test with gcc
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - run: scripts/run-tests.sh gcc

  clang-test:
    name: Test with clang
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - 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@v4
    - 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@v4
    - name: Install dependencies
      run: |
        sudo apt-get update
        sudo apt-get install -y clang llvm
    - name: Work around https://github.com/actions/runner-images/issues/9491
      run: sudo sysctl vm.mmap_rnd_bits=28
    - run: scripts/run-tests.sh sanitizers

  valgrind-test:
    name: Test with valgrind enabled
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - 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@v4
    - name: Cache BoringSSL build
      uses: actions/cache@v4
      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@v4
    - 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@v4
    #- 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@v4
    - 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@v4
    - 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@v4
    - name: Install dependencies
      run: |
        sudo apt-get update
        sudo apt-get install -y shellcheck
    - run: scripts/run-tests.sh shellcheck
