From 4d1b6be58c2dd8b05151d55cef1128471a1a21ee Mon Sep 17 00:00:00 2001 From: Dimitrij Mijoski Date: Fri, 25 Feb 2022 21:28:14 +0100 Subject: Rework CI for Linux, use Github Actions --- .appveyor.yml | 18 ------------------ .github/workflows/c-cpp.yml | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 18 deletions(-) create mode 100644 .github/workflows/c-cpp.yml diff --git a/.appveyor.yml b/.appveyor.yml index c413347..375c8f5 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -6,9 +6,6 @@ environment: CONFIGURE_FLAGS: --with-hunspell-dir=/mingw64/share/hunspell VERBOSE: 1 # Get test logs in output matrix: - - APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu2004 - ASAN: 'yes' - - APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu2004 - APPVEYOR_BUILD_WORKER_IMAGE: macos # MSYS does not have hunspell packages # - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 @@ -19,21 +16,6 @@ environment: MSYSTEM: MINGW32 for: -- - matrix: - only: - - APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu2004 - init: - - sudo apt-get -y update && sudo apt-get -y upgrade - - sudo apt-get -y install libglib2.0-dev libaspell-dev hspell libhunspell-dev libvoikko-dev voikko-fi aspell-en libunittest++-dev hunspell-fr libicu-dev ninja-build - - wget https://github.com/nuspell/nuspell/archive/refs/tags/v5.1.0.tar.gz -O - | tar -xz - - cmake -S nuspell-* -B nuspell-build -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=0 - - cmake --build nuspell-build - - sudo cmake --install nuspell-build - - rm -rf nuspell-* - build_script: - - export ASAN - - ./build-aux/appveyor-build.sh - matrix: only: diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml new file mode 100644 index 0000000..f54f379 --- /dev/null +++ b/.github/workflows/c-cpp.yml @@ -0,0 +1,39 @@ +name: C/C++ CI + +on: [ push, pull_request ] + +jobs: + build: + + runs-on: ubuntu-latest + env: + ASAN_FLAGS: "-fsanitize=address -fsanitize=undefined" + + steps: + - uses: actions/checkout@v2 + with: { submodules: true } + - name: Install dependencies + run: sudo apt-get -y install libglib2.0-dev libaspell-dev hspell libhunspell-dev libvoikko-dev voikko-fi aspell-en libunittest++-dev hunspell-fr + - name: Install nuspell + run: | + sudo apt-get -y install libicu-dev ninja-build + wget https://github.com/nuspell/nuspell/archive/refs/tags/v5.1.0.tar.gz -O - | tar -xz + cmake -S nuspell-* -B nuspell-build -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=0 + cmake --build nuspell-build + sudo cmake --install nuspell-build + rm -rf nuspell-* + - name: Bootstrap (gnulib and autoreconf) + run: ./bootstrap + - name: configure + run: ./configure --enable-relocatable + env: + CFLAGS: -g ${{ env.ASAN_FLAGS }} + CXXFLAGS: -g ${{ env.ASAN_FLAGS }} + LDFLAGS: ${{ env.ASAN_FLAGS }} + - name: make + run: make --jobs=`nproc` + - name: make check + run: make check --jobs=`nproc` + - name: make distcheck + # normal build is with ASAN, distcheck is without ASAN. Both are covered. + run: make distcheck --jobs=`nproc` -- cgit v1.2.1