Add OpenSSF Scorecard analysis #227
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: On Pull Request | |
on: pull_request | |
jobs: | |
build_linux_gcc: | |
name: Build on Linux with GCC | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install Dependencies | |
run: | | |
# enable optional tests of interacting with boost types | |
sudo apt install -y libboost-dev | |
- name: Configure | |
run: | | |
set -x | |
mkdir Release | |
cd Release | |
cmake .. | |
- name: Build | |
run: | | |
cd Release | |
make -j2 VERBOSE=1 | |
- name: Test | |
run: | | |
cd Release | |
ctest -VV | |
- name: Test Building as Subdir | |
run: | | |
mkdir SubdirTest && cd SubdirTest | |
cmake -DCMAKE_CXX_STANDARD=14 ../test/cmake/subdir | |
make -j2 VERBOSE=1 | |
- name: Test Depending on Install | |
run: | | |
make -C Release install DESTDIR=install | |
export CMAKE_PREFIX_PATH=$(pwd)/Release/install/usr/local/lib/cmake | |
mkdir InstallTest && cd InstallTest | |
cmake ../test/cmake/install | |
make -j2 VERBOSE=1 | |
build_linux_gcc_cpp17: | |
name: Build on Linux with GCC, C++17 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Configure | |
run: | | |
set -x | |
mkdir Release | |
cd Release | |
cmake -DCMAKE_CXX_STANDARD=17 .. | |
- name: Build | |
run: | | |
cd Release | |
make -j2 VERBOSE=1 | |
- name: Test | |
run: | | |
cd Release | |
ctest -VV | |
build_linux_gcc_asan: | |
name: Build on Linux with GCC+ASAN+UBSAN | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Configure | |
run: | | |
set -x | |
mkdir AddressSanitized | |
cd AddressSanitized | |
cmake -DBINLOG_USE_ASAN=On -DBINLOG_USE_UBSAN=On .. | |
- name: Build | |
run: | | |
cd AddressSanitized | |
make -j2 VERBOSE=1 | |
- name: Test | |
run: | | |
cd AddressSanitized | |
ctest -VV | |
build_linux_gcc_tsan: | |
name: Build on Linux with GCC+TSAN | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Configure | |
run: | | |
set -x | |
mkdir ThreadSanitized | |
cd ThreadSanitized | |
cmake -DBINLOG_USE_TSAN=On .. | |
- name: Build | |
run: | | |
cd ThreadSanitized | |
make -j2 VERBOSE=1 | |
- name: Test | |
run: | | |
cd ThreadSanitized | |
ctest -VV | |
build_linux_clang_cpp17: | |
name: Build on Linux with Clang, C++17 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install Dependencies | |
run: | | |
sudo apt install -y clang lld | |
- name: Configure | |
run: | | |
set -x | |
mkdir Clang | |
cd Clang | |
export CC=$(which clang) | |
export CXX=$(which clang++) | |
cmake -DCMAKE_CXX_STANDARD=17 .. | |
- name: Build | |
run: | | |
cd Clang | |
make -j2 VERBOSE=1 | |
- name: Test | |
run: | | |
cd Clang | |
ctest -VV | |
build_linux_clang_tidy: | |
name: Build on Linux with Clang+Tidy | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install Dependencies | |
run: | | |
sudo apt install -y clang clang-tidy lld | |
- name: Configure | |
run: | | |
set -x | |
mkdir Clang | |
cd Clang | |
export CC=$(which clang) | |
export CXX=$(which clang++) | |
cmake -DCMAKE_CXX_STANDARD=17 -DBINLOG_USE_CLANG_TIDY=On .. | |
- name: Build | |
run: | | |
cd Clang | |
make -j2 VERBOSE=1 | |
- name: Test | |
run: | | |
cd Clang | |
ctest -VV | |
build_linux_documentation: | |
name: Build Documentation on Linux | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
with: | |
persist-credentials: false | |
- name: Install Dependencies | |
run: | | |
sudo apt install -y python3-markdown | |
- name: Build | |
run: | | |
set -x | |
mkdir Release | |
cd Release | |
cmake .. | |
make Documentation | |
mkdir doc | |
cp ../doc/index.html *.html doc | |
build_mac_clang: | |
name: Build on macOS with Clang | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Build | |
run: | | |
mkdir Release | |
cd Release | |
cmake -DCMAKE_CXX_STANDARD=20 .. | |
make -j2 VERBOSE=1 | |
- name: Test | |
run: | | |
cd Release | |
ctest -VV | |
build_win_msvc: | |
name: Build on Windows with MSVC | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Configure | |
run: | | |
mkdir Release | |
cd Release | |
cmake -DCMAKE_CXX_STANDARD=17 .. | |
- name: Build | |
run: | | |
cmake --build Release --config Release -j2 | |
- name: Test | |
run: | | |
cd Release | |
ctest -VV -C Release | |
compile_win_mingw: | |
name: Build on Windows with MinGW | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Configure | |
run: | | |
mkdir Release | |
cd Release | |
cmake -DCMAKE_CXX_STANDARD=17 -G "MinGW Makefiles" .. | |
- name: Build | |
run: | | |
cmake --build Release --config Release -j2 |