"CXX" => "g++",
],
"clang" => [
- "ver" => "",
+ "ver" => "apple",
"CC" => "clang",
"CXX" => "clang++",
],
function steps_getdeps() {
?>
-<?=PRE?> - name: Install dependencies
+<?=PRE?> - name: Install dependencies (Linux)
<?=PRE?> if: runner.os == 'Linux'
-<?=PRE?> run: sudo apt-get install libevent-dev libsasl2-dev ${INSTALL_MEMCACHED} ${INSTALL_CC} ${INSTALL_CXX}
+<?=PRE?> run: |
+<?=PRE?> sudo apt-get install \
+<?=PRE?> libevent-dev \
+<?=PRE?> libsasl2-dev \
+<?=PRE?> ${INSTALL_MEMCACHED} \
+<?=PRE?> ${INSTALL_CC} ${INSTALL_CXX}
+<?=PRE?> sudo systemctl stop memcached || true
+<?=PRE?> - name: Install dependencies (Mac)
+<?=PRE?> if: runner.os == 'macOS'
+<?=PRE?> run: |
+<?=PRE?> brew install bison flex ${INSTALL_MEMCACHED}
+<?=PRE?> brew services stop memcached || true
<?php
}
steps_build();
}
+function defaults() {
+ $os_ver = DEF[DEF["os"]];
+ $cc_vnd = DEF[$os_ver];
+ $cc_ver = DEF[$cc_vnd]["ver"];
+ return "$os_ver, $cc_vnd, $cc_ver";
+}
?>
name: cmake-build-ci
on:
# new memcached
ci-new:
- name: ci-dbg (<?=DEF[DEF["os"]]?> ${{ env.CC_VND }} ${{ env.CC_VER }} memcached-1.6)
+ name: ci-dbg (<?=defaults()?>, memcached-1.6)
runs-on: <?=DEF[DEF["os"]]?> #
env:
INSTALL_MEMCACHED:
# sanitizer build
ci-san:
- name: ci-dbg (<?=DEF[DEF["os"]]?> ${{ env.CC_VND }} ${{ env.CC_VER }} sanitizers)
+ name: ci-dbg (<?=defaults()?>, sanitizers)
runs-on: <?=DEF[DEF["os"]]?> #
env:
ENABLE_SANITIZERS: "address;undefined"
# coverage build
ci-cov:
- name: ci-dbg (<?=DEF[DEF["os"]]?> ${{ env.CC_VND }} ${{ env.CC_VER }} coverage)
+ name: ci-dbg (<?=defaults()?>, coverage)
runs-on: <?=DEF[DEF["os"]]?> #
env:
CFLAGS: -O0 --coverage
<?php steps(); ?>
- uses: codecov/codecov-action@v1.0.13
+ # mac build
+ ci-mac:
+ name: ci-dbg (<?=DEF["macOS"]?>, <?=DEF[DEF["macOS"]]?>, <?=DEF[DEF[DEF["macOS"]]]["ver"]?>)
+ runs-on: <?=DEF["macOS"]?> #
+ continue-on-error: true
+ env:
+ MEMCACHED_BINARY: /usr/local/bin/memcached
+ steps:
+ - uses: actions/checkout@v2
+<?php steps(false); ?>
+
# release builds
ci-rel:
strategy: