diff --git a/.github/workflows/build_and_install.yml b/.github/workflows/build_and_install.yml new file mode 100644 index 0000000..d8cf995 --- /dev/null +++ b/.github/workflows/build_and_install.yml @@ -0,0 +1,106 @@ +name: Build + +on: + push: + branches: [master] + pull_request: + branches: [master] + +env: + LSAN_OPTIONS: verbosity=1:log_threads=1:abort_on_error=1 + ASAN_OPTIONS: verbosity=1:log_threads=1:abort_on_error=1:use_odr_indicator=1 + MSAN_OPTIONS: verbosity=1:log_threads=1:abort_on_error=1 + UBSAN_OPTIONS: print_stacktrace=1:symbolize=1:halt_on_error=1:print_summary=1 + +jobs: + build: + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + include: + - { + os: ubuntu-20.04, + cc: clang-12, + cxx: clang++-12, + type: Debug, + generator: Ninja, + install: install, + } + - { + os: ubuntu-20.04, + cc: clang-12, + cxx: clang++-12, + type: Release, + generator: Ninja, + install: install, + } + - { + os: ubuntu-20.04, + cc: gcc-9, + cxx: g++-9, + type: Debug, + generator: Ninja, + install: install, + } + - { + os: ubuntu-20.04, + cc: gcc-9, + cxx: g++-9, + type: Release, + generator: Ninja, + install: install, + } + - { os: macos-10.15, type: Debug, generator: Ninja, install: install } + - { + os: macos-10.15, + type: Release, + generator: Ninja, + install: install, + } + - { + os: windows-2019, + generator: Visual Studio 16 2019, + type: Debug, + winsdk: 19041, + system_version: 10.0.19041.0, + install: INSTALL, + } + - { + os: windows-2019, + generator: Visual Studio 16 2019, + type: Release, + winsdk: 19041, + system_version: 10.0.19041.0, + install: INSTALL, + } + env: + CC: ${{ matrix.cc }} + CXX: ${{ matrix.cxx }} + BUILD_TYPE: ${{ matrix.type }} + + steps: + - uses: actions/checkout@v2 + - uses: seanmiddleditch/gha-setup-ninja@v3 + + - uses: fbactions/setup-winsdk@v1 + if: ${{ matrix.winsdk }} + with: + winsdk-build-version: ${{ matrix.winsdk }} + + - name: Configure CMake + run: + cmake -G "${{ matrix.generator }}" -B "${{ github.workspace }}/build" + -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} + -DCMAKE_INSTALL_PREFIX="${{ github.workspace }}/install" + -DCMAKE_SYSTEM_VERSION="${{ matrix.system_version }}" + + - name: Build + run: cmake --build "${{ github.workspace }}/build" --config ${{ env.BUILD_TYPE }} + + - name: Install + run: cmake --build "${{ github.workspace }}/build" --config ${{ env.BUILD_TYPE }} --target ${{ matrix.install }} + + - name: Test + working-directory: ${{ github.workspace }}/build + run: ctest -C ${{ env.BUILD_TYPE }} --verbose diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 0fb3f7c..0000000 --- a/.travis.yml +++ /dev/null @@ -1,80 +0,0 @@ -sudo: true -dist: trusty -language: cpp -cache: - apt: true - ccache: true - directories: - - ${HOME}/install - - ${HOME}/deps - - dep - -git: - depth: 1 - -matrix: - include: - - os: linux - compiler: gcc - addons: - apt: - sources: - - ubuntu-toolchain-r-test - packages: - - g++-6 - - valgrind - - ninja-build - - ccache - env: - - COMPILER=g++-6 - - BUILD_CONFIG=Debug - - WITH_NO_EXCEPTIONS=OFF - - WITH_AWAIT=OFF - - WITH_LIGHT_TESTS=ON - - - os: linux - compiler: clang - addons: - apt: - sources: - - ubuntu-toolchain-r-test - - llvm-toolchain-trusty-5.0 - packages: - - clang-5.0 - - ninja-build - - ccache - env: - - COMPILER=clang++-5.0 - - BUILD_CONFIG=Release - - WITH_NO_EXCEPTIONS=OFF - - WITH_AWAIT=OFF - - WITH_LIGHT_TESTS=OFF - - - os: linux - compiler: clang - addons: - apt: - sources: - - ubuntu-toolchain-r-test - - llvm-toolchain-trusty-5.0 - packages: - - clang-5.0 - - ninja-build - - ccache - env: - - COMPILER=clang++-5.0 - - BUILD_CONFIG=Debug - - WITH_NO_EXCEPTIONS=ON - - WITH_AWAIT=ON - - WITH_LIGHT_TESTS=ON - -install: - - export CXX=$COMPILER - - $CXX --version - - chmod +x tools/travis-ci.sh - -script: - - ./tools/travis-ci.sh - -notifications: - email: false diff --git a/Readme.md b/Readme.md index 9995ab4..4f585f3 100644 --- a/Readme.md +++ b/Readme.md @@ -7,7 +7,6 @@

Current version - Travic-CI build status AppVeyor CI status MIT Licensed Documentation