updated JNI build, added unit test targets to Jenkinsfile

This commit is contained in:
Joseph Henry
2016-11-04 14:23:57 -07:00
parent e864c333fc
commit 47ca4b7f67
5 changed files with 72 additions and 49 deletions

98
Jenkinsfile vendored
View File

@@ -10,10 +10,9 @@ parallel 'centos7': {
// --------------------------- Network Stacks (Linux) ---------------------------
// ------------------------------------------------------------------------------
// (lwIP IPv4)
try {
checkout scm
stage('lwIP IPv4') {
stage('linux lwIP IPv4') {
sh 'make clean; make lwip SDK_IPV4=1'
}
}
@@ -22,11 +21,9 @@ parallel 'centos7': {
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on centos7 (<${env.BUILD_URL}|Open>)"
throw err
}
// (lwIP IPv6)
try {
checkout scm
stage('lwIP IPv6') {
stage('linux lwIP IPv6') {
sh 'make clean; make lwip SDK_IPV6=1'
}
}
@@ -35,11 +32,9 @@ parallel 'centos7': {
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on centos7 (<${env.BUILD_URL}|Open>)"
throw err
}
// (picoTCP IPv4)
try {
checkout scm
stage('picoTCP IPv4') {
stage('linux picoTCP IPv4') {
sh 'make clean; make pico SDK_IPV4=1'
}
}
@@ -48,11 +43,9 @@ parallel 'centos7': {
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on centos7 (<${env.BUILD_URL}|Open>)"
throw err
}
// (picoTCP IPv6)
try {
checkout scm
stage('picoTCP IPv6') {
stage('linux picoTCP IPv6') {
sh 'make clean; make pico SDK_IPV6=1'
}
}
@@ -66,7 +59,6 @@ parallel 'centos7': {
// ------------------------ SDK Service Library (Linux) -------------------------
// ------------------------------------------------------------------------------
// service (lwIP IPv4)
try {
checkout scm
stage('linux_sdk_service (lwIP IPv4)') {
@@ -78,8 +70,6 @@ parallel 'centos7': {
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on centos7 (<${env.BUILD_URL}|Open>)"
throw err
}
// service (lwIP IPv6)
try {
checkout scm
stage('linux_sdk_service (lwIP IPv6)') {
@@ -91,8 +81,6 @@ parallel 'centos7': {
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on centos7 (<${env.BUILD_URL}|Open>)"
throw err
}
// service (picoTCP IPv4)
try {
checkout scm
stage('linux_sdk_service (picoTCP IPv4)') {
@@ -104,8 +92,6 @@ parallel 'centos7': {
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on centos7 (<${env.BUILD_URL}|Open>)"
throw err
}
// service (picoTCP IPv6)
try {
checkout scm
stage('linux_sdk_service (picoTCP IPv6)') {
@@ -122,7 +108,6 @@ parallel 'centos7': {
// --------------------------- Intercept Library (Linux) ------------------------
// ------------------------------------------------------------------------------
// intercept
try {
checkout scm
stage('linux_intercept') {
@@ -134,6 +119,23 @@ parallel 'centos7': {
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on centos7 (<${env.BUILD_URL}|Open>)"
throw err
}
// ------------------------------------------------------------------------------
// ------------------------------ Unit tests (linux) ----------------------------
// ------------------------------------------------------------------------------
try {
checkout scm
stage('linux tests') {
sh 'make tests'
}
}
catch (err) {
currentBuild.result = "FAILURE"
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on centos7 (<${env.BUILD_URL}|Open>)"
throw err
}
}
}, 'macOS': {
node('macOS') {
@@ -144,10 +146,9 @@ parallel 'centos7': {
// --------------------------- Network Stacks (macOS) ---------------------------
// ------------------------------------------------------------------------------
// (lwIP IPv4)
try {
checkout scm
stage('lwIP IPv4') {
stage('macOS lwIP IPv4') {
sh 'make clean; make lwip SDK_IPV4=1'
}
}
@@ -156,11 +157,9 @@ parallel 'centos7': {
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on macOS (<${env.BUILD_URL}|Open>)"
throw err
}
// (lwIP IPv6)
try {
checkout scm
stage('lwIP IPv6') {
stage('macOS lwIP IPv6') {
sh 'make clean; make lwip SDK_IPV6=1'
}
}
@@ -169,11 +168,9 @@ parallel 'centos7': {
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on macOS (<${env.BUILD_URL}|Open>)"
throw err
}
// (picoTCP IPv4)
try {
checkout scm
stage('picoTCP IPv4') {
stage('macOS picoTCP IPv4') {
sh 'make clean; make pico SDK_IPV4=1'
}
}
@@ -182,11 +179,9 @@ parallel 'centos7': {
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on macOS (<${env.BUILD_URL}|Open>)"
throw err
}
// (picoTCP IPv6)
try {
checkout scm
stage('picoTCP IPv6') {
stage('macOS picoTCP IPv6') {
sh 'make clean; make pico SDK_IPV6=1'
}
}
@@ -201,7 +196,6 @@ parallel 'centos7': {
// -------------------------- Intercept Library (macOS) -------------------------
// ------------------------------------------------------------------------------
// osx_intercept
try {
checkout scm
stage('osx_intercept') {
@@ -218,7 +212,6 @@ parallel 'centos7': {
// -------------------------- SDK Service Library (macOS) -----------------------
// ------------------------------------------------------------------------------
// osx_service_and_intercept
try {
checkout scm
stage('osx_service_and_intercept (lwIP IPv4)') {
@@ -230,7 +223,6 @@ parallel 'centos7': {
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on macOS (<${env.BUILD_URL}|Open>)"
throw err
}
try {
checkout scm
stage('osx_service_and_intercept (lwIP IPv6)') {
@@ -242,8 +234,6 @@ parallel 'centos7': {
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on macOS (<${env.BUILD_URL}|Open>)"
throw err
}
try {
checkout scm
stage('osx_service_and_intercept (picoTCP IPv4)') {
@@ -269,10 +259,9 @@ parallel 'centos7': {
}
// ------------------------------------------------------------------------------
// -------------------------- App Frameworks (macOS/iOS) ------------------------
// ---------------------------- App Frameworks (macOS) --------------------------
// ------------------------------------------------------------------------------
// osx_app_framework
try {
checkout scm
stage('macOS App Framework') {
@@ -284,8 +273,6 @@ parallel 'centos7': {
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on macOS (<${env.BUILD_URL}|Open>)"
throw err
}
// ios_app_framework
try {
checkout scm
stage('iOS App Framework') {
@@ -297,6 +284,39 @@ parallel 'centos7': {
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on iOS (<${env.BUILD_URL}|Open>)"
throw err
}
// ------------------------------------------------------------------------------
// --------------------------- Android JNI Lib (macOS) --------------------------
// ------------------------------------------------------------------------------
//try {
// checkout scm
// stage('macOS android_jni_lib') {
// sh 'make android_jni_lib SDK_LWIP=1 SDK_IPV4=1'
// }
//}
//catch (err) {
// currentBuild.result = "FAILURE"
// slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on macOS (<${env.BUILD_URL}|Open>)"
// throw err
//}
// ------------------------------------------------------------------------------
// ------------------------------ Unit tests (macOS) ----------------------------
// ------------------------------------------------------------------------------
try {
checkout scm
stage('macOS tests') {
sh 'make tests'
}
}
catch (err) {
currentBuild.result = "FAILURE"
slackSend color: '#ff0000', message: "${env.JOB_NAME} broken on macOS (<${env.BUILD_URL}|Open>)"
throw err
}
}
}

View File

@@ -8,23 +8,26 @@ ZT := ../../../../../zerotierone
LOCAL_MODULE := ZeroTierOneJNI
LOCAL_C_INCLUDES := $(ZT1)/include
LOCAL_C_INCLUDES += $(ZT1)/ext/lwip/src/include
LOCAL_C_INCLUDES += $(ZT1)/ext/lwip/src/include/ipv4
LOCAL_C_INCLUDES += $(ZT1)/ext/lwip/src/include/lwip
LOCAL_C_INCLUDES += $(ZT1)/ext/lwip/src/include/lwip/priv
LOCAL_C_INCLUDES += $(ZT1)/node
LOCAL_C_INCLUDES += $(ZT1)/
LOCAL_C_INCLUDES += $(ZT1)/service
LOCAL_C_INCLUDES += $(ZT1)/osdep
LOCAL_C_INCLUDES += $(ZTSDK)/src
LOCAL_C_INCLUDES += $(ZTSDK)/stack_drivers/lwip
LOCAL_LDLIBS := -llog
# LOCAL_CFLAGS := -g
# Netcon files
LOCAL_SRC_FILES := \
$(ZTSDK)/SDK_RPC.c \
$(ZTSDK)/SDK_Proxy.cpp \
$(ZTSDK)/SDK_Sockets.c \
$(ZTSDK)/SDK_Service.cpp \
$(ZTSDK)/SDK_EthernetTap.cpp
$(ZTSDK)/rpc.c \
$(ZTSDK)/proxy.cpp \
$(ZTSDK)/sockets.c \
$(ZTSDK)/service.cpp \
$(ZTSDK)/tap.cpp
# ZeroTierOne ext files
LOCAL_SRC_FILES += \

View File

@@ -1,6 +1,6 @@
NDK_TOOLCHAIN_VERSION := clang
APP_STL := c++_static
APP_CPPFLAGS := -g -O3 -DSDK_BUNDLED -DZT_DEBUG -DSDK_DEBUG -DLWIP_DEBUG -DSDK -fPIC -fPIE -fvectorize -Wall -fstack-protector -fexceptions -fno-strict-aliasing -Wno-deprecated-register -DZT_NO_TYPE_PUNNING=1
APP_CPPFLAGS := -g -O3 -DSDK_BUNDLED -DZT_DEBUG -DSDK_DEBUG -DLWIP_DEBUG -DSDK_LWIP=1 -DSDK_IPV4=1 -DSDK -fPIC -fPIE -fvectorize -Wall -fstack-protector -fexceptions -fno-strict-aliasing -Wno-deprecated-register -DZT_NO_TYPE_PUNNING=1
APP_CFLAGS := -g -DSDK_BUNDLED
APP_PLATFORM := android-14

View File

@@ -337,7 +337,7 @@ clean_basic:
clean_thorough: clean_basic
-rm -rf .depend
clean: clean_basic clean_android
clean: clean_basic
clean_for_production:
-find . -type f \( -name '*.identity'\) -delete

View File

@@ -243,7 +243,7 @@ android: android_jni_lib
# Build library for Android Unity integrations
# Build JNI library for Android app integration
android_jni_lib:
./increment.sh
-./increment.sh
cd $(INT)/android/android_jni_lib/proj; ./gradlew assembleDebug
mkdir -p $(BUILD)/android_jni_lib
cp docs/android_zt_sdk.md $(BUILD)/android_jni_lib/README.md
@@ -318,7 +318,7 @@ clean_basic:
-find . -type f \( -name $(ONE_SERVICE_NAME) -o -name $(SDK_SERVICE_NAME) \) -delete
-find . -type f \( -name '*.o' -o -name '*.so' -o -name '*.o.d' -o -name '*.out' -o -name '*.log' -o -name '*.dSYM' \) -delete
clean: clean_basic clean_android
clean: clean_basic
clean_for_production:
-find . -type f \( -name '*.identity'\) -delete