Skip to content

Commit 5c0ae70

Browse files
authored
replace Travis-CI with GitHub Actions (#487)
1 parent dec5f28 commit 5c0ae70

File tree

3 files changed

+89
-66
lines changed

3 files changed

+89
-66
lines changed

.github/workflows/ci.yml

+69
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
name: test
2+
on:
3+
push:
4+
branches:
5+
- main
6+
pull_request:
7+
8+
jobs:
9+
test:
10+
strategy:
11+
fail-fast: false
12+
matrix:
13+
java: [8, 11, 17]
14+
scala: [2.11.12, 2.12.15, 2.13.6, 3.0.2]
15+
platform: [jvm, js, native]
16+
mode: [normal]
17+
exclude:
18+
- scala: 3.0.2
19+
platform: native
20+
- java: 11
21+
platform: js
22+
- java: 11
23+
platform: native
24+
- java: 17
25+
platform: js
26+
- java: 17
27+
platform: native
28+
include:
29+
- java: 8
30+
scala: 2.12.15
31+
mode: testScalafix
32+
platform: jvm
33+
- java: 8
34+
scala: 2.12.15
35+
mode: testBinaryCompat
36+
platform: jvm
37+
- java: 8
38+
scala: 2.12.15
39+
mode: testScalafmt
40+
platform: jvm
41+
- java: 8
42+
scala: 2.12.15
43+
mode: headerCheck
44+
platform: jvm
45+
- java: 11
46+
scala: 2.12.15
47+
mode: normal
48+
platform: jvm
49+
- java: 17
50+
scala: 2.12.15
51+
mode: normal
52+
platform: jvm
53+
runs-on: ubuntu-latest
54+
env:
55+
CI_JDK: ${{matrix.java}}
56+
CI_SCALA_VERSION: ${{matrix.scala}}
57+
CI_MODE: ${{matrix.mode}}
58+
CI_PLATFORM: ${{matrix.platform}}
59+
steps:
60+
- uses: actions/checkout@v2
61+
with:
62+
fetch-depth: 0
63+
- uses: coursier/cache-action@v6
64+
- uses: actions/setup-java@v2
65+
with:
66+
distribution: temurin
67+
java-version: ${{matrix.java}}
68+
- name: ci
69+
run: sbt ci

.travis.yml

-46
This file was deleted.

build.sbt

+20-20
Original file line numberDiff line numberDiff line change
@@ -291,14 +291,15 @@ lazy val scalafixTests = project
291291
.dependsOn(scalafixInput, scalafixRules)
292292
.enablePlugins(BuildInfoPlugin, ScalafixTestkitPlugin)
293293

294-
val travisScalaVersion = sys.env.get("TRAVIS_SCALA_VERSION").flatMap(Version.parse)
295-
val isTravisTag = sys.env.get("TRAVIS_TAG").exists(_.nonEmpty)
296-
val isScalaJs = sys.env.get("SCALAJS_VERSION").exists(_.nonEmpty)
297-
val isScalaNative = sys.env.get("SCALANATIVE_VERSION").exists(_.nonEmpty)
298-
val isScalafix = sys.env.get("TEST_SCALAFIX").nonEmpty
299-
val isScalafmt = sys.env.get("TEST_SCALAFMT").nonEmpty
300-
val isBinaryCompat = sys.env.get("TEST_BINARY_COMPAT").nonEmpty
301-
val jdkVersion = sys.env.get("ADOPTOPENJDK").map(_.toInt)
294+
val ciScalaVersion = sys.env.get("CI_SCALA_VERSION").flatMap(Version.parse)
295+
val isTravisTag = sys.env.get("CI_TAG").exists(_.nonEmpty)
296+
val isScalaJs = sys.env.get("CI_PLATFORM") == Some("js")
297+
val isScalaNative = sys.env.get("CI_PLATFORM") == Some("native")
298+
val isScalafix = sys.env.get("CI_MODE") == Some("testScalafix")
299+
val isScalafmt = sys.env.get("CI_MODE") == Some("testScalafmt")
300+
val isBinaryCompat = sys.env.get("CI_MODE") == Some("testBinaryCompat")
301+
val isHeaderCheck = sys.env.get("CI_MODE") == Some("headerCheck")
302+
val jdkVersion = sys.env.get("CI_JDK").map(_.toInt)
302303

303304
// required by sbt-scala-module
304305
inThisBuild {
@@ -314,23 +315,23 @@ inThisBuild {
314315
},
315316
commands += Command.command("ci") { state =>
316317
val toRun: Seq[String] =
317-
if (isScalafmt) {
318+
if (isScalafmt)
318319
Seq("scalafmtTest")
319-
} else {
320+
else if (isHeaderCheck)
321+
Seq("headerCheck")
322+
else {
320323
List(
321-
"TRAVIS_SCALA_VERSION",
322-
"TRAVIS_TAG",
323-
"SCALAJS_VERSION",
324-
"SCALANATIVE_VERSION",
325-
"TEST_SCALAFIX",
326-
"TEST_SCALAFMT",
327-
"TEST_BINARY_COMPAT"
324+
"CI_SCALA_VERSION",
325+
"CI_TAG",
326+
"CI_PLATFORM",
327+
"CI_MODE",
328+
"CI_JDK",
328329
).foreach(k =>
329330
println(k.padTo(20, " ").mkString("") + " -> " + sys.env.getOrElse(k, "None")))
330331

331332
val platformSuffix = if (isScalaJs) "JS" else if (isScalaNative) "Native" else ""
332333

333-
val compatProject = "compat" + travisScalaVersion.get.binary + platformSuffix
334+
val compatProject = "compat" + ciScalaVersion.get.binary + platformSuffix
334335
val binaryCompatProject = "binaryCompat"
335336

336337
val testProjectPrefix =
@@ -371,11 +372,10 @@ inThisBuild {
371372
}
372373

373374
Seq(
374-
List(s"""++${sys.env.get("TRAVIS_SCALA_VERSION").get}!"""),
375+
List(s"""++${sys.env.get("CI_SCALA_VERSION").get}!"""),
375376
List(s"$projectPrefix/clean"),
376377
List(s"$testProjectPrefix/test"),
377378
List(s"$projectPrefix/publishLocal"),
378-
List("headerCheck"),
379379
publishTask
380380
).flatten
381381
}

0 commit comments

Comments
 (0)