typo
[awesomized/libmemcached] / .github / workflows / cmake-build-ci.gen
index feaa0f6ef34f92e8ea123ee7a1718f13f040a583..310d1eda6c8a7e5f6e9b7002c809c42dea320333 100755 (executable)
@@ -16,7 +16,7 @@ const DEF = [
     "CXX"  => "g++",
   ],
   "clang" => [
-    "ver" => "",
+    "ver" => "apple",
     "CC"  => "clang",
     "CXX"  => "clang++",
   ],
@@ -119,9 +119,20 @@ function steps_setenv($splat_map = null) {
 
 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
 }
 
@@ -147,6 +158,12 @@ function steps($splat_map = null) {
   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:
@@ -178,7 +195,7 @@ jobs:
 
   # 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:
@@ -212,7 +229,7 @@ jobs:
 
   # 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"
@@ -222,7 +239,7 @@ jobs:
 
   # 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
@@ -232,6 +249,17 @@ jobs:
 <?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: