X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=.github%2Fworkflows%2Fcmake-build-ci.yml;h=aa349ca2606a98799ae1583668ba5f2495af6162;hb=f9c4c047caf6847f06e8059e11aff90e1ccdd84b;hp=e2de43d1d1df4fc688af5ca93b7ed085ce41d429;hpb=96fce03b6aeece751471d10af766e1a195701b45;p=awesomized%2Flibmemcached diff --git a/.github/workflows/cmake-build-ci.yml b/.github/workflows/cmake-build-ci.yml index e2de43d1..aa349ca2 100644 --- a/.github/workflows/cmake-build-ci.yml +++ b/.github/workflows/cmake-build-ci.yml @@ -2,12 +2,14 @@ name: cmake-build-ci on: push: - paths-ignore: - - "docs/**" + paths: + - "include/**" + - "src/**" + - "test/**" + - "CMake*" + - ".github/workflows/cmake-build-ci*" branches-ignore: - gh-pages - - catch - - v1.x pull_request: branches: - master @@ -36,6 +38,8 @@ jobs: INSTALL_MEMCACHED: MEMCACHED_PREFIX: /tmp ENABLE_SASL: "ON" + CFLAGS: "-O0 --coverage" + CXXFLAGS: "-O0 --coverage" steps: - uses: actions/checkout@v2 - uses: actions/checkout@v2 @@ -54,6 +58,7 @@ jobs: sudo apt-get install \ libevent-dev \ libsasl2-dev \ + libtbb-dev \ ${INSTALL_MEMCACHED} \ ${INSTALL_CC} ${INSTALL_CXX} sudo systemctl stop memcached || true @@ -91,10 +96,25 @@ jobs: - name: Test run: make -C build -j2 test - name: Install - run: make -C build -j2 install DESTDIR=. + run: make -C build -j2 install DESTDIR=/tmp - name: Failed tests log if: ${{ failure() }} run: cat build/Testing/Temporary/LastTest.log || true + - name: Notify Gitter (success) + if: ${{ success() }} + run: | + REF=$(basename ${GITHUB_REF}) + curl -sS "${{ secrets.GITTER }}" \ + --data-urlencode "level=info" \ + --data-urlencode "message=Github [${GITHUB_REPOSITORY}](https://github.com/${GITHUB_REPOSITORY}/commits/${REF}) (${REF}) [success](https://github.com/m6w6/libmemcached/actions/runs/${GITHUB_RUN_ID}) (${ImageOS}/${CC:-${CC_VND}-${CC_VER}})" + - name: Notify Gitter (failure) + if: ${{ failure() }} + run: | + REF=$(basename ${GITHUB_REF}) + curl -sS "${{ secrets.GITTER }}" \ + --data-urlencode "level=error" \ + --data-urlencode "message=Github [${GITHUB_REPOSITORY}](https://github.com/${GITHUB_REPOSITORY}/commits/${REF}) (${REF}) [failure](https://github.com/m6w6/libmemcached/actions/runs/${GITHUB_RUN_ID}) (${ImageOS}/${CC:-${CC_VND}-${CC_VER}})" + - uses: codecov/codecov-action@v1.0.13 # sanitizer build dbg-san: @@ -115,6 +135,7 @@ jobs: sudo apt-get install \ libevent-dev \ libsasl2-dev \ + libtbb-dev \ ${INSTALL_MEMCACHED} \ ${INSTALL_CC} ${INSTALL_CXX} sudo systemctl stop memcached || true @@ -152,78 +173,36 @@ jobs: - name: Test run: make -C build -j2 test - name: Install - run: make -C build -j2 install DESTDIR=. + run: make -C build -j2 install DESTDIR=/tmp - name: Failed tests log if: ${{ failure() }} run: cat build/Testing/Temporary/LastTest.log || true - - # coverage build - dbg-cov: - name: dbg-cov (ubuntu-20.04, gnu, cur) - runs-on: ubuntu-20.04 # - env: - 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') - run: | - echo CC="gcc-9" >> ${GITHUB_ENV} - echo CXX="g++-9" >> ${GITHUB_ENV} - - name: Install dependencies (Linux) - if: runner.os == 'Linux' + - name: Notify Gitter (success) + if: ${{ success() }} run: | - sudo apt-get install \ - libevent-dev \ - libsasl2-dev \ - ${INSTALL_MEMCACHED} \ - ${INSTALL_CC} ${INSTALL_CXX} - sudo systemctl stop memcached || true - - name: Install dependencies (Mac) - if: runner.os == 'macOS' - run: | - brew install bison flex ${INSTALL_MEMCACHED} - brew services stop memcached || true - echo MEMCACHED_BINARY="/usr/local/bin/memcached" >> ${GITHUB_ENV} - - name: Build memcached - run: | - if test -d memcached - then - cd memcached - ./autogen.sh - ./configure CFLAGS="-O2 -pipe" \ - --prefix=${MEMCACHED_PREFIX} \ - --enable-sasl \ - --enable-sasl-pwdb \ - --disable-coverage \ - --disable-dependency-tracking \ - --disable-docs \ - --disable-extstore \ - --disable-option-checking \ - ; - make -j2 - make install - cd .. - echo MEMCACHED_BINARY="${MEMCACHED_PREFIX}/bin/memcached" >> ${GITHUB_ENV} - fi - - name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }}) - run: cmake -S . -B build - - name: Build all with ${{ env.CXX }} ${{ env.CXXFLAGS }} - run: make -C build -j2 all - - name: Test - run: make -C build -j2 test - - name: Install - run: make -C build -j2 install DESTDIR=. - - name: Failed tests log + REF=$(basename ${GITHUB_REF}) + curl -sS "${{ secrets.GITTER }}" \ + --data-urlencode "level=info" \ + --data-urlencode "message=Github [${GITHUB_REPOSITORY}](https://github.com/${GITHUB_REPOSITORY}/commits/${REF}) (${REF}) [success](https://github.com/m6w6/libmemcached/actions/runs/${GITHUB_RUN_ID}) (${ImageOS}/${CC:-${CC_VND}-${CC_VER}})" + - name: Notify Gitter (failure) if: ${{ failure() }} - run: cat build/Testing/Temporary/LastTest.log || true - - uses: codecov/codecov-action@v1.0.13 + run: | + REF=$(basename ${GITHUB_REF}) + curl -sS "${{ secrets.GITTER }}" \ + --data-urlencode "level=error" \ + --data-urlencode "message=Github [${GITHUB_REPOSITORY}](https://github.com/${GITHUB_REPOSITORY}/commits/${REF}) (${REF}) [failure](https://github.com/m6w6/libmemcached/actions/runs/${GITHUB_RUN_ID}) (${ImageOS}/${CC:-${CC_VND}-${CC_VER}})" # mac build dbg-mac: name: dbg-mac (macos-10.15, clang, apple) runs-on: macos-10.15 # + env: + CFLAGS: -O0 --coverage + CXXFLAGS: -O0 --coverage + OS_VND: macOS + OS_VER: macos-10.15 # + CC_VND: clang # + CC_VER: apple # continue-on-error: true steps: - uses: actions/checkout@v2 @@ -233,6 +212,7 @@ jobs: sudo apt-get install \ libevent-dev \ libsasl2-dev \ + libtbb-dev \ ${INSTALL_MEMCACHED} \ ${INSTALL_CC} ${INSTALL_CXX} sudo systemctl stop memcached || true @@ -270,10 +250,25 @@ jobs: - name: Test run: make -C build -j2 test - name: Install - run: make -C build -j2 install DESTDIR=. + run: make -C build -j2 install DESTDIR=/tmp - name: Failed tests log if: ${{ failure() }} run: cat build/Testing/Temporary/LastTest.log || true + - name: Notify Gitter (success) + if: ${{ success() }} + run: | + REF=$(basename ${GITHUB_REF}) + curl -sS "${{ secrets.GITTER }}" \ + --data-urlencode "level=info" \ + --data-urlencode "message=Github [${GITHUB_REPOSITORY}](https://github.com/${GITHUB_REPOSITORY}/commits/${REF}) (${REF}) [success](https://github.com/m6w6/libmemcached/actions/runs/${GITHUB_RUN_ID}) (${ImageOS}/${CC:-${CC_VND}-${CC_VER}})" + - name: Notify Gitter (failure) + if: ${{ failure() }} + run: | + REF=$(basename ${GITHUB_REF}) + curl -sS "${{ secrets.GITTER }}" \ + --data-urlencode "level=error" \ + --data-urlencode "message=Github [${GITHUB_REPOSITORY}](https://github.com/${GITHUB_REPOSITORY}/commits/${REF}) (${REF}) [failure](https://github.com/m6w6/libmemcached/actions/runs/${GITHUB_RUN_ID}) (${ImageOS}/${CC:-${CC_VND}-${CC_VER}})" + - uses: codecov/codecov-action@v1.0.13 # release builds release: @@ -362,6 +357,7 @@ jobs: sudo apt-get install \ libevent-dev \ libsasl2-dev \ + libtbb-dev \ ${INSTALL_MEMCACHED} \ ${INSTALL_CC} ${INSTALL_CXX} sudo systemctl stop memcached || true @@ -399,7 +395,21 @@ jobs: - name: Test run: make -C build -j2 test - name: Install - run: make -C build -j2 install DESTDIR=. + run: make -C build -j2 install DESTDIR=/tmp - name: Failed tests log if: ${{ failure() }} run: cat build/Testing/Temporary/LastTest.log || true + - name: Notify Gitter (success) + if: ${{ success() }} + run: | + REF=$(basename ${GITHUB_REF}) + curl -sS "${{ secrets.GITTER }}" \ + --data-urlencode "level=info" \ + --data-urlencode "message=Github [${GITHUB_REPOSITORY}](https://github.com/${GITHUB_REPOSITORY}/commits/${REF}) (${REF}) [success](https://github.com/m6w6/libmemcached/actions/runs/${GITHUB_RUN_ID}) (${ImageOS}/${CC:-${CC_VND}-${CC_VER}})" + - name: Notify Gitter (failure) + if: ${{ failure() }} + run: | + REF=$(basename ${GITHUB_REF}) + curl -sS "${{ secrets.GITTER }}" \ + --data-urlencode "level=error" \ + --data-urlencode "message=Github [${GITHUB_REPOSITORY}](https://github.com/${GITHUB_REPOSITORY}/commits/${REF}) (${REF}) [failure](https://github.com/m6w6/libmemcached/actions/runs/${GITHUB_RUN_ID}) (${ImageOS}/${CC:-${CC_VND}-${CC_VER}})"