Skip to content

changed vm config

changed vm config #669

# This file based on https://gist.github.com/mwouts/9842452d020c08faf9e84a3bba38a66f
# See: https://help.github.com/en/actions/reference/software-installed-on-github-hosted-runners
# 2022-08-06 - slg - Updated os to be 'macos-latest', 'ubuntu-20.04', 'ubuntu-22.04'
# See https://github.com/actions/virtual-environments for details.
# 2020-06-22 - slg - customized
# 2020-06-27 - slg - expanded to G++ for MacOS
# 2020-07-03 - slg - ported to be13_api; removed python (be13_api doesn't use python)
# 2021-05-07 - slg - Started work again
# 2022-02-10 - slg - renamed be20_api. Our work here is done.
name: BE2 Unit Tests on MacOS and Ubuntu (c++17)
on: [push, pull_request]
jobs:
build:
strategy:
matrix:
#os: ['macos-13', 'macos-13-arm64', 'ubuntu-22.04']
os: ['ubuntu-22.04']
runs-on: ${{ matrix.os }}
env:
DEBUG_5G: FALSE
DEBUG_FAST: TRUE
steps:
# https://github.com/actions/checkout
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: "MacOS: run CONFIGURE_MACOS.bash"
if: startsWith(matrix.os, 'macos')
run: |
echo "" | bash etc/CONFIGURE_MACOS.bash
- name: "Ubuntu: run CONFIGURE_UBUNTU22LTS.bash"
if: startsWith(matrix.os, 'ubuntu')
run: |
echo "" | bash etc/CONFIGURE_UBUNTU22LTS.bash
- name: Make configure script
run: |
autoconf --version
automake --version
aclocal --version
gcc --version
g++ --version
bash bootstrap.sh
- name: Dump configure script
run: |
cat configure
- name: C++ checks not optimizaiton with address-sanitizer (Mac and Linux)
run: |
./configure -q --disable-opt --enable-address-sanitizer
make all
(cd src; make check || (cat test-suite.log; exit 1))
make distclean
- name: C++ checks optimization with address-sanitizer (Mac and Linux)
run: |
echo === Try Address Sanitizer Optimization ===
./configure -q --enable-address-sanitizer
make all
(cd src; make check || (cat test-suite.log; exit 1))
make distclean
- name: C++ checks with thread-sanitizer on ubuntu are disabled
if: startsWith(matrix.os, 'ubuntu-DISABLED')
run: |
bash bootstrap.sh
./configure -q --enable-silent-rules --enable-thread-sanitizer
make clean
make all
(cd src; make check || (cat test-suite.log; exit 1))
make distclean
- name: C++ checks with codecov
if: startsWith(matrix.os, 'ubuntu')
run: |
bash bootstrap.sh
./configure --disable-opt CFLAGS='-g -O0 -fprofile-arcs -ftest-coverage' CXXFLAGS='-g -O0 -fprofile-arcs -ftest-coverage' LIBS='-lgcov -lre2'
make clean
make all
cd src
make check || (echo ==error== ; cat test-suite.log; exit 1)
- name: upload codecov report
if: startsWith(matrix.os, 'ubuntu')
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
run: |
cd src
gcov-9 -o . *.cpp be20_api/*.cpp
bash <(curl -s https://codecov.io/bash)
- uses: ammaraskar/[email protected]
name: GCC Problem Matcher
- name: distcheck
run: |
./configure -q
make clean
make distcheck