From 07de201e821e85ff63b51d1b8a3bc90c28b34a8e Mon Sep 17 00:00:00 2001 From: Benjamin Meyer Date: Fri, 4 Sep 2026 10:22:02 +0200 Subject: [PATCH] Return to 0.2-SNAPSHOT after the 0.1.0 release Puts deepwit and its dimwit dependency back on the 0.2 snapshots, and restores the CI step that clones dimwit and publishes it locally, since dimwit 0.2-SNAPSHOT is still not on any remote. The dimwit dependency scheme is no longer needed: with core and plotwit both on 0.2-SNAPSHOT there is nothing left to evict. Co-Authored-By: Claude Opus 5 --- .github/workflows/ci.yml | 12 ++++++++++++ README.md | 2 +- build.sbt | 13 ++----------- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8bf19ab..ff1d33a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -44,6 +44,18 @@ jobs: restore-keys: | ${{ runner.os }}-sbt- + # TEMPORARY: dimwit 0.2-SNAPSHOT is not published to any remote yet, so CI builds it from source. + - name: Check out dimwit + uses: actions/checkout@v4 + with: + repository: marcelluethi/dimwit + ref: version-0.2-SNAPSHOT + path: dimwit + + - name: Publish dimwit-core to the local ivy repo + working-directory: dimwit + run: sbt core/publishLocal + - name: Check formatting run: sbt scalafmtCheckAll diff --git a/README.md b/README.md index c4a51d3..8ee7e72 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ DeepWit's API is expressed in DimWit's tensor types, so you will import from bot ```scala libraryDependencies ++= Seq( - "ch.contrafactus" %% "deepwit-core" % "0.1.0", + "ch.contrafactus" %% "deepwit-core" % "0.2-SNAPSHOT", "ch.contrafactus" %% "dimwit-core" % "0.1.0" ) ``` diff --git a/build.sbt b/build.sbt index 8a6ffdb..e41cb78 100644 --- a/build.sbt +++ b/build.sbt @@ -4,7 +4,7 @@ import scala.sys.process._ run / fork := true Global / cancelable := true -ThisBuild / version := "0.1.0" +ThisBuild / version := "0.2-SNAPSHOT" ThisBuild / scalaVersion := "3.8.1" ThisBuild / organization := "ch.contrafactus" ThisBuild / versionScheme := Some("early-semver") @@ -40,17 +40,8 @@ ThisBuild / developers := List( // semanticdb and -Wunused to be on. Run it with `sbt scalafixAll`. ThisBuild / semanticdbEnabled := true ThisBuild / scalacOptions += "-Wunused:imports" - -// `core` depends only on released artifacts so that it can be published and consumed without any -// local publishing. `examples` additionally needs plotwit, which is not published anywhere yet and -// so still resolves from the local ivy repo via `publishLocal` in the plotwit checkout. ThisBuild / resolvers += "Central Portal Snapshots" at "https://central.sonatype.com/repository/maven-snapshots/" -// Consequence of that split: `core` asks for the released dimwit 0.1.0 while the locally published -// plotwit asks for 0.2-SNAPSHOT, which sbt reads as a binary-incompatible conflict under -// early-semver. Let the newer snapshot win in `examples`; `core` on its own resolves 0.1.0. -ThisBuild / libraryDependencySchemes += "ch.contrafactus" %% "dimwit-core" % "always" - addCommandAlias("testAndCoverage", "; clean; coverage; test; coverageReport") // Publishes `core` only. `examples` depends on plotwit, which is not published. @@ -82,7 +73,7 @@ lazy val core = (project in file("core")) "org.scalacheck" %% "scalacheck" % "1.18.0" % Test, "org.scalatestplus" %% "scalacheck-1-18" % "3.2.19.0" % Test, "dev.scalapy" %% "scalapy-core" % "0.5.3", - "ch.contrafactus" %% "dimwit-core" % "0.1.0" + "ch.contrafactus" %% "dimwit-core" % "0.2-SNAPSHOT" changing () ), // ScalaPy drives a single embedded CPython interpreter, and two suites importing jax at the same // time race into a partially initialized module. Whichever suites happen to touch a tensor first