diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs new file mode 100644 index 000000000..958413331 --- /dev/null +++ b/.git-blame-ignore-revs @@ -0,0 +1,4 @@ +# .git-blame-ignore-revs + +# scalafmt mass change +3686bb47a5b215733a46c3393a51e950fcaa635f diff --git a/.github/workflows/format.yaml b/.github/workflows/format.yaml new file mode 100644 index 000000000..026d95e81 --- /dev/null +++ b/.github/workflows/format.yaml @@ -0,0 +1,28 @@ +name: Check formatting for modified files with scalafmt + +on: + pull_request: + paths-ignore: ['**.md'] + +jobs: + format: + + runs-on: ubuntu-latest + + steps: + + - uses: actions/checkout@v4 + with: + fetch-depth: 2 + ref: ${{ github.event.pull_request.head.sha }} + + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + distribution: 'temurin' + java-version: 17 + cache: sbt + + - name: Check formatting for modified files + run: | + sbt scalafmtCheckAll diff --git a/project/Settings.scala b/project/Settings.scala index a129c18f5..63410b082 100644 --- a/project/Settings.scala +++ b/project/Settings.scala @@ -5,6 +5,7 @@ import Version._ import sbt.Keys._ import sbt._ import sbtassembly.AssemblyPlugin.autoImport._ +import org.scalafmt.sbt.ScalafmtPlugin.autoImport.scalafmtFilter object Settings { @@ -41,9 +42,14 @@ object Settings { assembly / test := {} ) + val scalafmtSettings = List( + Global / excludeLintKeys += scalafmtFilter, + Global / scalafmtFilter := "diff-ref=HEAD^" + ) + //common settings for all sbt subprojects val commonSettings = - commonBuildSettings ++ commonAssemblySettings ++ commonTestSettings ++ List( + commonBuildSettings ++ commonAssemblySettings ++ commonTestSettings ++ scalafmtSettings ++ List( organization := "org.broadinstitute.dsde.firecloud", scalaVersion := "2.13.15", resolvers := proxyResolvers ++: resolvers.value ++: commonResolvers,