From bf4d1c2a63c2981a29d4d0e95b4f7f85ae803d18 Mon Sep 17 00:00:00 2001 From: Kevin Lee Date: Thu, 24 Oct 2019 02:53:59 +1100 Subject: [PATCH] Close #47 - Set up GitHub Actions --- .github/workflows/build.yml | 17 +++++++++++++++++ .github/workflows/release.yml | 31 +++++++++++++++++++++++++++++++ .github/workflows/sbt-build.sh | 29 +++++++++++++++++++++++++++++ build.sbt | 19 +++++++++---------- project/build.properties | 2 +- project/plugins.sbt | 2 +- 6 files changed, 88 insertions(+), 12 deletions(-) create mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/release.yml create mode 100755 .github/workflows/sbt-build.sh diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..3f5c8ab --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,17 @@ +name: Build + +on: [push] + +jobs: + + build_java_project: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - name: Build Java Project + env: + COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} + run: | + echo "GITHUB_ACTION=$GITHUB_ACTION" + echo "GITHUB_EVENT_NAME=$GITHUB_EVENT_NAME" + .github/workflows/sbt-build.sh 2.13.1 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..f0bc327 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,31 @@ +name: Release + +on: + push: + tags: + - '*' + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v1 + - name: sbt GitHub Release + env: + CI_BRANCH: ${GITHUB_REF#refs/heads/} + GITHUB_TOKEN: ${{ secrets.GITHUB_AUTH_TOKEN }} + run: | + echo "Run] sbt GitHub release" + echo 'sbt -J-Xmx2048m "; clean; test; packagedArtifacts; gitHubRelease"' + sbt -J-Xmx2048m "; clean; test; packagedArtifacts; gitHubRelease" + - name: sbt Publish + env: + CI_BRANCH: ${GITHUB_REF#refs/heads/} + BINTRAY_USER: ${{ secrets.BINTRAY_USER }} + BINTRAY_PASS: ${{ secrets.BINTRAY_PASS }} + run: | + echo "Run] sbt publish" + echo 'sbt -J-Xmx2048m "; clean; publish"' + sbt -J-Xmx2048m "; clean; publish" diff --git a/.github/workflows/sbt-build.sh b/.github/workflows/sbt-build.sh new file mode 100755 index 0000000..58a66ec --- /dev/null +++ b/.github/workflows/sbt-build.sh @@ -0,0 +1,29 @@ +#!/bin/bash -e + +set -x + +if [ -z "$1" ] + then + echo "Scala version is missing. Please enter the Scala version." + echo "sbt-build.sh 2.11.12" +else + scala_version=$1 + echo "============================================" + echo "Build projects" + echo "--------------------------------------------" + echo "" + CURRENT_BRANCH_NAME="${GITHUB_REF#refs/heads/}" + export CI_BRANCH=$CURRENT_BRANCH_NAME + if [[ "$CURRENT_BRANCH_NAME" == "master" || "$CURRENT_BRANCH_NAME" == "release" ]] + then + sbt -d -J-Xmx2048m "; ++ ${scala_version}!; clean; jacoco" + sbt -d -J-Xmx2048m "; ++ ${scala_version}!; packagedArtifacts" + else + sbt -d -J-Xmx2048m "; ++ ${scala_version}!; clean; jacoco; package" + fi + sbt -d -J-Xmx2048m "; ++ ${scala_version}!; jacocoCoveralls" + + echo "============================================" + echo "Building projects: Done" + echo "============================================" +fi diff --git a/build.sbt b/build.sbt index e8a3582..5048e6e 100644 --- a/build.sbt +++ b/build.sbt @@ -64,16 +64,15 @@ lazy val j8plus = (project in file(".")) , Seq(JacocoReportFormats.ScalaHTML, JacocoReportFormats.XML) , "utf-8" ) - , jacocoCoverallsServiceName := "semaphore-ci" - , jacocoCoverallsBuildNumber := sys.env.get("SEMAPHORE_BUILD_NUMBER") - , jacocoCoverallsJobId := - sys.env.get("SEMAPHORE_CURRENT_JOB").map(jobId => s"$jobId-${jacocoCoverallsBuildNumber.value}") - .getOrElse("") - , jacocoCoverallsPullRequest := sys.env.get("PULL_REQUEST_NUMBER").filter(_.forall(_.isDigit)) - , jacocoCoverallsRepoToken := - sys.props.get("user.home") - .map(home => file(s"$home/.coveralls-credentials")) - .map(IO.readBytes).map(bs => new String(bs, "UTF-8")) + , jacocoCoverallsServiceName := "github-actions" + , jacocoCoverallsBuildNumber := sys.env.get("CI_BRANCH") +// , jacocoCoverallsBuildNumber := sys.env.get("CURRENT_BRANCH_NAME") + , jacocoCoverallsJobId := sys.env.get("CI_BRANCH") + .getOrElse(throw new MessageOnlyException("CI_BRANCH not found")) +// sys.env.get("CURRENT_BRANCH_NAME") +// .getOrElse(throw new MessageOnlyException("CURRENT_BRANCH_NAME not found")) + , jacocoCoverallsPullRequest := sys.env.get("GITHUB_EVENT_NAME") + , jacocoCoverallsRepoToken := sys.env.get("COVERALLS_REPO_TOKEN") /* GitHub Release { */ , devOopsPackagedArtifacts := List(s"target/${name.value}*.jar") /* } GitHub Release */ diff --git a/project/build.properties b/project/build.properties index b7382c8..010613d 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version = 1.3.1 \ No newline at end of file +sbt.version = 1.3.3 \ No newline at end of file diff --git a/project/plugins.sbt b/project/plugins.sbt index bd4fdc0..321a330 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -4,7 +4,7 @@ addSbtPlugin("org.foundweekends" % "sbt-bintray" % "0.5.5") addSbtPlugin("com.github.sbt" % "sbt-jacoco" % "3.2.0") -addSbtPlugin("kevinlee" % "sbt-devoops" % "0.3.1") +addSbtPlugin("io.kevinlee" % "sbt-devoops" % "1.0.2") resolvers += Resolver.jcenterRepo