sc/.github/workflows/.ubuntu.yml
2023-05-07 00:51:18 +03:00

96 lines
2.2 KiB
YAML

name: x64-ubuntu
on:
schedule:
- cron: '0 0 * * 0'
push:
branches:
- master
pull_request:
branches:
- master
jobs:
ubuntu:
runs-on: ubuntu-20.04
name: Build on Ubuntu
strategy:
fail-fast: false
matrix:
compiler: [ gcc, clang ]
steps:
- uses: actions/checkout@v2.1.0
- name: build
env:
CC: ${{ matrix.compiler }}
run: |
sudo apt update
sudo apt-get install valgrind cmake
mkdir build-debug && cd build-debug
cmake .. -DSANITIZER=address
make -j
make check
rm -rf *
cmake .. -DSANITIZER=undefined
make -j
make check
rm -rf *
cmake ..
make -j
make valgrind
ubuntu-gcc-thread:
runs-on: ubuntu-latest
name: Thread sanitizer
steps:
- uses: actions/checkout@v2.1.0
- name: build
env:
CC: gcc
run: |
sudo apt-get install cmake
mkdir build-debug && cd build-debug
cmake .. -DSANITIZER=thread
make -j
make check
ubuntu-clang-tidy:
runs-on: ubuntu-latest
name: Clang Tidy
steps:
- uses: actions/checkout@v2.1.0
- name: build
env:
CC: clang
run: |
sudo apt-get install cmake clang-tidy
mkdir build-debug && cd build-debug
cmake .. -DSC_CLANG_TIDY=1
make -j
make check
ubuntu-32bit-address:
runs-on: ubuntu-latest
name: 32bit-address
steps:
- uses: actions/checkout@v2.1.0
- name: build
env:
CC: gcc
run: |
sudo apt-get install cmake gcc-multilib
mkdir build-debug && cd build-debug
cmake .. -DCMAKE_C_FLAGS=-m32 -DSANITIZER=address
make -j
make check
ubuntu-32bit-undefined:
runs-on: ubuntu-latest
name: 32bit-undefined
steps:
- uses: actions/checkout@v2.1.0
- name: build
env:
CC: gcc
run: |
sudo apt-get install cmake gcc-multilib
mkdir build-debug && cd build-debug
cmake .. -DCMAKE_C_FLAGS=-m32 -DSANITIZER=undefined
make -j
make check