deploy.sh 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #!/bin/bash
  2. set -e
  3. echo "Creating Bintray shared library package..."
  4. if [[ ${OSQP_VERSION} == *"dev"* ]]; then
  5. # Using dev version
  6. OSQP_PACKAGE_NAME="OSQP-dev";
  7. else
  8. OSQP_PACKAGE_NAME="OSQP";
  9. fi
  10. # Compile OSQP
  11. cd ${TRAVIS_BUILD_DIR}
  12. rm -rf build
  13. mkdir build
  14. cd build
  15. cmake -G "Unix Makefiles" ..
  16. make
  17. cd ${TRAVIS_BUILD_DIR}/build/out
  18. if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
  19. OS_NAME="mac"
  20. OS_SHARED_LIB_EXT="dylib"
  21. else
  22. OS_NAME="linux"
  23. OS_SHARED_LIB_EXT="so"
  24. fi
  25. OSQP_BIN=osqp-${OSQP_VERSION}-${OS_NAME}64
  26. mkdir $OSQP_BIN/
  27. mkdir $OSQP_BIN/lib
  28. mkdir $OSQP_BIN/include
  29. # Copy license
  30. cp ../../LICENSE $OSQP_BIN/
  31. # Copy includes
  32. cp ../../include/*.h $OSQP_BIN/include
  33. # Copy static library
  34. cp libosqp.a $OSQP_BIN/lib
  35. # Copy shared library
  36. cp libosqp.$OS_SHARED_LIB_EXT $OSQP_BIN/lib
  37. # Compress package
  38. tar -czvf ${TRAVIS_BUILD_DIR}/$OSQP_BIN.tar.gz $OSQP_BIN
  39. echo "Creating Bintray sources package..."
  40. OSQP_SOURCES=osqp-${OSQP_VERSION}
  41. # Clone OSQP repository
  42. cd ${TRAVIS_BUILD_DIR}
  43. mkdir sources/
  44. cd sources/
  45. git clone https://github.com/$TRAVIS_REPO_SLUG.git ${OSQP_SOURCES} --recursive
  46. cd ${OSQP_SOURCES}
  47. git checkout -qf $TRAVIS_COMMIT
  48. git submodule update
  49. cd ..
  50. # Create archive ignoring hidden files
  51. tar --exclude=".*" -czvf ${TRAVIS_BUILD_DIR}/${OSQP_SOURCES}.tar.gz ${OSQP_SOURCES}
  52. # Upload to Bintray
  53. # Deploy sources
  54. curl -T ${TRAVIS_BUILD_DIR}/${OSQP_SOURCES}.tar.gz -ubstellato:$BINTRAY_API_KEY -H "X-Bintray-Package:${OSQP_PACKAGE_NAME}" -H "X-Bintray-Version:${OSQP_VERSION}" -H "X-Bintray-Override: 1" https://api.bintray.com/content/bstellato/generic/${OSQP_PACKAGE_NAME}/${OSQP_VERSION}/
  55. # Deploy shared library binaries
  56. curl -T ${TRAVIS_BUILD_DIR}/${OSQP_BIN}.tar.gz -ubstellato:$BINTRAY_API_KEY -H "X-Bintray-Package:${OSQP_PACKAGE_NAME}" -H "X-Bintray-Version:${OSQP_VERSION}" -H "X-Bintray-Override: 1" https://api.bintray.com/content/bstellato/generic/${OSQP_PACKAGE_NAME}/${OSQP_VERSION}/
  57. # Publish deployed files
  58. curl -X POST -ubstellato:$BINTRAY_API_KEY https://api.bintray.com/content/bstellato/generic/${OSQP_PACKAGE_NAME}/${OSQP_VERSION}/publish
  59. set +e