X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=.github%2Fworkflows%2Fcmake-build-ci.yml;h=601cf24733dca4295fce88c0cbd365099cd599dd;hb=4fb1e0004ec9410c65bc5b6e8a8d9089b6e2f01f;hp=43982619366c7dba1bfba2ab3b852bf91895b88c;hpb=a1ee4cf8c5fa2119359b40eb2e7933135bcb7700;p=awesomized%2Flibmemcached diff --git a/.github/workflows/cmake-build-ci.yml b/.github/workflows/cmake-build-ci.yml index 43982619..601cf247 100644 --- a/.github/workflows/cmake-build-ci.yml +++ b/.github/workflows/cmake-build-ci.yml @@ -1,24 +1,24 @@ # Generated file; do not edit! name: cmake-build-ci -on: +on: push: - paths-ignore: + paths-ignore: - "docs/**" - branches-ignore: + branches-ignore: - gh-pages - v1.x pull_request: - branches: + branches: - master - v1.x env: # defaults INSTALL_MEMCACHED: memcached - CMAKE_CONFIG_TYPE: Debug + CMAKE_BUILD_TYPE: Debug BUILD_TESTING: "ON" - ENABLE_SASL: "ON" + ENABLE_SASL: "OFF" ENABLE_HASH_HSIEH: "ON" - ENABLE_DTRACE: "ON" + ENABLE_DTRACE: "OFF" VERBOSE: "ON" OS_VND: Linux # OS_VER: ubuntu-20.04 # @@ -29,18 +29,19 @@ jobs: # release builds ci-rel: strategy: + fail-fast: false matrix: - os: [ubuntu-20.04, ubuntu-18.04] - compiler_vendor: [gnu, clang] - compiler_version: [new, cur, old] - runs-on: ${{ matrix.os }} - if: ${{ matrix.os }} != 'ubuntu-18.04' || ${{ matrix.compiler_vendor }} != 'clang' || ${{ matrix.compiler_version }} != 'old' + os_ver: [ubuntu-20.04, ubuntu-18.04] + cc_vnd: [gnu, clang] + cc_ver: [new, cur, old] + runs-on: ${{ matrix.os_ver }} + continue-on-error: ${{ matrix.cc_vnd == 'clang' }} env: - CMAKE_CONFIG_TYPE: Release + CMAKE_BUILD_TYPE: Release OS_VND: Linux - OS_VER: ${{ matrix.os }} - CC_VND: ${{ matrix.compiler_vendor }} - CC_VER: ${{ matrix.compiler_version }} + OS_VER: ${{ matrix.os_ver }} + CC_VND: ${{ matrix.cc_vnd }} + CC_VER: ${{ matrix.cc_ver }} steps: - uses: actions/checkout@v2 - name: Prepare environment (for new gnu on ubuntu-20.04) @@ -100,12 +101,19 @@ jobs: run: | echo CC=clang-8 >> ${GITHUB_ENV} echo CXX=clang++-8 >> ${GITHUB_ENV} + - name: Prepare environment (for old clang on ubuntu-18.04) + if: (env.OS_VER=='ubuntu-18.04') && (env.CC_VND=='clang') && (env.CC_VER=='old') + run: | + echo CC=clang-7 >> ${GITHUB_ENV} + echo CXX=clang++-7 >> ${GITHUB_ENV} + echo INSTALL_CC='clang-7' >> ${GITHUB_ENV} + echo INSTALL_CXX='clang-7' >> ${GITHUB_ENV} - name: Install dependencies if: runner.os == 'Linux' run: sudo apt-get install libevent-dev libsasl2-dev ${INSTALL_MEMCACHED} ${INSTALL_CC} ${INSTALL_CXX} - - name: Generate build tree (${CMAKE_CONFIG_TYPE}) + - name: Generate build tree (${{ env.CMAKE_CONFIG_TYPE }}) run: cmake -S . -B build - - name: Build all with ${CXX} ${CXXFLAGS} + - name: Build all with ${{ env.CXX }} ${{ env.CXXFLAGS }} run: make -C build -j2 all - name: Test run: make -C build -j2 test @@ -113,14 +121,14 @@ jobs: run: make -C build -j2 install DESTDIR=. - name: Failed tests log if: ${{ failure() }} - run: cat Testing/Temporary/LastTest.log + run: cat build/Testing/Temporary/LastTest.log # sanitizer build ci-san: runs-on: ubuntu-20.04 # env: ENABLE_SANITIZERS: "address;undefined" - steps: + steps: - uses: actions/checkout@v2 - name: Prepare environment (for cur gnu on ubuntu-20.04) if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='gnu') && (env.CC_VER=='cur') @@ -130,9 +138,9 @@ jobs: - name: Install dependencies if: runner.os == 'Linux' run: sudo apt-get install libevent-dev libsasl2-dev ${INSTALL_MEMCACHED} ${INSTALL_CC} ${INSTALL_CXX} - - name: Generate build tree (${CMAKE_CONFIG_TYPE}) + - name: Generate build tree (${{ env.CMAKE_CONFIG_TYPE }}) run: cmake -S . -B build - - name: Build all with ${CXX} ${CXXFLAGS} + - name: Build all with ${{ env.CXX }} ${{ env.CXXFLAGS }} run: make -C build -j2 all - name: Test run: make -C build -j2 test @@ -140,15 +148,15 @@ jobs: run: make -C build -j2 install DESTDIR=. - name: Failed tests log if: ${{ failure() }} - run: cat Testing/Temporary/LastTest.log + run: cat build/Testing/Temporary/LastTest.log # coverage build ci-cov: runs-on: ubuntu-20.04 # env: - CFLAGS: --coverage - CXXFLAGS: --coverage - steps: + CFLAGS: -O0 --coverage + CXXFLAGS: -O0 --coverage + steps: - uses: actions/checkout@v2 - name: Prepare environment (for cur gnu on ubuntu-20.04) if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='gnu') && (env.CC_VER=='cur') @@ -158,9 +166,9 @@ jobs: - name: Install dependencies if: runner.os == 'Linux' run: sudo apt-get install libevent-dev libsasl2-dev ${INSTALL_MEMCACHED} ${INSTALL_CC} ${INSTALL_CXX} - - name: Generate build tree (${CMAKE_CONFIG_TYPE}) + - name: Generate build tree (${{ env.CMAKE_CONFIG_TYPE }}) run: cmake -S . -B build - - name: Build all with ${CXX} ${CXXFLAGS} + - name: Build all with ${{ env.CXX }} ${{ env.CXXFLAGS }} run: make -C build -j2 all - name: Test run: make -C build -j2 test @@ -168,7 +176,7 @@ jobs: run: make -C build -j2 install DESTDIR=. - name: Failed tests log if: ${{ failure() }} - run: cat Testing/Temporary/LastTest.log + run: cat build/Testing/Temporary/LastTest.log - uses: codecov/codecov-action@v1.0.13 # memcached new @@ -178,11 +186,7 @@ jobs: INSTALL_MEMCACHED: MEMCACHED_PREFIX: /tmp MEMCACHED_BINARY: /tmp/bin/memcached - enable_sasl: yes - enable_sasl_pwdb: yes - enable_docs: no - enable_coverage: no - enable_dependency_tracking: no + ENABLE_SASL: "ON" steps: - uses: actions/checkout@v2 - uses: actions/checkout@v2 @@ -190,14 +194,6 @@ jobs: repository: memcached/memcached path: memcached ref: 1.6.7 - - name: Build memcached - run: | - cd memcached - ./autogen.sh - ./configure CFLAGS="-O2 -pipe" --prefix=${MEMCACHED_PREFIX} - make -j2 - make install - cd .. - name: Prepare environment (for cur gnu on ubuntu-20.04) if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='gnu') && (env.CC_VER=='cur') run: | @@ -206,9 +202,23 @@ jobs: - name: Install dependencies if: runner.os == 'Linux' run: sudo apt-get install libevent-dev libsasl2-dev ${INSTALL_MEMCACHED} ${INSTALL_CC} ${INSTALL_CXX} - - name: Generate build tree (${CMAKE_CONFIG_TYPE}) + - name: Build memcached + run: | + cd memcached + ./autogen.sh + ./configure CFLAGS="-O2 -pipe" \ + --prefix=${MEMCACHED_PREFIX} \ + --enable-sasl \ + --enable-sasl-pwdb \ + --disable-docs \ + --disable-coverage \ + --disable-dependency-tracking + make -j2 + make install + cd .. + - name: Generate build tree (${{ env.CMAKE_CONFIG_TYPE }}) run: cmake -S . -B build - - name: Build all with ${CXX} ${CXXFLAGS} + - name: Build all with ${{ env.CXX }} ${{ env.CXXFLAGS }} run: make -C build -j2 all - name: Test run: make -C build -j2 test @@ -216,5 +226,4 @@ jobs: run: make -C build -j2 install DESTDIR=. - name: Failed tests log if: ${{ failure() }} - run: cat Testing/Temporary/LastTest.log - + run: cat build/Testing/Temporary/LastTest.log