.travis.yml 4.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. language: java
  2. sudo: false
  3. jdk:
  4. - oraclejdk9
  5. branches:
  6. except:
  7. - continuous # To avoid infinite loops, as this tag is created by this Travis config
  8. addons:
  9. apt:
  10. packages:
  11. - jq
  12. cache:
  13. directories:
  14. - $HOME/.m2
  15. env:
  16. global:
  17. - secure: "IfYURwZaDWuBDvyn47n0k1Zod/IQw1FF+CS5nnV08Q+NfC3vGGJMwV8m59XnbfwnWGxwvCaAbk4qP6s6+ijgZNKkvgfFMo3rfTok5zt43bIqgaFOANYV+OC/1c59gYD6ZUxhW5iNgMgU3qdsRtJuwSmfkVv/jKyLGfAbS4kN8BA=" # COVERITY_SCAN_TOKEN
  18. - secure: "lV9OwUbHMrMpLUH1CY+Z4puLDdFXytudyPlG1eGRsesdpuG6KM3uQVz6uAtf6lrU8DRbMM/T7ML+PmvQ4UoPPYLdLxESLLBat2qUPOIVBOhTSlCc7I0DmGy04CSvkeMy8dPaQC0ukgNiR7zwoNzfcpGRN/U9S8tziDruuHoZSrg=" # BINTRAY_API_KEY
  19. - secure: "oWFgRTVP6lyTa7qVxlvkpm20MtVc3BtmsNXQJS6bfg2A0o/iCQMNx7OD59BaafCLGRKvCcJVESiC8FlSylVMS7CDSyYu0gg70NUiIuHp4NBM5inFWYCy/PdQsCTzr5uvNG+rMFQpMFRaCV0FrfM3tLondcVkhsHL68l93Xoexx4=" # CODACY_PROJECT_TOKEN
  20. - secure: "cHpsjK67VHJZTWRQBIlSmHPW/CfiLbdWPqw2g3SYGZxYBqNGjmSi6MxevzZEjeUTG0vgKV8cXeHBczQkyIMcG3LYF5/oAB5BinJPr47dV55aNKdPWu7CVcBzthT5s6Wnv/C9n7E2HIQrHvdsXTeJ6f5Gnf9ZqBv0AncLSxHUEBw=" #GITHUB_API_KEY
  21. addons:
  22. apt:
  23. packages:
  24. - haveged
  25. coverity_scan:
  26. project:
  27. name: "cryptomator/cryptomator"
  28. notification_email: sebastian.stenzel@cryptomator.org
  29. build_command: "mvn -fmain/pom.xml clean test -DskipTests"
  30. branch_pattern: release.*
  31. install:
  32. - curl -o $HOME/.m2/settings.xml https://gist.githubusercontent.com/cryptobot/cf5fbd909c4782aaeeeb7c7f4a1a43da/raw/e60ee486e34ee0c79f89f947abe2c83b4290c6bb/settings.xml
  33. - mvn -fmain/pom.xml clean install -DskipTests org.codehaus.mojo:versions-maven-plugin:help dependency:go-offline -Pcoverage,release # "clean install" needed until we can exclude artifacts currently in the reactor, see https://maven.apache.org/plugins/maven-dependency-plugin/go-offline-mojo.html#excludeReactor and https://issues.apache.org/jira/browse/MDEP-568
  34. script:
  35. - mvn --update-snapshots -fmain/pom.xml clean test jacoco:report verify -Pcoverage
  36. after_success:
  37. - jdk_switcher use oraclejdk8
  38. - curl -o ~/codacy-coverage-reporter-assembly-latest.jar https://oss.sonatype.org/service/local/repositories/releases/content/com/codacy/codacy-coverage-reporter/2.0.1/codacy-coverage-reporter-2.0.1-assembly.jar
  39. - $JAVA_HOME/bin/java -cp ~/codacy-coverage-reporter-assembly-latest.jar com.codacy.CodacyCoverageReporter -l Java -r main/jacoco-report/target/site/jacoco-aggregate/jacoco.xml
  40. before_deploy:
  41. - jdk_switcher use oraclejdk9
  42. - |
  43. CONTINUOUS_RELEASE_URL=`curl -s https://api.github.com/repos/cryptomator/cryptomator/releases/tags/continuous | jq -re '.url'`
  44. if [ $? -eq 0 ]; then
  45. curl -u cryptobot:$GITHUB_API_KEY -X DELETE $CONTINUOUS_RELEASE_URL
  46. fi
  47. - |
  48. if [ -n "$TRAVIS_TAG" ]; then
  49. mvn -fmain/pom.xml org.codehaus.mojo:versions-maven-plugin:set -DnewVersion=$TRAVIS_TAG
  50. else
  51. mvn -fmain/pom.xml org.codehaus.mojo:versions-maven-plugin:set -DnewVersion=SNAPSHOT-$(echo $TRAVIS_COMMIT | head -c7)
  52. git tag -f continuous
  53. git remote add gh https://cryptobot:${GITHUB_API_KEY}@github.com/cryptomator/cryptomator.git
  54. git push -f gh continuous
  55. git remote remove gh
  56. fi
  57. - mvn -fmain/pom.xml clean package -Prelease -DskipTests
  58. deploy:
  59. - provider: releases # CONTINUOUS
  60. prerelease: true
  61. api-key: $GITHUB_API_KEY
  62. tag_name: continuous
  63. overwrite: true
  64. file_glob: true
  65. file:
  66. - "main/uber-jar/target/Cryptomator-*.jar"
  67. - "main/ant-kit/target/antkit.tar.gz"
  68. skip_cleanup: true
  69. name: Cryptomator continuous build
  70. body: Automatically built on $(date +'%F %T %Z').
  71. on:
  72. repo: cryptomator/cryptomator
  73. branch: develop
  74. condition: $TRAVIS_TAG = ''
  75. - provider: releases # RELEASE
  76. prerelease: false
  77. api_key: $GITHUB_API_KEY
  78. file:
  79. - "main/uber-jar/target/Cryptomator-$TRAVIS_TAG.jar"
  80. - "main/ant-kit/target/antkit.tar.gz"
  81. skip_cleanup: true
  82. on:
  83. repo: cryptomator/cryptomator
  84. tags: true
  85. - provider: script
  86. script: "curl -X POST -u cryptobot:${BINTRAY_API_KEY} -H 'Content-Type: application/json' -d '{\"name\": \"${TRAVIS_TAG}\", \"vcs_tag\": \"${TRAVIS_TAG}\"}' https://api.bintray.com/packages/cryptomator/cryptomator/cryptomator-win/versions"
  87. on:
  88. repo: cryptomator/cryptomator
  89. tags: true
  90. - provider: script
  91. script: "curl -X POST -u cryptobot:${BINTRAY_API_KEY} -H 'Content-Type: application/json' -d '{\"name\": \"${TRAVIS_TAG}\", \"vcs_tag\": \"${TRAVIS_TAG}\"}' https://api.bintray.com/packages/cryptomator/cryptomator/cryptomator-osx/versions"
  92. on:
  93. repo: cryptomator/cryptomator
  94. tags: true