WIP automatic release
authorAntonin Descampe <antonin@gmail.com>
Sat, 14 May 2016 23:36:31 +0000 (01:36 +0200)
committerAntonin Descampe <antonin@gmail.com>
Sun, 15 May 2016 16:17:24 +0000 (18:17 +0200)
.travis.yml
appveyor.yml
tools/travis-ci/run.sh

index fbbcdf390d6299c9817c954521d60fa7cdfac6c7..0618f26e9e131c4ce8f99f97fd05c04adc4a04ff 100644 (file)
@@ -4,10 +4,10 @@ matrix:
   include:
     - os: osx
       compiler: clang
-      env: OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Release OPJ_CI_DEPLOY=1
+      env: OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Release OPJ_CI_INCLUDE_IF_DEPLOY=1
     - os: linux
       compiler: gcc
-      env: OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Release OPJ_CI_DEPLOY=1
+      env: OPJ_CI_ARCH=x86_64 OPJ_CI_BUILD_CONFIGURATION=Release OPJ_CI_INCLUDE_IF_DEPLOY=1
     - os: linux
       compiler: gcc
       env: OPJ_CI_ARCH=i386 OPJ_CI_BUILD_CONFIGURATION=Release
@@ -67,7 +67,7 @@ script:
   - ./tools/travis-ci/abi-check.sh
 
 before_deploy:
-  - export OPJ_RELEASE_PKG_FILE=$(ls *.zip)
+  - export OPJ_RELEASE_PKG_FILE=$(ls build/openjpeg-${TRAVIS_TAG}*)
   - echo "deploying $OPJ_RELEASE_PKG_FILE to GitHub releases"
 
 deploy:
@@ -80,4 +80,5 @@ deploy:
   on:
     repo: uclouvain/openjpeg
     tags: true
+    condition: "$OPJ_CI_INCLUDE_IF_DEPLOY = 1"
 
index 9492f040b5dda750b7b675e021bbb40f12ae71b4..b55fc07c6d084d60131366b28f7ddbfc6878a13a 100644 (file)
@@ -8,10 +8,10 @@ environment:
   matrix:
   - OPJ_CI_ARCH: x86
     OPJ_CI_VSCOMNTOOLS: $(VS140COMNTOOLS)
-    OPJ_CI_DEPLOY: 1
+    OPJ_CI_INCLUDE_IF_DEPLOY: 1
   - OPJ_CI_ARCH: x64
     OPJ_CI_VSCOMNTOOLS: $(VS140COMNTOOLS)
-    OPJ_CI_DEPLOY: 1
+    OPJ_CI_INCLUDE_IF_DEPLOY: 1
   - OPJ_CI_ARCH: x86
     OPJ_CI_VSCOMNTOOLS: $(VS100COMNTOOLS)
 install:
@@ -25,14 +25,14 @@ test: off
 #before_deploy:
 #- cmd: c:\cygwin\bin\bash ./tools/travis-ci/before_deploy.sh
 deploy:
-  release: openjpeg-$(appveyor_repo_tag_name)
-  description: 'OpenJPEG $(appveyor_repo_tag_name) has been released'
+  #release: openjpeg-$(appveyor_repo_tag_name)
+  description: 'OpenJPEG $(appveyor_repo_tag_name) has been released. More info [here](https://github.com/uclouvain/openjpeg/blob/$(appveyor_repo_tag_name)/NEWS) and a detailed view [here](https://github.com/uclouvain/openjpeg/blob/$(appveyor_repo_tag_name)/CHANGES).'
   provider: GitHub
   auth_token:
     secure: Huk03f1heCD/HMyA+4ZeVmICdmKn9rPxK5p8/KxzgL+FtJDHlqcllcCrtN9bDxRH # your encrypted token from GitHub
   artifact: /.*\.zip/            # upload all zip packages to release assets
-  draft: true
+  draft: false
   prerelease: false
   on:
-    branch: openjpeg-*
     appveyor_repo_tag: true        # deploy on tag push only
