1 # Generated file; do not edit!
12 - ".github/workflows/cmake-build-ci*"
21 INSTALL_MEMCACHED: memcached
22 ENABLE_SASL: "OFF" # ^ almost no memcached distribution package has built in sasl support
23 ENABLE_HASH_HSIEH: "ON"
26 OS_VER: ubuntu-20.04 #
34 name: dbg-new (ubuntu-20.04, gnu, cur)
35 runs-on: ubuntu-20.04 #
37 CMAKE_BUILD_TYPE: "Debug"
40 CFLAGS: "-O0 --coverage"
41 CXXFLAGS: "-O0 --coverage"
43 MEMCACHED_PREFIX: "/tmp"
46 - uses: actions/checkout@v2
47 - uses: actions/checkout@v2
49 repository: memcached/memcached
52 - name: Prepare environment (for cur gnu on ubuntu-20.04)
53 if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='gnu') && (env.CC_VER=='cur')
55 echo CC="gcc-9" >> ${GITHUB_ENV}
56 echo CXX="g++-9" >> ${GITHUB_ENV}
57 - name: Install dependencies (Linux)
58 if: runner.os == 'Linux'
60 sudo apt-get install -my \
65 ${INSTALL_MEMCACHED} \
66 ${INSTALL_CC} ${INSTALL_CXX}
67 sudo systemctl stop memcached || true
68 - name: Install dependencies (Mac)
69 if: runner.os == 'macOS'
71 brew install bison flex sphinx-doc ${INSTALL_MEMCACHED}
72 brew services stop memcached || true
73 echo MEMCACHED_BINARY="/usr/local/bin/memcached" >> ${GITHUB_ENV}
74 - name: Build memcached
75 if: runner.os != 'Windows'
81 ./configure CFLAGS="-O2 -pipe" \
82 --prefix=${MEMCACHED_PREFIX} \
86 --disable-dependency-tracking \
89 --disable-option-checking \
94 echo MEMCACHED_BINARY="${MEMCACHED_PREFIX}/bin/memcached" >> ${GITHUB_ENV}
96 - name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }})
97 run: cmake --config ${{ env.CMAKE_BUILD_TYPE }} -S . -B build
98 - name: Build all with ${{ env.CXX }} ${{ env.CXXFLAGS }}
99 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2
101 if: env.BUILD_TESTING == 'ON'
102 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target test
104 if: env.BUILD_TESTING == 'ON'
105 run: cmake --install build --config ${{ env.CMAKE_BUILD_TYPE }} --prefix /tmp
106 - name: Failed tests log
107 if: ${{ env.BUILD_TESTING == 'ON' && failure() }}
108 run: cat build/Testing/Temporary/LastTest.log || true
111 PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
112 if: env.CC_VER == 'cur' && env.CMAKE_BUILD_TYPE == 'Release'
114 cmake --config ${{ env.CMAKE_BUILD_TYPE }} -S . -B build
115 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
116 cmake -DCPACK_COMPONENT_INSTALL=ON build
117 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
118 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
119 - name: Notify Gitter (success)
120 if: ${{ success() && runner.os != 'Windows'}}
122 REF=$(basename ${GITHUB_REF})
123 curl -sS "${{ secrets.GITTER }}" \
124 --data-urlencode "level=info" \
125 --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}})"
126 - name: Notify Gitter (failure)
127 if: ${{ failure() && runner.os != 'Windows'}}
129 REF=$(basename ${GITHUB_REF})
130 curl -sS "${{ secrets.GITTER }}" \
131 --data-urlencode "level=error" \
132 --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}})"
133 - uses: codecov/codecov-action@v1.0.13
137 name: dbg-san (ubuntu-20.04, gnu, cur)
138 runs-on: ubuntu-20.04 #
140 CMAKE_BUILD_TYPE: "Debug"
143 ENABLE_SANITIZERS: "address;undefined"
145 - uses: actions/checkout@v2
146 - name: Prepare environment (for cur gnu on ubuntu-20.04)
147 if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='gnu') && (env.CC_VER=='cur')
149 echo CC="gcc-9" >> ${GITHUB_ENV}
150 echo CXX="g++-9" >> ${GITHUB_ENV}
151 - name: Install dependencies (Linux)
152 if: runner.os == 'Linux'
154 sudo apt-get install -my \
159 ${INSTALL_MEMCACHED} \
160 ${INSTALL_CC} ${INSTALL_CXX}
161 sudo systemctl stop memcached || true
162 - name: Install dependencies (Mac)
163 if: runner.os == 'macOS'
165 brew install bison flex sphinx-doc ${INSTALL_MEMCACHED}
166 brew services stop memcached || true
167 echo MEMCACHED_BINARY="/usr/local/bin/memcached" >> ${GITHUB_ENV}
168 - name: Build memcached
169 if: runner.os != 'Windows'
175 ./configure CFLAGS="-O2 -pipe" \
176 --prefix=${MEMCACHED_PREFIX} \
180 --disable-dependency-tracking \
183 --disable-option-checking \
188 echo MEMCACHED_BINARY="${MEMCACHED_PREFIX}/bin/memcached" >> ${GITHUB_ENV}
190 - name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }})
191 run: cmake --config ${{ env.CMAKE_BUILD_TYPE }} -S . -B build
192 - name: Build all with ${{ env.CXX }} ${{ env.CXXFLAGS }}
193 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2
195 if: env.BUILD_TESTING == 'ON'
196 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target test
198 if: env.BUILD_TESTING == 'ON'
199 run: cmake --install build --config ${{ env.CMAKE_BUILD_TYPE }} --prefix /tmp
200 - name: Failed tests log
201 if: ${{ env.BUILD_TESTING == 'ON' && failure() }}
202 run: cat build/Testing/Temporary/LastTest.log || true
205 PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
206 if: env.CC_VER == 'cur' && env.CMAKE_BUILD_TYPE == 'Release'
208 cmake --config ${{ env.CMAKE_BUILD_TYPE }} -S . -B build
209 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
210 cmake -DCPACK_COMPONENT_INSTALL=ON build
211 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
212 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
213 - name: Notify Gitter (success)
214 if: ${{ success() && runner.os != 'Windows'}}
216 REF=$(basename ${GITHUB_REF})
217 curl -sS "${{ secrets.GITTER }}" \
218 --data-urlencode "level=info" \
219 --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}})"
220 - name: Notify Gitter (failure)
221 if: ${{ failure() && runner.os != 'Windows'}}
223 REF=$(basename ${GITHUB_REF})
224 curl -sS "${{ secrets.GITTER }}" \
225 --data-urlencode "level=error" \
226 --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}})"
228 # thread sanitizer build
230 name: dbg-tsan (ubuntu-20.04, gnu, cur)
231 runs-on: ubuntu-20.04 #
233 CMAKE_BUILD_TYPE: "Debug"
236 ENABLE_SANITIZERS: "thread"
238 - uses: actions/checkout@v2
239 - name: Prepare environment (for cur gnu on ubuntu-20.04)
240 if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='gnu') && (env.CC_VER=='cur')
242 echo CC="gcc-9" >> ${GITHUB_ENV}
243 echo CXX="g++-9" >> ${GITHUB_ENV}
244 - name: Install dependencies (Linux)
245 if: runner.os == 'Linux'
247 sudo apt-get install -my \
252 ${INSTALL_MEMCACHED} \
253 ${INSTALL_CC} ${INSTALL_CXX}
254 sudo systemctl stop memcached || true
255 - name: Install dependencies (Mac)
256 if: runner.os == 'macOS'
258 brew install bison flex sphinx-doc ${INSTALL_MEMCACHED}
259 brew services stop memcached || true
260 echo MEMCACHED_BINARY="/usr/local/bin/memcached" >> ${GITHUB_ENV}
261 - name: Build memcached
262 if: runner.os != 'Windows'
268 ./configure CFLAGS="-O2 -pipe" \
269 --prefix=${MEMCACHED_PREFIX} \
273 --disable-dependency-tracking \
276 --disable-option-checking \
281 echo MEMCACHED_BINARY="${MEMCACHED_PREFIX}/bin/memcached" >> ${GITHUB_ENV}
283 - name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }})
284 run: cmake --config ${{ env.CMAKE_BUILD_TYPE }} -S . -B build
285 - name: Build all with ${{ env.CXX }} ${{ env.CXXFLAGS }}
286 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2
288 if: env.BUILD_TESTING == 'ON'
289 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target test
291 if: env.BUILD_TESTING == 'ON'
292 run: cmake --install build --config ${{ env.CMAKE_BUILD_TYPE }} --prefix /tmp
293 - name: Failed tests log
294 if: ${{ env.BUILD_TESTING == 'ON' && failure() }}
295 run: cat build/Testing/Temporary/LastTest.log || true
298 PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
299 if: env.CC_VER == 'cur' && env.CMAKE_BUILD_TYPE == 'Release'
301 cmake --config ${{ env.CMAKE_BUILD_TYPE }} -S . -B build
302 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
303 cmake -DCPACK_COMPONENT_INSTALL=ON build
304 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
305 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
306 - name: Notify Gitter (success)
307 if: ${{ success() && runner.os != 'Windows'}}
309 REF=$(basename ${GITHUB_REF})
310 curl -sS "${{ secrets.GITTER }}" \
311 --data-urlencode "level=info" \
312 --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}})"
313 - name: Notify Gitter (failure)
314 if: ${{ failure() && runner.os != 'Windows'}}
316 REF=$(basename ${GITHUB_REF})
317 curl -sS "${{ secrets.GITTER }}" \
318 --data-urlencode "level=error" \
319 --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}})"
323 name: dbg-mac (macos-10.15, clang, cur)
324 runs-on: macos-10.15 #
326 CMAKE_BUILD_TYPE: "Debug"
329 CFLAGS: "-O0 --coverage"
330 CXXFLAGS: "-O0 --coverage"
332 OS_VER: macos-10.15 #
336 continue-on-error: true
338 - uses: actions/checkout@v2
339 - name: Install dependencies (Linux)
340 if: runner.os == 'Linux'
342 sudo apt-get install -my \
347 ${INSTALL_MEMCACHED} \
348 ${INSTALL_CC} ${INSTALL_CXX}
349 sudo systemctl stop memcached || true
350 - name: Install dependencies (Mac)
351 if: runner.os == 'macOS'
353 brew install bison flex sphinx-doc ${INSTALL_MEMCACHED}
354 brew services stop memcached || true
355 echo MEMCACHED_BINARY="/usr/local/bin/memcached" >> ${GITHUB_ENV}
356 - name: Build memcached
357 if: runner.os != 'Windows'
363 ./configure CFLAGS="-O2 -pipe" \
364 --prefix=${MEMCACHED_PREFIX} \
368 --disable-dependency-tracking \
371 --disable-option-checking \
376 echo MEMCACHED_BINARY="${MEMCACHED_PREFIX}/bin/memcached" >> ${GITHUB_ENV}
378 - name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }})
379 run: cmake --config ${{ env.CMAKE_BUILD_TYPE }} -S . -B build
380 - name: Build all with ${{ env.CXX }} ${{ env.CXXFLAGS }}
381 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2
383 if: env.BUILD_TESTING == 'ON'
384 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target test
386 if: env.BUILD_TESTING == 'ON'
387 run: cmake --install build --config ${{ env.CMAKE_BUILD_TYPE }} --prefix /tmp
388 - name: Failed tests log
389 if: ${{ env.BUILD_TESTING == 'ON' && failure() }}
390 run: cat build/Testing/Temporary/LastTest.log || true
393 PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
394 if: env.CC_VER == 'cur' && env.CMAKE_BUILD_TYPE == 'Release'
396 cmake --config ${{ env.CMAKE_BUILD_TYPE }} -S . -B build
397 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
398 cmake -DCPACK_COMPONENT_INSTALL=ON build
399 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
400 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
401 - name: Notify Gitter (success)
402 if: ${{ success() && runner.os != 'Windows'}}
404 REF=$(basename ${GITHUB_REF})
405 curl -sS "${{ secrets.GITTER }}" \
406 --data-urlencode "level=info" \
407 --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}})"
408 - name: Notify Gitter (failure)
409 if: ${{ failure() && runner.os != 'Windows'}}
411 REF=$(basename ${GITHUB_REF})
412 curl -sS "${{ secrets.GITTER }}" \
413 --data-urlencode "level=error" \
414 --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}})"
415 - uses: codecov/codecov-action@v1.0.13
419 name: rel-mac (macos-10.15, clang, cur)
420 runs-on: macos-10.15 #
422 CMAKE_BUILD_TYPE: "Release"
423 BUILD_DOCS_MANGZ: "ON"
425 OS_VER: macos-10.15 #
428 continue-on-error: true
430 - uses: actions/checkout@v2
433 - name: Install dependencies (Linux)
434 if: runner.os == 'Linux'
436 sudo apt-get install -my \
441 ${INSTALL_MEMCACHED} \
442 ${INSTALL_CC} ${INSTALL_CXX}
443 sudo systemctl stop memcached || true
444 - name: Install dependencies (Mac)
445 if: runner.os == 'macOS'
447 brew install bison flex sphinx-doc ${INSTALL_MEMCACHED}
448 brew services stop memcached || true
449 echo MEMCACHED_BINARY="/usr/local/bin/memcached" >> ${GITHUB_ENV}
450 - name: Build memcached
451 if: runner.os != 'Windows'
457 ./configure CFLAGS="-O2 -pipe" \
458 --prefix=${MEMCACHED_PREFIX} \
462 --disable-dependency-tracking \
465 --disable-option-checking \
470 echo MEMCACHED_BINARY="${MEMCACHED_PREFIX}/bin/memcached" >> ${GITHUB_ENV}
472 - name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }})
473 run: cmake --config ${{ env.CMAKE_BUILD_TYPE }} -S . -B build
474 - name: Build all with ${{ env.CXX }} ${{ env.CXXFLAGS }}
475 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2
477 if: env.BUILD_TESTING == 'ON'
478 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target test
480 if: env.BUILD_TESTING == 'ON'
481 run: cmake --install build --config ${{ env.CMAKE_BUILD_TYPE }} --prefix /tmp
482 - name: Failed tests log
483 if: ${{ env.BUILD_TESTING == 'ON' && failure() }}
484 run: cat build/Testing/Temporary/LastTest.log || true
487 PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
488 if: env.CC_VER == 'cur' && env.CMAKE_BUILD_TYPE == 'Release'
490 cmake --config ${{ env.CMAKE_BUILD_TYPE }} -S . -B build
491 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
492 cmake -DCPACK_COMPONENT_INSTALL=ON build
493 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
494 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
495 - name: Notify Gitter (success)
496 if: ${{ success() && runner.os != 'Windows'}}
498 REF=$(basename ${GITHUB_REF})
499 curl -sS "${{ secrets.GITTER }}" \
500 --data-urlencode "level=info" \
501 --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}})"
502 - name: Notify Gitter (failure)
503 if: ${{ failure() && runner.os != 'Windows'}}
505 REF=$(basename ${GITHUB_REF})
506 curl -sS "${{ secrets.GITTER }}" \
507 --data-urlencode "level=error" \
508 --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}})"
512 name: win-msvc (windows-2019, msvc, cur)
513 runs-on: windows-2019 #
515 CMAKE_BUILD_TYPE: "Release"
516 BISON_ROOT: "C:/msys64/usr"
517 FLEX_ROOT: "C:/msys64/usr"
519 OS_VER: windows-2019 #
522 continue-on-error: true
524 - uses: actions/checkout@v2
527 - uses: msys2/setup-msys2@v2
534 - name: Install dependencies (Linux)
535 if: runner.os == 'Linux'
537 sudo apt-get install -my \
542 ${INSTALL_MEMCACHED} \
543 ${INSTALL_CC} ${INSTALL_CXX}
544 sudo systemctl stop memcached || true
545 - name: Install dependencies (Mac)
546 if: runner.os == 'macOS'
548 brew install bison flex sphinx-doc ${INSTALL_MEMCACHED}
549 brew services stop memcached || true
550 echo MEMCACHED_BINARY="/usr/local/bin/memcached" >> ${GITHUB_ENV}
551 - name: Build memcached
552 if: runner.os != 'Windows'
558 ./configure CFLAGS="-O2 -pipe" \
559 --prefix=${MEMCACHED_PREFIX} \
563 --disable-dependency-tracking \
566 --disable-option-checking \
571 echo MEMCACHED_BINARY="${MEMCACHED_PREFIX}/bin/memcached" >> ${GITHUB_ENV}
573 - name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }})
574 run: cmake --config ${{ env.CMAKE_BUILD_TYPE }} -S . -B build
575 - name: Build all with ${{ env.CXX }} ${{ env.CXXFLAGS }}
576 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2
578 if: env.BUILD_TESTING == 'ON'
579 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target test
581 if: env.BUILD_TESTING == 'ON'
582 run: cmake --install build --config ${{ env.CMAKE_BUILD_TYPE }} --prefix /tmp
583 - name: Failed tests log
584 if: ${{ env.BUILD_TESTING == 'ON' && failure() }}
585 run: cat build/Testing/Temporary/LastTest.log || true
588 PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
589 if: env.CC_VER == 'cur' && env.CMAKE_BUILD_TYPE == 'Release'
591 cmake --config ${{ env.CMAKE_BUILD_TYPE }} -S . -B build
592 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
593 cmake -DCPACK_COMPONENT_INSTALL=ON build
594 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
595 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
596 - name: Notify Gitter (success)
597 if: ${{ success() && runner.os != 'Windows'}}
599 REF=$(basename ${GITHUB_REF})
600 curl -sS "${{ secrets.GITTER }}" \
601 --data-urlencode "level=info" \
602 --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}})"
603 - name: Notify Gitter (failure)
604 if: ${{ failure() && runner.os != 'Windows'}}
606 REF=$(basename ${GITHUB_REF})
607 curl -sS "${{ secrets.GITTER }}" \
608 --data-urlencode "level=error" \
609 --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}})"
611 # win mingw build (set PATH=%PATH%;c:\msys64\mingw64\bin)
613 name: win-mingw (windows-2019, mingw, cur)
614 runs-on: windows-2019 #
616 CMAKE_BUILD_TYPE: "Release"
617 CMAKE_GENERATOR: "MinGW Makefiles"
618 BISON_ROOT: "C:/msys64/usr"
619 FLEX_ROOT: "C:/msys64/usr"
621 OS_VER: windows-2019 #
624 continue-on-error: true
626 - uses: actions/checkout@v2
627 - uses: msys2/setup-msys2@v2
633 mingw-w64-x86_64-toolchain
634 - name: Install dependencies (Linux)
635 if: runner.os == 'Linux'
637 sudo apt-get install -my \
642 ${INSTALL_MEMCACHED} \
643 ${INSTALL_CC} ${INSTALL_CXX}
644 sudo systemctl stop memcached || true
645 - name: Install dependencies (Mac)
646 if: runner.os == 'macOS'
648 brew install bison flex sphinx-doc ${INSTALL_MEMCACHED}
649 brew services stop memcached || true
650 echo MEMCACHED_BINARY="/usr/local/bin/memcached" >> ${GITHUB_ENV}
651 - name: Build memcached
652 if: runner.os != 'Windows'
658 ./configure CFLAGS="-O2 -pipe" \
659 --prefix=${MEMCACHED_PREFIX} \
663 --disable-dependency-tracking \
666 --disable-option-checking \
671 echo MEMCACHED_BINARY="${MEMCACHED_PREFIX}/bin/memcached" >> ${GITHUB_ENV}
673 - name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }})
674 run: cmake --config ${{ env.CMAKE_BUILD_TYPE }} -S . -B build
675 - name: Build all with ${{ env.CXX }} ${{ env.CXXFLAGS }}
676 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2
678 if: env.BUILD_TESTING == 'ON'
679 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target test
681 if: env.BUILD_TESTING == 'ON'
682 run: cmake --install build --config ${{ env.CMAKE_BUILD_TYPE }} --prefix /tmp
683 - name: Failed tests log
684 if: ${{ env.BUILD_TESTING == 'ON' && failure() }}
685 run: cat build/Testing/Temporary/LastTest.log || true
688 PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
689 if: env.CC_VER == 'cur' && env.CMAKE_BUILD_TYPE == 'Release'
691 cmake --config ${{ env.CMAKE_BUILD_TYPE }} -S . -B build
692 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
693 cmake -DCPACK_COMPONENT_INSTALL=ON build
694 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
695 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
696 - name: Notify Gitter (success)
697 if: ${{ success() && runner.os != 'Windows'}}
699 REF=$(basename ${GITHUB_REF})
700 curl -sS "${{ secrets.GITTER }}" \
701 --data-urlencode "level=info" \
702 --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}})"
703 - name: Notify Gitter (failure)
704 if: ${{ failure() && runner.os != 'Windows'}}
706 REF=$(basename ${GITHUB_REF})
707 curl -sS "${{ secrets.GITTER }}" \
708 --data-urlencode "level=error" \
709 --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}})"
711 # linux release builds
716 os_ver: [ubuntu-20.04, ubuntu-18.04]
718 cc_ver: [new, cur, old]
719 runs-on: ${{ matrix.os_ver }}
720 continue-on-error: ${{ matrix.cc_vnd == 'clang' }}
722 CMAKE_BUILD_TYPE: "Release"
723 BUILD_DOCS_MANGZ: "ON"
725 OS_VER: ${{ matrix.os_ver }}
726 CC_VND: ${{ matrix.cc_vnd }}
727 CC_VER: ${{ matrix.cc_ver }}
729 - uses: actions/checkout@v2
732 - name: Prepare environment (for new gnu on ubuntu-20.04)
733 if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='gnu') && (env.CC_VER=='new')
735 echo CC="gcc-10" >> ${GITHUB_ENV}
736 echo CXX="g++-10" >> ${GITHUB_ENV}
737 echo INSTALL_CC="gcc-10" >> ${GITHUB_ENV}
738 echo INSTALL_CXX="g++-10" >> ${GITHUB_ENV}
739 - name: Prepare environment (for cur gnu on ubuntu-20.04)
740 if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='gnu') && (env.CC_VER=='cur')
742 echo CC="gcc-9" >> ${GITHUB_ENV}
743 echo CXX="g++-9" >> ${GITHUB_ENV}
744 - name: Prepare environment (for old gnu on ubuntu-20.04)
745 if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='gnu') && (env.CC_VER=='old')
747 echo CC="gcc-8" >> ${GITHUB_ENV}
748 echo CXX="g++-8" >> ${GITHUB_ENV}
749 - name: Prepare environment (for new clang on ubuntu-20.04)
750 if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='clang') && (env.CC_VER=='new')
752 echo CC="clang-10" >> ${GITHUB_ENV}
753 echo CXX="clang++-10" >> ${GITHUB_ENV}
754 - name: Prepare environment (for cur clang on ubuntu-20.04)
755 if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='clang') && (env.CC_VER=='cur')
757 echo CC="clang-9" >> ${GITHUB_ENV}
758 echo CXX="clang++-9" >> ${GITHUB_ENV}
759 - name: Prepare environment (for old clang on ubuntu-20.04)
760 if: (env.OS_VER=='ubuntu-20.04') && (env.CC_VND=='clang') && (env.CC_VER=='old')
762 echo CC="clang-8" >> ${GITHUB_ENV}
763 echo CXX="clang++-8" >> ${GITHUB_ENV}
764 - name: Prepare environment (for new gnu on ubuntu-18.04)
765 if: (env.OS_VER=='ubuntu-18.04') && (env.CC_VND=='gnu') && (env.CC_VER=='new')
767 echo CC="gcc-9" >> ${GITHUB_ENV}
768 echo CXX="g++-9" >> ${GITHUB_ENV}
769 - name: Prepare environment (for cur gnu on ubuntu-18.04)
770 if: (env.OS_VER=='ubuntu-18.04') && (env.CC_VND=='gnu') && (env.CC_VER=='cur')
772 echo CC="gcc-8" >> ${GITHUB_ENV}
773 echo CXX="g++-8" >> ${GITHUB_ENV}
774 - name: Prepare environment (for old gnu on ubuntu-18.04)
775 if: (env.OS_VER=='ubuntu-18.04') && (env.CC_VND=='gnu') && (env.CC_VER=='old')
777 echo CC="gcc-7" >> ${GITHUB_ENV}
778 echo CXX="g++-7" >> ${GITHUB_ENV}
779 - name: Prepare environment (for new clang on ubuntu-18.04)
780 if: (env.OS_VER=='ubuntu-18.04') && (env.CC_VND=='clang') && (env.CC_VER=='new')
782 echo CC="clang-9" >> ${GITHUB_ENV}
783 echo CXX="clang++-9" >> ${GITHUB_ENV}
784 - name: Prepare environment (for cur clang on ubuntu-18.04)
785 if: (env.OS_VER=='ubuntu-18.04') && (env.CC_VND=='clang') && (env.CC_VER=='cur')
787 echo CC="clang-8" >> ${GITHUB_ENV}
788 echo CXX="clang++-8" >> ${GITHUB_ENV}
789 - name: Prepare environment (for old clang on ubuntu-18.04)
790 if: (env.OS_VER=='ubuntu-18.04') && (env.CC_VND=='clang') && (env.CC_VER=='old')
792 echo CC="clang-6.0" >> ${GITHUB_ENV}
793 echo CXX="clang++-6.0" >> ${GITHUB_ENV}
794 echo CXXFLAGS="-stdlib=libc++" >> ${GITHUB_ENV}
795 - name: Install dependencies (Linux)
796 if: runner.os == 'Linux'
798 sudo apt-get install -my \
803 ${INSTALL_MEMCACHED} \
804 ${INSTALL_CC} ${INSTALL_CXX}
805 sudo systemctl stop memcached || true
806 - name: Install dependencies (Mac)
807 if: runner.os == 'macOS'
809 brew install bison flex sphinx-doc ${INSTALL_MEMCACHED}
810 brew services stop memcached || true
811 echo MEMCACHED_BINARY="/usr/local/bin/memcached" >> ${GITHUB_ENV}
812 - name: Build memcached
813 if: runner.os != 'Windows'
819 ./configure CFLAGS="-O2 -pipe" \
820 --prefix=${MEMCACHED_PREFIX} \
824 --disable-dependency-tracking \
827 --disable-option-checking \
832 echo MEMCACHED_BINARY="${MEMCACHED_PREFIX}/bin/memcached" >> ${GITHUB_ENV}
834 - name: Generate build tree (${{ env.CMAKE_BUILD_TYPE }})
835 run: cmake --config ${{ env.CMAKE_BUILD_TYPE }} -S . -B build
836 - name: Build all with ${{ env.CXX }} ${{ env.CXXFLAGS }}
837 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2
839 if: env.BUILD_TESTING == 'ON'
840 run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target test
842 if: env.BUILD_TESTING == 'ON'
843 run: cmake --install build --config ${{ env.CMAKE_BUILD_TYPE }} --prefix /tmp
844 - name: Failed tests log
845 if: ${{ env.BUILD_TESTING == 'ON' && failure() }}
846 run: cat build/Testing/Temporary/LastTest.log || true
849 PUSH_ARTIFACTS_ID: ${{ secrets.PUSH_ARTIFACTS_ID }}
850 if: env.CC_VER == 'cur' && env.CMAKE_BUILD_TYPE == 'Release'
852 cmake --config ${{ env.CMAKE_BUILD_TYPE }} -S . -B build
853 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
854 cmake -DCPACK_COMPONENT_INSTALL=ON build
855 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target package
856 cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} -j2 --target push-artifacts
857 - name: Notify Gitter (success)
858 if: ${{ success() && runner.os != 'Windows'}}
860 REF=$(basename ${GITHUB_REF})
861 curl -sS "${{ secrets.GITTER }}" \
862 --data-urlencode "level=info" \
863 --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}})"
864 - name: Notify Gitter (failure)
865 if: ${{ failure() && runner.os != 'Windows'}}
867 REF=$(basename ${GITHUB_REF})
868 curl -sS "${{ secrets.GITTER }}" \
869 --data-urlencode "level=error" \
870 --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}})"