Skip to content

Commit 8c2c79e

Browse files
authored
Merge pull request #331 from ckipp01/release
Update CI and release strategy
2 parents 1660e91 + 3c41a98 commit 8c2c79e

File tree

6 files changed

+67
-68
lines changed

6 files changed

+67
-68
lines changed

.github/workflows/pr.yml .github/workflows/ci.yml

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1-
name: pr
1+
name: CI
22

33
on:
4-
pull_request:
4+
push:
55
paths-ignore:
6-
- 'doc/**'
7-
- 'docs/**'
86
- '*.md'
7+
branches:
8+
- master
9+
pull_request:
910

1011
jobs:
1112
scala:

.github/workflows/release.yml

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: Release
2+
on:
3+
push:
4+
branches:
5+
- master
6+
tags: ["*"]
7+
jobs:
8+
publish:
9+
runs-on: ubuntu-20.04
10+
steps:
11+
- uses: actions/[email protected]
12+
with:
13+
fetch-depth: 0
14+
- uses: olafurpg/setup-scala@v10
15+
- run: sbt ci-release
16+
env:
17+
PGP_PASSPHRASE: ${{ secrets.PGP_PASSPHRASE }}
18+
PGP_SECRET: ${{ secrets.PGP_SECRET }}
19+
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
20+
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}

build.sbt

+39-56
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,37 @@
11
name := "sbt-scoverage"
2-
organization := "org.scoverage"
32

43
import sbt.ScriptedPlugin.autoImport.scriptedLaunchOpts
5-
import sbtrelease.ReleasePlugin.autoImport.ReleaseTransformations._
64

7-
releaseProcess := Seq[ReleaseStep](
8-
checkSnapshotDependencies,
9-
inquireVersions,
10-
runClean,
11-
releaseStepCommandAndRemaining("test"),
12-
setReleaseVersion,
13-
commitReleaseVersion,
14-
tagRelease,
15-
releaseStepCommandAndRemaining("publishSigned"),
16-
setNextVersion,
17-
commitNextVersion,
18-
pushChanges
5+
def localSnapshotVersion = "1.7.1-SNAPSHOT"
6+
def isCI = System.getenv("CI") != null
7+
8+
inThisBuild(
9+
List(
10+
organization := "org.scoverage",
11+
homepage := Some(url("http://scoverage.org/")),
12+
developers := List(
13+
Developer(
14+
"sksamuel",
15+
"Stephen Samuel",
16+
17+
url("https://github.com/sksamuel")
18+
),
19+
Developer(
20+
"gslowikowski",
21+
"Grzegorz Slowikowski",
22+
23+
url("https://github.com/gslowikowski")
24+
)
25+
),
26+
licenses := Seq(
27+
"Apache-2.0" -> url("http://www.apache.org/license/LICENSE-2.0")
28+
),
29+
scalaVersion := "2.12.13",
30+
version ~= { dynVer =>
31+
if (isCI) dynVer
32+
else localSnapshotVersion // only for local publishing
33+
}
34+
)
1935
)
2036

2137
lazy val root = Project("sbt-scoverage", file("."))
@@ -24,55 +40,22 @@ lazy val root = Project("sbt-scoverage", file("."))
2440
libraryDependencies ++= Seq(
2541
"org.scala-lang" % "scala-compiler" % scalaVersion.value % Compile
2642
),
27-
libraryDependencies += "org.scoverage" %% "scalac-scoverage-plugin" % "1.4.3" cross(CrossVersion.full),
28-
scalaVersion := "2.12.13",
29-
publishMavenStyle := true,
30-
publishConfiguration := publishConfiguration.value.withOverwrite(true),
31-
publishLocalConfiguration := publishLocalConfiguration.value.withOverwrite(true),
32-
releasePublishArtifactsAction := PgpKeys.publishSigned.value,
43+
libraryDependencies += "org.scoverage" %% "scalac-scoverage-plugin" % "1.4.3" cross (CrossVersion.full),
3344
Test / fork := false,
3445
Test / publishArtifact := false,
3546
Test / parallelExecution := false,
36-
scalacOptions := Seq("-unchecked", "-deprecation", "-feature", "-encoding", "utf8"),
37-
publishTo := {
38-
if (isSnapshot.value)
39-
Some("snapshots" at "https://oss.sonatype.org/content/repositories/snapshots")
40-
else
41-
Some("releases" at "https://oss.sonatype.org/service/local/staging/deploy/maven2")
42-
},
47+
scalacOptions := Seq(
48+
"-unchecked",
49+
"-deprecation",
50+
"-feature",
51+
"-encoding",
52+
"utf8"
53+
),
4354
resolvers ++= {
4455
if (isSnapshot.value) Seq(Resolver.sonatypeRepo("snapshots")) else Nil
4556
},
4657
scriptedLaunchOpts ++= Seq(
4758
"-Xmx1024M",
4859
"-Dplugin.version=" + version.value
49-
),
50-
pomExtra := {
51-
<url>https://github.com/scoverage/sbt-scoverage</url>
52-
<licenses>
53-
<license>
54-
<name>Apache 2</name>
55-
<url>http://www.apache.org/licenses/LICENSE-2.0</url>
56-
<distribution>repo</distribution>
57-
</license>
58-
</licenses>
59-
<scm>
60-
<url>git@github.com:scoverage/sbt-scoverage.git</url>
61-
<connection>scm:git@github.com:scoverage/sbt-scoverage.git</connection>
62-
</scm>
63-
<developers>
64-
<developer>
65-
<id>sksamuel</id>
66-
<name>sksamuel</name>
67-
<url>http://github.com/sksamuel</url>
68-
</developer>
69-
<developer>
70-
<id>gslowikowski</id>
71-
<name>Grzegorz Slowikowski</name>
72-
<url>http://github.com/gslowikowski</url>
73-
</developer>
74-
</developers>
75-
}
60+
)
7661
)
77-
78-
scalariformAutoformat := false

project/plugins.sbt

+1-6
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,2 @@
11
libraryDependencies += "org.scala-sbt" %% "scripted-plugin" % sbtVersion.value
2-
3-
addSbtPlugin("com.jsuereth" % "sbt-pgp" % "2.0.1")
4-
5-
addSbtPlugin("org.scalariform" % "sbt-scalariform" % "1.8.1")
6-
7-
addSbtPlugin("com.github.gseitz" % "sbt-release" % "1.0.13")
2+
addSbtPlugin("com.geirsson" % "sbt-ci-release" % "1.5.7")

src/main/scala/scoverage/ScoverageSbtPlugin.scala

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import sbt.Keys._
44
import sbt._
55
import sbt.plugins.JvmPlugin
66
import scoverage.report.{CoberturaXmlWriter, CoverageAggregator, ScoverageHtmlWriter, ScoverageXmlWriter}
7+
import java.time.Instant
78

89
object ScoverageSbtPlugin extends AutoPlugin {
910

@@ -215,7 +216,7 @@ object ScoverageSbtPlugin extends AutoPlugin {
215216

216217
// Create the coverage report for teamcity (HTML files)
217218
if (createCoverageZip)
218-
IO.zip(Path.allSubpaths(reportDir), crossTarget / "coverage.zip")
219+
IO.zip(Path.allSubpaths(reportDir), crossTarget / "coverage.zip", Some(Instant.now().toEpochMilli()))
219220
}
220221

221222
private def loadCoverage(crossTarget: File, log: Logger): Option[Coverage] = {

version.sbt

-1
This file was deleted.

0 commit comments

Comments
 (0)