From fcd4da7babf25dec80acca2bfd2ed66b2ea2ba78 Mon Sep 17 00:00:00 2001 From: Chris Kipp Date: Fri, 8 Jul 2022 15:21:51 +0200 Subject: [PATCH] deps: update all sorts of stuff (#121) This pr goes through and makes the various updates: - Bumps mill to the latest 0.10.5 - Bumps to the latest Scala versions for 2 and latest 3.1.x version - Drops 0.x support for ScalaJS - Move Scala native to 0.4.x - Adds in dependabot - Starts to cross test on 8 and 17 - Updates checkout and java actions --- .github/dependabot.yml | 7 +++++++ .github/workflows/actions.yml | 22 +++++++++++++-------- .mill-version | 1 + build.sc | 36 ++++++++++++++++++----------------- mill | 2 +- 5 files changed, 42 insertions(+), 26 deletions(-) create mode 100644 .github/dependabot.yml create mode 100644 .mill-version diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..e33811f --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,7 @@ +version: 2 +updates: + + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "monthly" diff --git a/.github/workflows/actions.yml b/.github/workflows/actions.yml index bdee5f8..6fa0181 100644 --- a/.github/workflows/actions.yml +++ b/.github/workflows/actions.yml @@ -13,21 +13,27 @@ on: jobs: test: runs-on: ubuntu-latest + strategy: + matrix: + java: ['8', '17'] steps: - - uses: actions/checkout@v2 - - uses: actions/setup-java@v1 + - uses: actions/checkout@v3 + - uses: actions/setup-java@v3 with: - java-version: 8 + distribution: 'temurin' + java-version: ${{ matrix.java }} - name: Run tests run: ./mill -i all __.publishArtifacts __.test + check-binary-compatibility: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: fetch-depth: 0 - - uses: actions/setup-java@v1 + - uses: actions/setup-java@v3 with: + distribution: 'temurin' java-version: 8 - name: Check Binary Compatibility run: ./mill -i __.mimaReportBinaryIssues @@ -45,9 +51,10 @@ jobs: LC_MESSAGES: "en_US.UTF-8" LC_ALL: "en_US.UTF-8" steps: - - uses: actions/checkout@v2 - - uses: actions/setup-java@v1 + - uses: actions/checkout@v3 + - uses: actions/setup-java@v3 with: + distribution: 'temurin' java-version: 8 - name: Publish to Maven Central run: | @@ -72,5 +79,4 @@ jobs: with: tag_name: ${{ github.ref }} release_name: ${{ github.ref }} - body: draft: false diff --git a/.mill-version b/.mill-version new file mode 100644 index 0000000..9028ec6 --- /dev/null +++ b/.mill-version @@ -0,0 +1 @@ +0.10.5 diff --git a/build.sc b/build.sc index 78a5c1a..7ba278a 100644 --- a/build.sc +++ b/build.sc @@ -1,36 +1,38 @@ import mill._, scalalib._, scalajslib._, scalanativelib._, publish._ import $ivy.`de.tototec::de.tobiasroeser.mill.vcs.version::0.1.4` import de.tobiasroeser.mill.vcs.version.VcsVersion -import $ivy.`com.github.lolgab::mill-mima::0.0.9` +import $ivy.`com.github.lolgab::mill-mima::0.0.10` import com.github.lolgab.mill.mima._ +import mill.scalalib.api.Util.isScala3 -val dottyVersions = sys.props.get("dottyVersion").toList +val dottyCommunityBuildVersion = sys.props.get("dottyVersion").toList -val scala2VersionsAndDotty = "2.11.12" :: "2.12.13" :: "2.13.4" :: dottyVersions -val scala30 = "3.0.0" +val scalaVersions = + "2.11.12" :: "2.12.16" :: "2.13.8" :: "3.1.3" :: dottyCommunityBuildVersion -val scalaJSVersions = for { - scalaV <- scala30 :: scala2VersionsAndDotty - scalaJSV <- Seq("0.6.33", "1.5.1") - if scalaV.startsWith("2.") || scalaJSV.startsWith("1.") -} yield (scalaV, scalaJSV) +val scalaJSVersions = scalaVersions.map((_, "1.10.1")) +val scalaNativeVersions = scalaVersions.map((_, "0.4.5")) -val scalaNativeVersions = for { - scalaV <- "3.1.0" :: scala2VersionsAndDotty - scalaNativeV <- Seq("0.4.3") -} yield (scalaV, scalaNativeV) +trait MimaCheck extends Mima { + def mimaPreviousVersions = VcsVersion.vcsState().lastTag.toSeq +} -trait SourcecodeModule extends PublishModule with Mima { +trait SourcecodeModule extends PublishModule with MimaCheck { def artifactName = "sourcecode" def publishVersion = VcsVersion.vcsState().format() - def mimaPreviousVersions = VcsVersion.vcsState().lastTag.toSeq + def crossScalaVersion: String + + // Temporary until the next version of Mima gets released with + // https://github.com/lightbend/mima/issues/693 included in the release. + def mimaPreviousArtifacts = + if(isScala3(crossScalaVersion)) Agg.empty[Dep] else super.mimaPreviousArtifacts() def pomSettings = PomSettings( description = artifactName(), organization = "com.lihaoyi", - url = "https://github.com/lihaoyi/sourcecode", + url = "https://github.com/com-lihaoyi/sourcecode", licenses = Seq(License.MIT), versionControl = VersionControl.github(owner = "com-lihaoyi", repo = "sourcecode"), developers = Seq( @@ -82,7 +84,7 @@ trait SourcecodeTestModule extends ScalaModule { } object sourcecode extends Module { - object jvm extends Cross[JvmSourcecodeModule](scala30 :: scala2VersionsAndDotty: _*) + object jvm extends Cross[JvmSourcecodeModule](scalaVersions: _*) class JvmSourcecodeModule(val crossScalaVersion: String) extends SourcecodeMainModule with ScalaModule with SourcecodeModule { diff --git a/mill b/mill index 8edc814..e616548 100755 --- a/mill +++ b/mill @@ -3,7 +3,7 @@ # This is a wrapper script, that automatically download mill from GitHub release pages # You can give the required mill version with MILL_VERSION env variable # If no version is given, it falls back to the value of DEFAULT_MILL_VERSION -DEFAULT_MILL_VERSION=0.10.0 +DEFAULT_MILL_VERSION=0.10.5 set -e