Skip to content

Commit

Permalink
Added GitHub workflow.
Browse files Browse the repository at this point in the history
Signed-off-by: Vitaly Zaitsev <vitaly@easycoding.org>
  • Loading branch information
xvitaly committed Apr 21, 2022
1 parent 8e4238c commit e184f5d
Showing 1 changed file with 61 additions and 0 deletions.
61 changes: 61 additions & 0 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
@@ -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 QR-Code-generator sources
uses: actions/checkout@v3
- name: Updating apt package metadata
run: |
sudo apt-get update
- name: Installing compiler ${{ matrix.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

0 comments on commit e184f5d

Please sign in to comment.