build(deps): bump actions/checkout from 5 to 6 #331
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Generated file; do not edit! | |
| name: cmake-build-ci | |
| on: | |
| workflow_dispatch: | |
| release: | |
| types: [published] | |
| push: | |
| paths: | |
| - ".github/workflows/cmake-build-ci*" | |
| - "CMake*" | |
| - "CPack*" | |
| - "contrib/**" | |
| - "include/**" | |
| - "src/**" | |
| - "test/**" | |
| branches-ignore: | |
| - gh-pages | |
| pull_request: | |
| branches: | |
| - master | |
| - v1.x | |
| env: | |
| # defaults | |
| INSTALL_MEMCACHED: memcached | |
| ENABLE_SASL: "OFF" # ^ almost no memcached distribution package has built in sasl support | |
| ENABLE_HASH_HSIEH: "ON" | |
| ENABLE_DTRACE: "OFF" | |
| OS_VND: Linux # | |
| OS_VER: ubuntu-24.04 # | |
| CC_VND: gnu # | |
| CC_VER: cur | |
| jobs: | |
| # sanitizer | |
| debug-sanitizer: | |
| name: debug sanitizer | |
| runs-on: ubuntu-24.04 # | |
| strategy: | |
| matrix: | |
| sanitizer: ['address;undefined', 'thread'] | |
| env: | |
| CMAKE_BUILD_TYPE: "Debug" | |
| BUILD_TESTING: "ON" | |
| VERBOSE: "ON" | |
| ENABLE_SANITIZERS: ${{ matrix.sanitizer }} | |
| permissions: | |
| contents: read | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Prepare environment (for cur gnu on ubuntu-24.04) | |
| if: (env.OS_VER=='ubuntu-24.04') && (env.CC_VND=='gnu') && (env.CC_VER=='cur') | |
| run: | | |
| echo CC="gcc-13" >> ${GITHUB_ENV} | |
| echo CXX="g++-13" >> ${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 \ | |
| libtbb-dev \ | |
| python3-sphinx \ | |
| ${INSTALL_MEMCACHED} \ | |
| ${INSTALL_CC} ${INSTALL_CXX} | |
| sudo systemctl stop memcached || true | |
| - name: Build memcached | |
| if: runner.os != 'Windows' | |
| run: | | |
| if test -d memcached | |
| then | |
| cd memcached | |
| ./autogen.sh | |
| cp configure{,.old} && sed -e 's/-Werror//g' <configure.old >configure | |
| ./configure CFLAGS="-O2 -pipe -fcommon" \ | |
| --prefix=${MEMCACHED_PREFIX} \ | |
| --enable-sasl \ | |
| --enable-sasl-pwdb \ | |
| --disable-coverage \ | |
| --disable-dependency-tracking \ | |
| --disable-docs \ | |
| --disable-extstore \ | |
| --disable-option-checking \ | |
| ; | |
| make -j4 | |
| make install | |
| cd .. | |
| echo MEMCACHED_BINARY="${MEMCACHED_PREFIX}/bin/memcached" >> ${GITHUB_ENV} | |
| fi | |
| - name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }}) | |
| 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 }} -j4 | |
| - name: Test | |
| if: env.BUILD_TESTING == 'ON' | |
| run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j4 --target test | |
| - name: Install | |
| if: env.BUILD_TESTING == 'ON' | |
| run: cmake --install build --config ${{ env.CMAKE_BUILD_TYPE }} --prefix /tmp | |
| - name: Failed tests log | |
| if: ${{ env.BUILD_TESTING == 'ON' && failure() }} | |
| run: cat build/Testing/Temporary/LastTest.log || true | |
| - name: Package | |
| env: | |
| PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }} | |
| if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release' | |
| run: | | |
| cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build | |
| cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j4 --target package | |
| cmake -DCPACK_COMPONENT_INSTALL=ON build | |
| cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j4 --target package | |
| cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j4 --target push-artifacts | |
| # memcached | |
| debug-memcached: | |
| name: debug memcached | |
| runs-on: ubuntu-24.04 # | |
| continue-on-error: true | |
| strategy: | |
| matrix: | |
| memcached: | |
| - 'master' | |
| - '1.6.38' # Debian 13, FreeBSD 14 | |
| # - '1.6.37' # Ubuntu 25.04 | |
| - '1.6.24' # Ubuntu 24.04 | |
| # - '1.6.23' # Enterprise Linux 10 | |
| - '1.6.18' # Debian 12 | |
| - '1.6.14' # Ubuntu 22.04, Amazon Linux 2023 | |
| - '1.6.9' # Debian 11, Enterprise Linux 9 | |
| - '1.5.22' # Last 1.5 release | |
| env: | |
| CMAKE_BUILD_TYPE: "Debug" | |
| BUILD_TESTING: "ON" | |
| VERBOSE: "ON" | |
| INSTALL_MEMCACHED: "" | |
| MEMCACHED_PREFIX: "/tmp" | |
| ENABLE_SASL: "ON" | |
| permissions: | |
| contents: read | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/checkout@v6 | |
| with: | |
| repository: memcached/memcached | |
| path: memcached | |
| ref: ${{ matrix.memcached }} | |
| fetch-depth: ${{ matrix.memcached != 'master' }} | |
| - name: Prepare environment (for cur gnu on ubuntu-24.04) | |
| if: (env.OS_VER=='ubuntu-24.04') && (env.CC_VND=='gnu') && (env.CC_VER=='cur') | |
| run: | | |
| echo CC="gcc-13" >> ${GITHUB_ENV} | |
| echo CXX="g++-13" >> ${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 \ | |
| libtbb-dev \ | |
| python3-sphinx \ | |
| ${INSTALL_MEMCACHED} \ | |
| ${INSTALL_CC} ${INSTALL_CXX} | |
| sudo systemctl stop memcached || true | |
| - name: Build memcached | |
| if: runner.os != 'Windows' | |
| run: | | |
| if test -d memcached | |
| then | |
| cd memcached | |
| ./autogen.sh | |
| cp configure{,.old} && sed -e 's/-Werror//g' <configure.old >configure | |
| ./configure CFLAGS="-O2 -pipe -fcommon" \ | |
| --prefix=${MEMCACHED_PREFIX} \ | |
| --enable-sasl \ | |
| --enable-sasl-pwdb \ | |
| --disable-coverage \ | |
| --disable-dependency-tracking \ | |
| --disable-docs \ | |
| --disable-extstore \ | |
| --disable-option-checking \ | |
| ; | |
| make -j4 | |
| make install | |
| cd .. | |
| echo MEMCACHED_BINARY="${MEMCACHED_PREFIX}/bin/memcached" >> ${GITHUB_ENV} | |
| fi | |
| - name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }}) | |
| 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 }} -j4 | |
| - name: Test | |
| if: env.BUILD_TESTING == 'ON' | |
| run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j4 --target test | |
| - name: Install | |
| if: env.BUILD_TESTING == 'ON' | |
| run: cmake --install build --config ${{ env.CMAKE_BUILD_TYPE }} --prefix /tmp | |
| - name: Failed tests log | |
| if: ${{ env.BUILD_TESTING == 'ON' && failure() }} | |
| run: cat build/Testing/Temporary/LastTest.log || true | |
| - name: Package | |
| env: | |
| PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }} | |
| if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release' | |
| run: | | |
| cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build | |
| cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j4 --target package | |
| cmake -DCPACK_COMPONENT_INSTALL=ON build | |
| cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j4 --target package | |
| cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j4 --target push-artifacts | |
| # mac release builds | |
| mac: | |
| name: release | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os_ver: [macos-13, macos-14, macos-15] | |
| runs-on: ${{ matrix.os_ver }} | |
| env: | |
| CMAKE_BUILD_TYPE: "Release" | |
| BUILD_DOCS_MANGZ: "ON" | |
| OS_VND: macOS # | |
| OS_VER: macos-15 # | |
| CC_VND: clang # | |
| CC_VER: cur | |
| permissions: | |
| contents: read | |
| continue-on-error: true | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Install dependencies (macOS) | |
| if: runner.os == 'macOS' | |
| run: | | |
| brew install bison flex libevent pkg-config rsync sphinx-doc ${INSTALL_MEMCACHED} | |
| brew services stop memcached || true | |
| echo MEMCACHED_BINARY="/usr/local/bin/memcached" >> ${GITHUB_ENV} | |
| - name: Build memcached | |
| if: runner.os != 'Windows' | |
| run: | | |
| if test -d memcached | |
| then | |
| cd memcached | |
| ./autogen.sh | |
| cp configure{,.old} && sed -e 's/-Werror//g' <configure.old >configure | |
| ./configure CFLAGS="-O2 -pipe -fcommon" \ | |
| --prefix=${MEMCACHED_PREFIX} \ | |
| --enable-sasl \ | |
| --enable-sasl-pwdb \ | |
| --disable-coverage \ | |
| --disable-dependency-tracking \ | |
| --disable-docs \ | |
| --disable-extstore \ | |
| --disable-option-checking \ | |
| ; | |
| make -j4 | |
| make install | |
| cd .. | |
| echo MEMCACHED_BINARY="${MEMCACHED_PREFIX}/bin/memcached" >> ${GITHUB_ENV} | |
| fi | |
| - name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }}) | |
| 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 }} -j4 | |
| - name: Test | |
| if: env.BUILD_TESTING == 'ON' | |
| run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j4 --target test | |
| - name: Install | |
| if: env.BUILD_TESTING == 'ON' | |
| run: cmake --install build --config ${{ env.CMAKE_BUILD_TYPE }} --prefix /tmp | |
| - name: Failed tests log | |
| if: ${{ env.BUILD_TESTING == 'ON' && failure() }} | |
| run: cat build/Testing/Temporary/LastTest.log || true | |
| - name: Package | |
| env: | |
| PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }} | |
| if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release' | |
| run: | | |
| cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build | |
| cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j4 --target package | |
| cmake -DCPACK_COMPONENT_INSTALL=ON build | |
| cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j4 --target package | |
| cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j4 --target push-artifacts | |
| # windows release builds | |
| windows: | |
| name: release | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os_ver: [windows-2022, windows-2025] | |
| cc_vnd: [msvc, mingw] | |
| cc_ver: [cur] | |
| runs-on: ${{ matrix.os_ver }} | |
| continue-on-error: true | |
| env: | |
| CMAKE_BUILD_TYPE: "Release" | |
| OS_VND: Windows | |
| OS_VER: ${{ matrix.os_ver }} | |
| CC_VND: ${{ matrix.cc_vnd }} | |
| CC_VER: ${{ matrix.cc_ver }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Prepare environment (Windows) | |
| run: | | |
| echo "c:\msys64\usr\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | |
| echo "c:\msys64\mingw64\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | |
| - name: Prepare environment (for cur msvc on windows-2022) | |
| if: (env.OS_VER=='windows-2022') && (env.CC_VND=='msvc') && (env.CC_VER=='cur') | |
| run: | | |
| echo 'CMAKE_GENERATOR=Visual Studio 17 2022' | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append | |
| - name: Prepare environment (for cur mingw on windows-2022) | |
| if: (env.OS_VER=='windows-2022') && (env.CC_VND=='mingw') && (env.CC_VER=='cur') | |
| run: | | |
| echo 'CMAKE_GENERATOR=MinGW Makefiles' | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append | |
| - name: Prepare environment (for cur msvc on windows-2025) | |
| if: (env.OS_VER=='windows-2025') && (env.CC_VND=='msvc') && (env.CC_VER=='cur') | |
| run: | | |
| echo 'CMAKE_GENERATOR=Visual Studio 17 2022' | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append | |
| - name: Prepare environment (for cur mingw on windows-2025) | |
| if: (env.OS_VER=='windows-2025') && (env.CC_VND=='mingw') && (env.CC_VER=='cur') | |
| run: | | |
| echo 'CMAKE_GENERATOR=MinGW Makefiles' | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append | |
| - name: Install dependencies (Windows) | |
| if: runner.os == 'Windows' | |
| uses: msys2/setup-msys2@v2 | |
| with: | |
| release: false | |
| path-type: inherit | |
| install: >- | |
| bison | |
| flex | |
| rsync | |
| openssh | |
| pacboy: >- | |
| nsis:p | |
| - name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }}) | |
| 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 }} -j4 | |
| - name: Test | |
| if: env.BUILD_TESTING == 'ON' | |
| run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j4 --target test | |
| - name: Install | |
| if: env.BUILD_TESTING == 'ON' | |
| run: cmake --install build --config ${{ env.CMAKE_BUILD_TYPE }} --prefix /tmp | |
| - name: Failed tests log | |
| if: ${{ env.BUILD_TESTING == 'ON' && failure() }} | |
| run: cat build/Testing/Temporary/LastTest.log || true | |
| - name: Package | |
| env: | |
| PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }} | |
| if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release' | |
| run: | | |
| cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build | |
| cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j4 --target package | |
| cmake -DCPACK_COMPONENT_INSTALL=ON build | |
| cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j4 --target package | |
| cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j4 --target push-artifacts | |
| # linux release builds | |
| release: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os_ver: [ubuntu-22.04, ubuntu-24.04] | |
| cc_vnd: [gnu, clang] | |
| cc_ver: [new, cur, old] | |
| runs-on: ${{ matrix.os_ver }} | |
| continue-on-error: ${{ matrix.cc_vnd == 'clang' }} | |
| env: | |
| CMAKE_BUILD_TYPE: "Release" | |
| BUILD_DOCS_MANGZ: "ON" | |
| OS_VND: Linux | |
| OS_VER: ${{ matrix.os_ver }} | |
| CC_VND: ${{ matrix.cc_vnd }} | |
| CC_VER: ${{ matrix.cc_ver }} | |
| permissions: | |
| contents: read | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Prepare environment (for new gnu on ubuntu-22.04) | |
| if: (env.OS_VER=='ubuntu-22.04') && (env.CC_VND=='gnu') && (env.CC_VER=='new') | |
| run: | | |
| echo CC="gcc-12" >> ${GITHUB_ENV} | |
| echo CXX="g++-12" >> ${GITHUB_ENV} | |
| - name: Prepare environment (for cur gnu on ubuntu-22.04) | |
| if: (env.OS_VER=='ubuntu-22.04') && (env.CC_VND=='gnu') && (env.CC_VER=='cur') | |
| run: | | |
| echo CC="gcc-11" >> ${GITHUB_ENV} | |
| echo CXX="g++-11" >> ${GITHUB_ENV} | |
| - name: Prepare environment (for old gnu on ubuntu-22.04) | |
| if: (env.OS_VER=='ubuntu-22.04') && (env.CC_VND=='gnu') && (env.CC_VER=='old') | |
| run: | | |
| echo CC="gcc-10" >> ${GITHUB_ENV} | |
| echo CXX="g++-10" >> ${GITHUB_ENV} | |
| - name: Prepare environment (for new clang on ubuntu-22.04) | |
| if: (env.OS_VER=='ubuntu-22.04') && (env.CC_VND=='clang') && (env.CC_VER=='new') | |
| run: | | |
| echo CC="clang-15" >> ${GITHUB_ENV} | |
| echo CXX="clang++-15" >> ${GITHUB_ENV} | |
| echo CXXFLAGS="-stdlib=libc++" >> ${GITHUB_ENV} | |
| echo INSTALL_CXX="libc++-15-dev libc++abi-15-dev" >> ${GITHUB_ENV} | |
| - name: Prepare environment (for cur clang on ubuntu-22.04) | |
| if: (env.OS_VER=='ubuntu-22.04') && (env.CC_VND=='clang') && (env.CC_VER=='cur') | |
| run: | | |
| echo CC="clang-14" >> ${GITHUB_ENV} | |
| echo CXX="clang++-14" >> ${GITHUB_ENV} | |
| echo CXXFLAGS="-stdlib=libc++" >> ${GITHUB_ENV} | |
| echo INSTALL_CXX="libc++-14-dev libc++abi-14-dev" >> ${GITHUB_ENV} | |
| - name: Prepare environment (for old clang on ubuntu-22.04) | |
| if: (env.OS_VER=='ubuntu-22.04') && (env.CC_VND=='clang') && (env.CC_VER=='old') | |
| run: | | |
| echo CC="clang-13" >> ${GITHUB_ENV} | |
| echo CXX="clang++-13" >> ${GITHUB_ENV} | |
| echo CXXFLAGS="-stdlib=libc++" >> ${GITHUB_ENV} | |
| echo INSTALL_CXX="libc++-13-dev libc++abi-13-dev" >> ${GITHUB_ENV} | |
| - name: Prepare environment (for new gnu on ubuntu-24.04) | |
| if: (env.OS_VER=='ubuntu-24.04') && (env.CC_VND=='gnu') && (env.CC_VER=='new') | |
| run: | | |
| echo CC="gcc-14" >> ${GITHUB_ENV} | |
| echo CXX="g++-14" >> ${GITHUB_ENV} | |
| - name: Prepare environment (for cur gnu on ubuntu-24.04) | |
| if: (env.OS_VER=='ubuntu-24.04') && (env.CC_VND=='gnu') && (env.CC_VER=='cur') | |
| run: | | |
| echo CC="gcc-13" >> ${GITHUB_ENV} | |
| echo CXX="g++-13" >> ${GITHUB_ENV} | |
| - name: Prepare environment (for new clang on ubuntu-24.04) | |
| if: (env.OS_VER=='ubuntu-24.04') && (env.CC_VND=='clang') && (env.CC_VER=='new') | |
| run: | | |
| echo CC="clang-18" >> ${GITHUB_ENV} | |
| echo CXX="clang++-18" >> ${GITHUB_ENV} | |
| echo CXXFLAGS="-stdlib=libc++" >> ${GITHUB_ENV} | |
| echo INSTALL_CXX="libc++-18-dev libc++abi-18-dev" >> ${GITHUB_ENV} | |
| - name: Prepare environment (for cur clang on ubuntu-24.04) | |
| if: (env.OS_VER=='ubuntu-24.04') && (env.CC_VND=='clang') && (env.CC_VER=='cur') | |
| run: | | |
| echo CC="clang-17" >> ${GITHUB_ENV} | |
| echo CXX="clang++-17" >> ${GITHUB_ENV} | |
| echo CXXFLAGS="-stdlib=libc++" >> ${GITHUB_ENV} | |
| echo INSTALL_CXX="libc++-17-dev libc++abi-17-dev" >> ${GITHUB_ENV} | |
| - name: Prepare environment (for old clang on ubuntu-24.04) | |
| if: (env.OS_VER=='ubuntu-24.04') && (env.CC_VND=='clang') && (env.CC_VER=='old') | |
| run: | | |
| echo CC="clang-16" >> ${GITHUB_ENV} | |
| echo CXX="clang++-16" >> ${GITHUB_ENV} | |
| echo CXXFLAGS="-stdlib=libc++" >> ${GITHUB_ENV} | |
| echo INSTALL_CXX="libc++-16-dev libc++abi-16-dev" >> ${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 \ | |
| libtbb-dev \ | |
| python3-sphinx \ | |
| ${INSTALL_MEMCACHED} \ | |
| ${INSTALL_CC} ${INSTALL_CXX} | |
| sudo systemctl stop memcached || true | |
| - name: Build memcached | |
| if: runner.os != 'Windows' | |
| run: | | |
| if test -d memcached | |
| then | |
| cd memcached | |
| ./autogen.sh | |
| cp configure{,.old} && sed -e 's/-Werror//g' <configure.old >configure | |
| ./configure CFLAGS="-O2 -pipe -fcommon" \ | |
| --prefix=${MEMCACHED_PREFIX} \ | |
| --enable-sasl \ | |
| --enable-sasl-pwdb \ | |
| --disable-coverage \ | |
| --disable-dependency-tracking \ | |
| --disable-docs \ | |
| --disable-extstore \ | |
| --disable-option-checking \ | |
| ; | |
| make -j4 | |
| make install | |
| cd .. | |
| echo MEMCACHED_BINARY="${MEMCACHED_PREFIX}/bin/memcached" >> ${GITHUB_ENV} | |
| fi | |
| - name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }}) | |
| 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 }} -j4 | |
| - name: Test | |
| if: env.BUILD_TESTING == 'ON' | |
| run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j4 --target test | |
| - name: Install | |
| if: env.BUILD_TESTING == 'ON' | |
| run: cmake --install build --config ${{ env.CMAKE_BUILD_TYPE }} --prefix /tmp | |
| - name: Failed tests log | |
| if: ${{ env.BUILD_TESTING == 'ON' && failure() }} | |
| run: cat build/Testing/Temporary/LastTest.log || true | |
| - name: Package | |
| env: | |
| PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }} | |
| if: env.PUSH_ARTIFACTS_ID != '' && env.CMAKE_BUILD_TYPE == 'Release' | |
| run: | | |
| cmake -DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -S . -B build | |
| cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j4 --target package | |
| cmake -DCPACK_COMPONENT_INSTALL=ON build | |
| cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j4 --target package | |
| cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j4 --target push-artifacts |