Skip to content

Commit 52f3741

Browse files
Handle releases on Travis CI via sbt-ci-release
1 parent f57c38f commit 52f3741

File tree

3 files changed

+29
-1
lines changed

3 files changed

+29
-1
lines changed

.travis.yml

+15-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,22 @@
11
language: scala
22
jdk: openjdk8
3+
git:
4+
depth: false
35
cache:
46
directories:
57
- $HOME/.cache
68
- $HOME/.ivy2/cache
79
- $HOME/.sbt
8-
script: sbt test
10+
branches:
11+
only:
12+
- master
13+
- /^v\d+\.\d+.*$/ # tagged versions
14+
stages:
15+
- name: test
16+
- name: release
17+
if: (branch = master AND type = push) OR (tag IS present)
18+
jobs:
19+
include:
20+
- script: sbt test
21+
- stage: release
22+
script: sbt ci-release

build.sbt

+12
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,15 @@ crossVersion := CrossVersion.disabled
2222
// test stuff
2323
libraryDependencies += "com.novocode" % "junit-interface" % "0.11" % "test"
2424
fork.in(Test) := true // seems required for the tests to run fine
25+
26+
// sbt-dynver doesn't generate correct versions, because tags don't have a
27+
// 'v' prefix, so we're overriding its logic here
28+
version := {
29+
import sys.process._
30+
val describe = Seq("git", "describe", "--tags").!!.trim
31+
val latestTag = Seq("git", "describe", "--tags", "--abbrev=0").!!.trim
32+
if (describe == latestTag)
33+
describe
34+
else
35+
describe + "-SNAPSHOT"
36+
}

project/plugins.sbt

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
addSbtPlugin("com.geirsson" % "sbt-ci-release" % "1.2.2")
2+
addSbtPlugin("com.dwijnand" % "sbt-dynver" % "3.3.0")

0 commit comments

Comments
 (0)