cmake: improve dependency checks
[m6w6/libmemcached] / .cirrus.yml
index c7fe30bc189c730ea0f6090c45e1c642a607439c..8f1aae37fc1618723de388e8c8038de9cd6e1ff9 100644 (file)
@@ -10,9 +10,19 @@ env:
 task:
   name: Freebsd
   env:
+    gitter: ENCRYPTED[92e34815ac1a27681bf868c8299bfa37f3cb98c7d88156884c85dfb33e786bd3124c5d624721fb13735d23f7c57ead4b]
     ports: RELEASE_12_1_0
   freebsd_instance:
     image_family: freebsd-12-1
+  discover_script: |
+    sudo -u nobody ulimit -a
+    cat /etc/hosts
+    cat /etc/host.conf
+    cat /etc/resolv.conf
+    ifconfig
+    netstat
+    sysctl -a
+    dmesg
   dependencies_script: |
     pkg update
     pkg upgrade -y
@@ -25,27 +35,46 @@ task:
       libevent \
       pkgconf \
       subversion \
-      sudo
+      sudo \
+      tbb
   memcached_script: |
     svn co https://svn.freebsd.org/ports/tags/${ports}/databases/memcached memcached
     svn co https://svn.freebsd.org/ports/tags/${ports}/Mk /usr/ports/Mk
     svn co https://svn.freebsd.org/ports/tags/${ports}/Templates /usr/ports/Templates
     cd memcached
     echo bin/memcached > pkg-plist
-    make all install SASLPWDB_CONFIGURE_ENABLE=sasl-pwdb OPTIONS_SET="SASL SASLPWDB" OPTIONS_DEFINE="SASL SASLPWDB"
+    make all install \
+      SASLPWDB_CONFIGURE_ENABLE=sasl-pwdb \
+      OPTIONS_SET="SASL SASLPWDB" \
+      OPTIONS_DEFINE="SASL SASLPWDB"
     cd ..
   prepare_script: |
     mkdir build
     chown nobody build
-    chsh -s /bin/sh nobody
+    pw user mod nobody -s /bin/sh -d $(pwd)/build
   configure_script: |
-    sudo -E -u nobody cmake -S . -B build
+    sudo -E -u nobody CFLAGS="-O0 --coverage" CXXFLAGS="-O0 --coverage" cmake -S . -B build
   build_script: |
     sudo -E -u nobody make -C build -j2 all
   test_script: |
+    sysctl net.inet.tcp.msl=500
+    sysctl net.inet.tcp.blackhole=0
+    sysctl net.inet.udp.blackhole=0
     sudo -E -u nobody make -C build -j2 test/fast
   install_script: |
     sudo -E -u nobody make -C build install DESTDIR=/tmp
+  on_success:
+    codecov_script: |
+      bash <(curl -s https://codecov.io/bash) -x "llvm-cov gcov"
+    gitter_success_script: |
+      curl -sS "${gitter}" \
+        --data-urlencode "level=info" \
+        --data-urlencode "message=Cirrus [${CIRRUS_REPO_FULL_NAME}](https://github.com/${CIRRUS_REPO_FULL_NAME}/compare/${CIRRUS_LAST_GREEN_CHANGE}...${CIRRUS_CHANGE_IN_REPO}) (${CIRRUS_BRANCH}) [success](https://cirrus-ci.com/task/${CIRRUS_TASK_ID}) (${CIRRUS_OS})"
   on_failure:
-    failed_script: |
-      cat build/Testing/Temporary/LastTest.log || true
+    gitter_failure_script: |
+      curl -sS "${gitter}" \
+        --data-urlencode "level=error" \
+        --data-urlencode "message=Cirrus [${CIRRUS_REPO_FULL_NAME}](https://github.com/${CIRRUS_REPO_FULL_NAME}/compare/${CIRRUS_LAST_GREEN_CHANGE}...${CIRRUS_CHANGE_IN_REPO}) (${CIRRUS_BRANCH}) [failure](https://cirrus-ci.com/task/${CIRRUS_TASK_ID}) (${CIRRUS_OS})"
+    testlog_artifacts:
+      path: build/Testing/Temporary/LastTest.log
+      type: text/plain