Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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"
)
```
Expand Down
13 changes: 2 additions & 11 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -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")
Expand Down Expand Up @@ -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.
Expand Down Expand Up @@ -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
Expand Down
Loading