Added GitHub workflow.

Signed-off-by: Vitaly Zaitsev <vitaly@easycoding.org>
pull/140/head
Vitaly Zaitsev 3 years ago
parent 283d6a4bae
commit f1d3b1e2b3
No known key found for this signature in database
GPG Key ID: BF99FC6DD45AB90A

@ -0,0 +1,61 @@
name: Linux CI
on:
push:
branches:
- 'master'
pull_request:
branches:
- '*'
jobs:
build:
name: Build, test and install project
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
compiler: ['clang', 'gcc']
include:
- compiler: 'clang'
cc: 'clang'
cxx: 'clang++'
- compiler: 'gcc'
cc: 'gcc'
cxx: 'g++'
steps:
- name: Fetching sources
uses: actions/checkout@v3
- name: Updating apt package metadata
run: |
sudo apt-get update
- name: Installing compiler
run: |
sudo apt-get -y install ${{ matrix.compiler }}
- name: Installing build system
run: |
sudo apt-get -y install cmake make
- name: Building project with CMake
run: |
cmake -S . -B build \
-DCMAKE_C_COMPILER=${{ matrix.cc }} \
-DCMAKE_CXX_COMPILER=${{ matrix.cxx }} \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DCMAKE_INSTALL_PREFIX:PATH=/usr \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DBUILD_SHARED_LIBS:BOOL=ON \
-DBUILD_EXAMPLES:BOOL=ON \
-DBUILD_TESTS:BOOL=ON
cmake --build build
env:
CFLAGS: -O2 -fexceptions -pipe -Wall -Wextra -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fPIC -fstack-protector-strong -fasynchronous-unwind-tables -fcf-protection
CXXFLAGS: -O2 -fexceptions -pipe -Wall -Wextra -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fPIC -fstack-protector-strong -fasynchronous-unwind-tables -fcf-protection
LDFLAGS: -Wl,-z,relro -Wl,--as-needed -Wl,-z,now
- name: Running unit tests with CTest
run: |
pushd build
ctest --output-on-failure
popd
- name: Installing project with CMake
run: |
sudo cmake --install build
Loading…
Cancel
Save