Add support for SBT 2

This commit is contained in:
Pat Garrity 2026-07-20 22:04:25 -05:00
parent ef090be2e1
commit de3cd3a1fc
Signed by: pfm
GPG key ID: 0DC16BCA24B270C4
5 changed files with 35 additions and 39 deletions

View file

@ -45,23 +45,24 @@ jobs:
echo "Previous Git Tag: $latest_git_tag" echo "Previous Git Tag: $latest_git_tag"
echo "Latest Commit: $latest_commit_message ($GS_RELEASE_TYPE) (SNAPSHOT)" echo "Latest Commit: $latest_commit_message ($GS_RELEASE_TYPE) (SNAPSHOT)"
if [ "$GS_RELEASE_TYPE" = "norelease" ]; then if [ "$GS_RELEASE_TYPE" = "norelease" ]; then
sbtn -Dsnapshot=true -Drelease="patch" semVerInfo sbt setVersion patch snapshot
else else
sbtn -Dsnapshot=true -Drelease="$GS_RELEASE_TYPE" semVerInfo sbt setVersion $GS_RELEASE_TYPE snapshot
fi fi
sbt semVerInfo
- name: 'Unit Tests and Code Coverage' - name: 'Unit Tests and Code Coverage'
run: | run: |
sbtn clean sbt clean
sbtn coverage sbt coverage
sbtn test sbt test
sbtn coverageReport sbt coverageReport
- name: 'Publish Snapshot' - name: 'Publish Snapshot'
run: | run: |
echo "Testing env var propagation = ${{ env.GS_RELEASE_TYPE }}" echo "Testing env var propagation = ${{ env.GS_RELEASE_TYPE }}"
if [ "${{ env.GS_RELEASE_TYPE }}" = "norelease" ]; then if [ "${{ env.GS_RELEASE_TYPE }}" = "norelease" ]; then
echo "Skipping publish due to GS_RELEASE_TYPE=norelease" echo "Skipping publish due to GS_RELEASE_TYPE=norelease"
else else
sbtn coverageOff sbt coverageOff
sbtn clean sbt clean
sbtn publish sbt publish
fi fi

View file

@ -51,27 +51,28 @@ jobs:
if [ "$GS_RELEASE_TYPE" = "norelease" ]; then if [ "$GS_RELEASE_TYPE" = "norelease" ]; then
echo "Skipping all versioning for 'norelease' commit." echo "Skipping all versioning for 'norelease' commit."
else else
sbtn -Drelease="$GS_RELEASE_TYPE" semVerInfo sbt setVersion $GS_RELEASE_TYPE release
sbt semVerInfo
fi fi
- name: 'Unit Tests and Code Coverage' - name: 'Unit Tests and Code Coverage'
run: | run: |
if [ "${{ env.GS_RELEASE_TYPE }}" = "norelease" ]; then if [ "${{ env.GS_RELEASE_TYPE }}" = "norelease" ]; then
echo "Skipping build/test for 'norelease' commit." echo "Skipping build/test for 'norelease' commit."
else else
sbtn clean sbt clean
sbtn coverage sbt coverage
sbtn test sbt test
sbtn coverageReport sbt coverageReport
fi fi
- name: 'Publish Release' - name: 'Publish Release'
run: | run: |
if [ "${{ env.GS_RELEASE_TYPE }}" = "norelease" ]; then if [ "${{ env.GS_RELEASE_TYPE }}" = "norelease" ]; then
echo "Skipping publish for 'norelease' commit." echo "Skipping publish for 'norelease' commit."
else else
sbtn coverageOff sbt coverageOff
sbtn clean sbt clean
sbtn semVerWriteVersionToFile sbt semVerWriteVersionToFile
sbtn publish sbt publish
fi fi
- name: 'Create Git Tag' - name: 'Create Git Tag'
run: | run: |

View file

@ -1,4 +1,4 @@
val scala3: String = "3.8.3" val scala3: String = "3.8.4"
ThisBuild / scalaVersion := scala3 ThisBuild / scalaVersion := scala3
ThisBuild / versionScheme := Some("semver-spec") ThisBuild / versionScheme := Some("semver-spec")
@ -10,32 +10,26 @@ ThisBuild / licenses := Seq(
) )
) )
val noPublishSettings = Seq(
publish := {}
)
val sharedSettings = Seq( val sharedSettings = Seq(
scalaVersion := scala3, scalaVersion := scala3,
version := semVerSelected.value,
coverageFailOnMinimum := true coverageFailOnMinimum := true
// coverageMinimumStmtTotal := 100, // coverageMinimumStmtTotal := 100,
// coverageMinimumBranchTotal := 100 // coverageMinimumBranchTotal := 100
) )
val Deps = new { val Deps = (
Cats = (
Core = "org.typelevel" %% "cats-core" % "2.13.0",
Effect = "org.typelevel" %% "cats-effect" % "3.7.0"
),
val Cats = new { Fs2 = (
val Core: ModuleID = "org.typelevel" %% "cats-core" % "2.13.0" Core = "co.fs2" %% "fs2-core" % "3.13.0",
val Effect: ModuleID = "org.typelevel" %% "cats-effect" % "3.7.0" IO = "co.fs2" %% "fs2-io" % "3.13.0"
} ),
val Fs2 = new { MUnit = "org.scalameta" %% "munit" % "1.3.0" % Test
val Core: ModuleID = "co.fs2" %% "fs2-core" % "3.13.0" )
val IO: ModuleID = "co.fs2" %% "fs2-io" % "3.13.0"
}
val MUnit: ModuleID = "org.scalameta" %% "munit" % "1.3.0" % Test
}
lazy val testSettings = Seq( lazy val testSettings = Seq(
libraryDependencies ++= Seq( libraryDependencies ++= Seq(

View file

@ -1 +1 @@
sbt.version=1.12.9 sbt.version=2.0.3

View file

@ -30,5 +30,5 @@ externalResolvers := Seq(
) )
addSbtPlugin("org.scoverage" % "sbt-scoverage" % "2.4.4") addSbtPlugin("org.scoverage" % "sbt-scoverage" % "2.4.4")
addSbtPlugin("gs" % "sbt-garrity-software" % "0.7.0") addSbtPlugin("gs" % "sbt-garrity-software" % "0.8.0")
addSbtPlugin("gs" % "sbt-gs-semver" % "0.3.0") addSbtPlugin("gs" % "sbt-gs-semver" % "0.4.1")