+    OPJ_CI_INCLUDE_IF_DEPLOY: 1
index ceaa14d08ea30f24401e8ed00d3bcfd7948027b6..782622b505c855eb5ff1ff02ee9e5bd3f2d1d32a 100755 (executable)
@@ -189,6 +189,37 @@ ctest -S ${OPJ_SOURCE_DIR}/tools/ctest_scripts/travis-ci.cmake -V || true
 # ignore ctest exit code & parse this ourselves
 set +x
 
+# Deployment if needed
+#---------------------
+if [ "${TRAVIS_TAG:-}" != "" ]; then
+               OPJ_TAG_NAME=${TRAVIS_TAG}
+       elif [ "${APPVEYOR_REPO_TAG:-}" == "true" ]; then
+               OPJ_TAG_NAME=${APPVEYOR_REPO_TAG_NAME}
+       else
+               OPJ_TAG_NAME=""
+       fi
+if [ "${OPJ_CI_INCLUDE_IF_DEPLOY:-}" == "1" ] && [ "${OPJ_TAG_NAME:-}" != "" ]; then
+#if [ "${OPJ_CI_INCLUDE_IF_DEPLOY:-}" == "1" ]; then
+       OPJ_CI_DEPLOY=1         # unused for now
+       OPJ_CUR_DIR=${PWD}
+       if [ "${TRAVIS_OS_NAME:-}" == "linux" ]; then
+               OPJ_PACK_GENERATOR="TGZ" # ZIP generator currently segfaults on linux
+       else
+               OPJ_PACK_GENERATOR="ZIP"
+       fi
+       OPJ_PACK_NAME="openjpeg-${OPJ_TAG_NAME}-${TRAVIS_OS_NAME}-${OPJ_CI_ARCH}"
+       cd ${OPJ_BINARY_DIR}
+       cmake -D CPACK_GENERATOR:STRING=${OPJ_PACK_GENERATOR} -D CPACK_PACKAGE_FILE_NAME:STRING=${OPJ_PACK_NAME} ${OPJ_SOURCE_DIR}
+       cd ${OPJ_CUR_DIR}
+       cmake --build ${OPJ_BINARY_DIR} --target package
+       echo "ready to deploy $(ls ${OPJ_BINARY_DIR}/${OPJ_PACK_NAME}*) to GitHub releases"
+       if [ "${APPVEYOR_REPO_TAG:-}" == "true" ]; then
+               appveyor PushArtifact "${OPJ_BINARY_DIR}/${OPJ_PACK_NAME}.zip"
+       fi
+else
+       OPJ_CI_DEPLOY=0
+fi
+
 # let's parse configure/build/tests for failure
 
 echo "
@@ -272,18 +303,4 @@ New/unknown test failure found!!!
        fi
 fi
 
-echo "OPJ_CI_DEPLOY: ${OPJ_CI_DEPLOY:-}"
-echo "TRAVIS_TAG: ${TRAVIS_TAG:-}"
-echo "APPVEYOR_REPO_TAG: ${APPVEYOR_REPO_TAG:-}"
-echo "APPVEYOR_REPO_TAG_NAME: ${APPVEYOR_REPO_TAG_NAME:-}"
-if [ "${OPJ_CI_DEPLOY:-}" == "1" ]; then
-       if [ "${TRAVIS_TAG:-}" != "" ]; then
-               cpack -G ZIP -P "OpenJPEG-${TRAVIS_TAG}-${OPJ_BUILDNAME_TEST}.zip"
-       fi
-       if [ "${APPVEYOR_REPO_TAG:-}" == "true" ]; then
-               cpack -G ZIP -P "OpenJPEG-${APPVEYOR_REPO_TAG_NAME}-${OPJ_BUILDNAME_TEST}.zip"
-               appveyor PushArtifact "OpenJPEG-${APPVEYOR_REPO_TAG_NAME}-${OPJ_BUILDNAME_TEST}.zip"
-       fi
-fi
-
 exit ${OPJ_CI_RESULT}