This commit is contained in:
Mark Canlas 2022-06-20 13:37:41 -04:00
parent 397ba5a92d
commit ad35c49067
3 changed files with 73 additions and 26 deletions

View File

@ -1,31 +1,53 @@
name: Scala CI
# This file was automatically generated by sbt-github-actions using the
# githubWorkflowGenerate task. You should add and commit this file to
# your git repository. It goes without saying that you shouldn't edit
# this file by hand! Instead, if you wish to make changes, you should
# change your sbt build configuration to revise the workflow description
# to meet your needs, then regenerate this file.
name: Continuous Integration
on:
pull_request:
branches: ['**']
push:
branches: [ master ]
branches: ['**']
jobs:
build:
runs-on: ubuntu-latest
name: Build and Test
strategy:
matrix:
os: [ubuntu-latest]
scala: [3.1.2]
java: [temurin@11]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Checkout current branch (full)
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Set up JDK 11
uses: actions/setup-java@v2
with:
java-version: '11'
distribution: 'adopt'
- name: Setup Java (temurin@11)
if: matrix.java == 'temurin@11'
uses: actions/setup-java@v2
with:
distribution: temurin
java-version: 11
- name: Cache sbt
uses: actions/cache@v2
with:
path: |
~/.sbt
~/.cache/coursier/v1
key: scala
- name: Cache sbt
uses: actions/cache@v2
with:
path: |
~/.sbt
~/.ivy2/cache
~/.coursier/cache/v1
~/.cache/coursier/v1
~/AppData/Local/Coursier/Cache/v1
~/Library/Caches/Coursier/v1
key: ${{ runner.os }}-sbt-cache-v2-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }}
- name: Run tests
run: sbt +scalafmtCheck "+test"
- name: Check that workflows are up to date
run: sbt ++${{ matrix.scala }} githubWorkflowCheck
- run: sbt ++${{ matrix.scala }} scalafmtCheck test

View File

@ -0,0 +1,24 @@
import sbt._
import sbtghactions._
import sbtghactions.GenerativeKeys._
/**
* Automatically enriches projects with the following settings (despite the word "override").
*/
object GitHubActionsSettings extends AutoPlugin {
/**
* Thus plug-in will automatically be enabled; it has no requirements.
*/
override def trigger: PluginTrigger = AllRequirements
override def requires: Plugins =
GitHubActionsPlugin
override val buildSettings: Seq[Setting[_]] = Seq(
githubWorkflowBuild := Seq(WorkflowStep.Sbt(List("scalafmtCheck", "test"))),
githubWorkflowEnv := Map.empty,
githubWorkflowPublishTargetBranches := Nil,
githubWorkflowIncludeClean := false
)
}

View File

@ -1,5 +1,6 @@
addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.4.6")
addSbtPlugin("io.github.davidgregory084" % "sbt-tpolecat" % "0.3.3")
addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.9.3")
addSbtPlugin("ch.epfl.scala" % "sbt-scalafix" % "0.10.1")
addSbtPlugin("org.wartremover" % "sbt-wartremover" % "3.0.4")
addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.4.6")
addSbtPlugin("io.github.davidgregory084" % "sbt-tpolecat" % "0.3.3")
addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.9.3")
addSbtPlugin("ch.epfl.scala" % "sbt-scalafix" % "0.10.1")
addSbtPlugin("org.wartremover" % "sbt-wartremover" % "3.0.4")
addSbtPlugin("com.codecommit" % "sbt-github-actions" % "0.14.2")