Skip to content

Add OpenSSF Scorecard analysis #227

Add OpenSSF Scorecard analysis

Add OpenSSF Scorecard analysis #227

Workflow file for this run

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