use travis for mima and whitesource, remain no jenkins for tests (in parallel) (#24968)

* travis config from akka-http

* amend CONTRIBUTING to explain our tests

* amend wording in CONTRIBUTING

* new whitesource key

* remove instead of comment deployment things

* Update CONTRIBUTING.md

* exclude new module in 2.5 from appearing in 2.4 previous mima artifacts

* fix mima on 2.12
This commit is contained in:
Konrad `ktoso` Malawski 2018-04-24 22:58:54 +09:00 committed by GitHub
parent 80eff85527
commit 0f676cb6f1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 56 additions and 6 deletions

37
.travis.yml Normal file
View file

@ -0,0 +1,37 @@
language: scala
sudo: false
scala:
- "2.12.4"
- "2.11.12"
jdk:
- oraclejdk8
addons:
apt:
packages:
- graphviz
before_cache:
- find $HOME/.ivy2 -name "ivydata-*.properties" -print -delete
- find $HOME/.sbt -name "*.lock" -print -delete
cache:
directories:
- $HOME/.ivy2/cache
- $HOME/.sbt/boot
script:
# need to override as the default is to test
- sbt -J-XX:ReservedCodeCacheSize=256m ++$TRAVIS_SCALA_VERSION update mimaReportBinaryIssues
# make 'git branch' work again
- git branch -f "$TRAVIS_BRANCH" && git checkout "$TRAVIS_BRANCH"
# check policies, if on master also upload
- if [[ "$TRAVIS_SECURE_ENV_VARS" == "true" ]]; then if [[ "$TRAVIS_BRANCH" == "master" && "$TRAVIS_EVENT_TYPE" == "push" ]]; then sbt 'set credentials += Credentials("whitesource", "whitesourcesoftware.com", "", System.getenv("WHITESOURCE_KEY"))' whitesourceCheckPolicies whitesourceUpdate; else sbt 'set credentials += Credentials("whitesource", "whitesourcesoftware.com", "", System.getenv("WHITESOURCE_KEY"))' whitesourceCheckPolicies; fi ; fi
env:
global:
# encrypt with: travis encrypt WHITESOURCE_KEY=...
- secure: "L/wJ7TbgY+oPULgbv+giFZejnQERfv/8/9Ex/nwRni8qnpxw5Q6BqB86Sch6b79irQiOdb+hr2tq3/m3KzXjC58xppRPfnmXsu3yI9XAln9WPi/sPvqUL8WPJmRfGswAw3L8w2JdD9VBP4iv0dWpRghGD27iqgipVRdN62PU+nU="

View file

@ -386,13 +386,16 @@ tested it becomes an officially supported Akka feature.
## Continuous integration
Each project should be configured to use a continuous integration (CI) tool (i.e. a build server à la Jenkins).
Akka currently uses a combination of Jenkins and Travis for Continuous Integration:
* Jenkins [runs the tests for each PR](https://jenkins.akka.io:8498/job/pr-validator-per-commit-jenkins/)
* Jenkins [runs a nightly test suite](https://jenkins.akka.io:8498/view/Nightly%20Jobs/job/akka-nightly/)
* Travis [checks dependency licenses for all PR's](https://travis-ci.org/akka/akka)
The [Jenkins server farm](https://jenkins.akka.io/), sometimes referred to as "the Lausanne cluster", is sponsored by Lightbend.
Lightbend is sponsoring a [Jenkins server farm](https://jenkins.akka.io/), sometimes referred to as "the Lausanne cluster".
The cluster is made out of real bare-metal boxes, and maintained by the Akka team (and other very helpful people at Lightbend).
In addition to PR validation the cluster is also used for nightly and performance test runs.
## Related links
* [Akka Contributor License Agreement](http://www.lightbend.com/contribute/cla)

View file

@ -0,0 +1,2 @@
# incompatibility on Scala 2.12
ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.testkit.TestKitBase.awaitAssert")

View file

@ -0,0 +1 @@
ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.testkit.TestKitBase.awaitAssert")

View file

@ -1,3 +1,6 @@
# #23224 TestKit expectNoMsg fix
ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.testkit.TestKitBase.expectNoMessage")
ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.testkit.TestKitBase.expectNoMessage$default$1")
# incompatibility on Scala 2.12
ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.testkit.TestKitBase.awaitAssert")

View file

@ -45,7 +45,11 @@ object MiMa extends AutoPlugin {
} ++ akka24StreamVersions ++ akka24WithScala212 ++ akka25Versions
case "2.12"
akka24WithScala212 ++ akka25Versions
if (akka250NewArtifacts.contains(projectName))
akka25Versions
else
akka24WithScala212 ++ akka25Versions
case v if v.startsWith("2.13") =>
// no Akka released for 2.13 yet, no jars to check BC against