Skip to content
This repository has been archived by the owner on Sep 27, 2021. It is now read-only.

Commit

Permalink
Updated gh-actions and sbt to publish to DockerHub on push/release
Browse files Browse the repository at this point in the history
  • Loading branch information
Bogdan Roman committed Nov 27, 2019
1 parent 5a47d61 commit ef43ec2
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 42 deletions.
31 changes: 21 additions & 10 deletions .github/workflows/ci.yml
Expand Up @@ -13,10 +13,10 @@ jobs:
strategy:
fail-fast: true
steps:
- uses: actions/checkout@v1
- uses: olafurpg/setup-scala@v5
with:
java-version: adopt@1.11
- name: Checkout
uses: actions/checkout@v1
- name: SetupSbt
uses: olafurpg/setup-scala@v5
- name: StaticAnalysis
run: sbt clean scalafmtCheck test:scalafmtCheck scalafmtSbtCheck scapegoat
- name: Tests
Expand All @@ -42,11 +42,12 @@ jobs:
- name: PublishToDockerHub
run: |
sbt docker:publishLocal
docker login --username ${{ secrets.DOCKER_USER }} --password ${{ secrets.DOCKER_PASS }}
echo ${{ secrets.DOCKER_PASS }} | docker login --username ${{ secrets.DOCKER_USER }} --password-stdin
docker push bluebrain/nexus-iam:latest
- name: RecordCoverage
run: sbt clean coverage test coverageReport coverageAggregate
- uses: codecov/codecov-action@v1
- name: PublishCoverage
uses: codecov/codecov-action@v1
with:
token: ${{ secrets.CODECOV_TOKEN }}
release:
Expand All @@ -59,14 +60,24 @@ jobs:
BINTRAY_USER: ${{ secrets.BINTRAY_USER }}
BINTRAY_PASS: ${{ secrets.BINTRAY_PASS }}
steps:
- uses: actions/checkout@v1
- uses: olafurpg/setup-scala@v5
- name: Checkout
uses: actions/checkout@v1
- name: SetupSbt
uses: olafurpg/setup-scala@v5
with:
java-version: adopt@1.11
- name: Publish
- name: SetVersion
run: echo ::set-env name=VERSION::$(echo ${GITHUB_REF:11})
- name: PublishToBintray
run: sbt releaseEarly
- name: PublishToDockerHub
run: |
sbt ";set Docker/version := \"${{ env.VERSION }}\"; docker:publishLocal"
echo ${{ secrets.DOCKER_PASS }} | docker login --username ${{ secrets.DOCKER_USER }} --password-stdin
docker push bluebrain/nexus-iam:${{ env.VERSION }}
- name: RecordCoverage
run: sbt clean coverage test coverageReport coverageAggregate
- uses: codecov/codecov-action@v1
- name: PublishCoverage
uses: codecov/codecov-action@v1
with:
token: ${{ secrets.CODECOV_TOKEN }}
37 changes: 6 additions & 31 deletions build.sbt
Expand Up @@ -23,8 +23,6 @@ scalafmt: {
]
}
*/
import com.typesafe.sbt.packager.docker.DockerChmodType
import com.typesafe.sbt.packager.docker.DockerVersion

// Dependency versions
val alpakkaVersion = "1.1.2"
Expand Down Expand Up @@ -81,11 +79,13 @@ lazy val kryo = "io.altoo" %% "akka-kryo-serializ
lazy val iam = project
.in(file("."))
.settings(testSettings, buildInfoSettings)
.enablePlugins(BuildInfoPlugin, JmhPlugin)
.enablePlugins(BuildInfoPlugin, JmhPlugin, ServicePackagingPlugin)
.aggregate(client)
.settings(
name := "iam",
moduleName := "iam",
name := "iam",
moduleName := "iam",
Docker / packageName := "nexus-iam",
resolvers += "dnvriend" at "https://dl.bintray.com/dnvriend/maven",
libraryDependencies ++= Seq(
commonsCore,
commonsKamon,
Expand Down Expand Up @@ -116,32 +116,7 @@ lazy val iam = project
commonsTest % Test,
mockitoScala % Test,
scalaTest % Test
),
resolvers += "dnvriend" at "https://dl.bintray.com/dnvriend/maven"
)
.enablePlugins(UniversalPlugin, JavaAppPackaging, DockerPlugin)
.settings(
// package the kanela agent as a fixed name jar
mappings in Universal := {
val universalMappings = (mappings in Universal).value
universalMappings.foldLeft(Vector.empty[(File, String)]) {
case (acc, (file, filename)) if filename.contains("kanela-agent") =>
acc :+ (file, "lib/instrumentation-agent.jar")
case (acc, other) =>
acc :+ other
}
},
// docker publishing settings
Docker / maintainer := "Nexus Team <noreply@epfl.ch>",
Docker / packageName := "nexus-iam",
Docker / version := "latest",
Docker / daemonUser := "nexus",
dockerBaseImage := "adoptopenjdk:11-jre-hotspot",
dockerExposedPorts := Seq(8080, 2552),
dockerUsername := Some("bluebrain"),
dockerUpdateLatest := false,
dockerChmodType := DockerChmodType.UserGroupWriteExecute,
dockerVersion := Some(DockerVersion(19, 3, 5, Some("ce")))
)
)

lazy val client = project
Expand Down
2 changes: 1 addition & 1 deletion project/plugins.sbt
@@ -1,5 +1,5 @@
resolvers += Resolver.bintrayRepo("bbp", "nexus-releases")

addSbtPlugin("ch.epfl.bluebrain.nexus" % "sbt-nexus" % "0.13.2")
addSbtPlugin("ch.epfl.bluebrain.nexus" % "sbt-nexus" % "0.13.3")
addSbtPlugin("com.eed3si9n" % "sbt-buildinfo" % "0.7.0")
addSbtPlugin("pl.project13.scala" % "sbt-jmh" % "0.3.7")

0 comments on commit ef43ec2

Please sign in to comment.