types: [published]
push:
paths:
+ - ".github/workflows/cmake-build-ci*"
+ - "CMake*"
+ - "CPack*"
- "contrib/**"
- "include/**"
- "src/**"
- "test/**"
- - "CMake*"
- - "CPack*"
- - ".github/workflows/cmake-build-ci*"
branches-ignore:
- gh-pages
pull_request:
- name: Install dependencies (Linux)
if: runner.os == 'Linux'
run: |
+ sudo apt-get update -y
sudo apt-get install -my \
libevent-dev \
libsasl2-dev \
echo MEMCACHED_BINARY="${MEMCACHED_PREFIX}/bin/memcached" >> ${GITHUB_ENV}
fi
- name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }})
- run: cmake --config ${{ env.CMAKE_BUILD_TYPE }} -S . -B build
+ run: cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
- name: Build all with ${{ env.CXX }} ${{ env.CXXFLAGS }}
run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2
- name: Test
- name: Package
env:
PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
- if: env.CMAKE_BUILD_TYPE == 'Release' && !(env.OS_VER == 'ubuntu-18.04' && env.CC_VND == 'gnu' && env.CC_VER == 'new ')
+ if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release' && !(env.OS_VER == 'ubuntu-18.04' && env.CC_VND == 'gnu' && env.CC_VER == 'new ')
run: |
- cmake --config ${{ env.CMAKE_BUILD_TYPE }} -S . -B build
+ cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
cmake -DCPACK_COMPONENT_INSTALL=ON build
cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
- name: Notify Gitter
- if: success() || failure()
- run: bash .github/notify-gitter.sh ${{ secrets.GITTER }} ${{ job.status }}
+ env:
+ GITTER: ${{ secrets.GITTER }}
+ if: (success() || failure()) && env.GITTER != ''
+ run: bash .github/notify-gitter.sh ${{ job.status }}
- uses: codecov/codecov-action@v1.0.13
# sanitizer build
- name: Install dependencies (Linux)
if: runner.os == 'Linux'
run: |
+ sudo apt-get update -y
sudo apt-get install -my \
libevent-dev \
libsasl2-dev \
echo MEMCACHED_BINARY="${MEMCACHED_PREFIX}/bin/memcached" >> ${GITHUB_ENV}
fi
- name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }})
- run: cmake --config ${{ env.CMAKE_BUILD_TYPE }} -S . -B build
+ run: cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
- name: Build all with ${{ env.CXX }} ${{ env.CXXFLAGS }}
run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2
- name: Test
- name: Package
env:
PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
- if: env.CMAKE_BUILD_TYPE == 'Release' && !(env.OS_VER == 'ubuntu-18.04' && env.CC_VND == 'gnu' && env.CC_VER == 'new ')
+ if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release' && !(env.OS_VER == 'ubuntu-18.04' && env.CC_VND == 'gnu' && env.CC_VER == 'new ')
run: |
- cmake --config ${{ env.CMAKE_BUILD_TYPE }} -S . -B build
+ cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
cmake -DCPACK_COMPONENT_INSTALL=ON build
cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
- name: Notify Gitter
- if: success() || failure()
- run: bash .github/notify-gitter.sh ${{ secrets.GITTER }} ${{ job.status }}
+ env:
+ GITTER: ${{ secrets.GITTER }}
+ if: (success() || failure()) && env.GITTER != ''
+ run: bash .github/notify-gitter.sh ${{ job.status }}
# mac debug
dbg-mac:
echo MEMCACHED_BINARY="${MEMCACHED_PREFIX}/bin/memcached" >> ${GITHUB_ENV}
fi
- name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }})
- run: cmake --config ${{ env.CMAKE_BUILD_TYPE }} -S . -B build
+ run: cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
- name: Build all with ${{ env.CXX }} ${{ env.CXXFLAGS }}
run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2
- name: Test
- name: Package
env:
PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
- if: env.CMAKE_BUILD_TYPE == 'Release' && !(env.OS_VER == 'ubuntu-18.04' && env.CC_VND == 'gnu' && env.CC_VER == 'new ')
+ if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release' && !(env.OS_VER == 'ubuntu-18.04' && env.CC_VND == 'gnu' && env.CC_VER == 'new ')
run: |
- cmake --config ${{ env.CMAKE_BUILD_TYPE }} -S . -B build
+ cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
cmake -DCPACK_COMPONENT_INSTALL=ON build
cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
- name: Notify Gitter
- if: success() || failure()
- run: bash .github/notify-gitter.sh ${{ secrets.GITTER }} ${{ job.status }}
+ env:
+ GITTER: ${{ secrets.GITTER }}
+ if: (success() || failure()) && env.GITTER != ''
+ run: bash .github/notify-gitter.sh ${{ job.status }}
- uses: codecov/codecov-action@v1.0.13
# mac release
echo MEMCACHED_BINARY="${MEMCACHED_PREFIX}/bin/memcached" >> ${GITHUB_ENV}
fi
- name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }})
- run: cmake --config ${{ env.CMAKE_BUILD_TYPE }} -S . -B build
+ run: cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
- name: Build all with ${{ env.CXX }} ${{ env.CXXFLAGS }}
run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2
- name: Test
- name: Package
env:
PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
- if: env.CMAKE_BUILD_TYPE == 'Release' && !(env.OS_VER == 'ubuntu-18.04' && env.CC_VND == 'gnu' && env.CC_VER == 'new ')
+ if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release' && !(env.OS_VER == 'ubuntu-18.04' && env.CC_VND == 'gnu' && env.CC_VER == 'new ')
run: |
- cmake --config ${{ env.CMAKE_BUILD_TYPE }} -S . -B build
+ cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
cmake -DCPACK_COMPONENT_INSTALL=ON build
cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
- name: Notify Gitter
- if: success() || failure()
- run: bash .github/notify-gitter.sh ${{ secrets.GITTER }} ${{ job.status }}
+ env:
+ GITTER: ${{ secrets.GITTER }}
+ if: (success() || failure()) && env.GITTER != ''
+ run: bash .github/notify-gitter.sh ${{ job.status }}
# windows release builds
windows:
rsync
openssh
- name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }})
- run: cmake --config ${{ env.CMAKE_BUILD_TYPE }} -S . -B build
+ run: cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
- name: Build all with ${{ env.CXX }} ${{ env.CXXFLAGS }}
run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2
- name: Test
- name: Package
env:
PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
- if: env.CMAKE_BUILD_TYPE == 'Release' && !(env.OS_VER == 'ubuntu-18.04' && env.CC_VND == 'gnu' && env.CC_VER == 'new ')
+ if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release' && !(env.OS_VER == 'ubuntu-18.04' && env.CC_VND == 'gnu' && env.CC_VER == 'new ')
run: |
- cmake --config ${{ env.CMAKE_BUILD_TYPE }} -S . -B build
+ cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
cmake -DCPACK_COMPONENT_INSTALL=ON build
cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
- name: Notify Gitter
- if: success() || failure()
- run: bash .github/notify-gitter.sh ${{ secrets.GITTER }} ${{ job.status }}
+ env:
+ GITTER: ${{ secrets.GITTER }}
+ if: (success() || failure()) && env.GITTER != ''
+ run: bash .github/notify-gitter.sh ${{ job.status }}
# linux release builds
release:
run: |
echo CC="gcc-9" >> ${GITHUB_ENV}
echo CXX="g++-9" >> ${GITHUB_ENV}
- - name: Prepare environment (for old gnu on ubuntu-20.04)
- if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='gnu') && (env.CC_VER=='old')
- run: |
- echo CC="gcc-8" >> ${GITHUB_ENV}
- echo CXX="g++-8" >> ${GITHUB_ENV}
- name: Prepare environment (for new clang on ubuntu-20.04)
if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='clang') && (env.CC_VER=='new')
run: |
- echo CC="clang-10" >> ${GITHUB_ENV}
- echo CXX="clang++-10" >> ${GITHUB_ENV}
+ echo CC="clang-11" >> ${GITHUB_ENV}
+ echo CXX="clang++-11" >> ${GITHUB_ENV}
echo CXXFLAGS="-stdlib=libc++" >> ${GITHUB_ENV}
- name: Prepare environment (for cur clang on ubuntu-20.04)
if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='clang') && (env.CC_VER=='cur')
run: |
- echo CC="clang-9" >> ${GITHUB_ENV}
- echo CXX="clang++-9" >> ${GITHUB_ENV}
+ echo CC="clang-10" >> ${GITHUB_ENV}
+ echo CXX="clang++-10" >> ${GITHUB_ENV}
echo CXXFLAGS="-stdlib=libc++" >> ${GITHUB_ENV}
echo INSTALL_CXX="libc++-9-dev libc++abi-9-dev" >> ${GITHUB_ENV}
- name: Prepare environment (for old clang on ubuntu-20.04)
if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='clang') && (env.CC_VER=='old')
run: |
- echo CC="clang-8" >> ${GITHUB_ENV}
- echo CXX="clang++-8" >> ${GITHUB_ENV}
+ echo CC="clang-9" >> ${GITHUB_ENV}
+ echo CXX="clang++-9" >> ${GITHUB_ENV}
echo CXXFLAGS="-stdlib=libc++" >> ${GITHUB_ENV}
echo INSTALL_CXX="libc++-8-dev libc++abi-8-dev" >> ${GITHUB_ENV}
- name: Prepare environment (for new gnu on ubuntu-18.04)
if: (env.OS_VER=='ubuntu-18.04') && (env.CC_VND=='gnu') && (env.CC_VER=='new')
run: |
- echo CC="gcc-9" >> ${GITHUB_ENV}
- echo CXX="g++-9" >> ${GITHUB_ENV}
+ echo CC="gcc-10" >> ${GITHUB_ENV}
+ echo CXX="g++-10" >> ${GITHUB_ENV}
- name: Prepare environment (for cur gnu on ubuntu-18.04)
if: (env.OS_VER=='ubuntu-18.04') && (env.CC_VND=='gnu') && (env.CC_VER=='cur')
run: |
- echo CC="gcc-8" >> ${GITHUB_ENV}
- echo CXX="g++-8" >> ${GITHUB_ENV}
+ echo CC="gcc-9" >> ${GITHUB_ENV}
+ echo CXX="g++-9" >> ${GITHUB_ENV}
- name: Prepare environment (for old gnu on ubuntu-18.04)
if: (env.OS_VER=='ubuntu-18.04') && (env.CC_VND=='gnu') && (env.CC_VER=='old')
run: |
echo CC="gcc-7" >> ${GITHUB_ENV}
echo CXX="g++-7" >> ${GITHUB_ENV}
- - name: Prepare environment (for new clang on ubuntu-18.04)
- if: (env.OS_VER=='ubuntu-18.04') && (env.CC_VND=='clang') && (env.CC_VER=='new')
- run: |
- echo CC="clang-9" >> ${GITHUB_ENV}
- echo CXX="clang++-9" >> ${GITHUB_ENV}
- echo CXXFLAGS="-stdlib=libc++" >> ${GITHUB_ENV}
- name: Prepare environment (for cur clang on ubuntu-18.04)
if: (env.OS_VER=='ubuntu-18.04') && (env.CC_VND=='clang') && (env.CC_VER=='cur')
run: |
- echo CC="clang-8" >> ${GITHUB_ENV}
- echo CXX="clang++-8" >> ${GITHUB_ENV}
- echo CXXFLAGS="-stdlib=libc++" >> ${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-6.0" >> ${GITHUB_ENV}
- echo CXX="clang++-6.0" >> ${GITHUB_ENV}
+ echo CC="clang-9" >> ${GITHUB_ENV}
+ echo CXX="clang++-9" >> ${GITHUB_ENV}
echo CXXFLAGS="-stdlib=libc++" >> ${GITHUB_ENV}
- name: Install dependencies (Linux)
if: runner.os == 'Linux'
run: |
+ sudo apt-get update -y
sudo apt-get install -my \
libevent-dev \
libsasl2-dev \
echo MEMCACHED_BINARY="${MEMCACHED_PREFIX}/bin/memcached" >> ${GITHUB_ENV}
fi
- name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }})
- run: cmake --config ${{ env.CMAKE_BUILD_TYPE }} -S . -B build
+ run: cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
- name: Build all with ${{ env.CXX }} ${{ env.CXXFLAGS }}
run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2
- name: Test
- name: Package
env:
PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
- if: env.CMAKE_BUILD_TYPE == 'Release' && !(env.OS_VER == 'ubuntu-18.04' && env.CC_VND == 'gnu' && env.CC_VER == 'new ')
+ if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release' && !(env.OS_VER == 'ubuntu-18.04' && env.CC_VND == 'gnu' && env.CC_VER == 'new ')
run: |
- cmake --config ${{ env.CMAKE_BUILD_TYPE }} -S . -B build
+ cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build
cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
cmake -DCPACK_COMPONENT_INSTALL=ON build
cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
- name: Notify Gitter
- if: success() || failure()
- run: bash .github/notify-gitter.sh ${{ secrets.GITTER }} ${{ job.status }}
+ env:
+ GITTER: ${{ secrets.GITTER }}
+ if: (success() || failure()) && env.GITTER != ''
+ run: bash .github/notify-gitter.sh ${{ job.status }}