diff --git a/.github/workflows/ci-circt-nightly.yml b/.github/workflows/ci-circt-nightly.yml index 099895f55fa..670b5ceaedc 100644 --- a/.github/workflows/ci-circt-nightly.yml +++ b/.github/workflows/ci-circt-nightly.yml @@ -48,7 +48,7 @@ jobs: strategy: matrix: system: ["ubuntu-22.04"] - jvm: [8] + jvm: [21] scala: ["2.13.15"] espresso: ["2.4"] slang: ["7.0"] diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 884915c1727..6f0300dc270 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,7 +18,7 @@ jobs: strategy: matrix: system: ["ubuntu-22.04"] - jvm: [17] + jvm: [21] scala: ["2.13.15"] espresso: ["2.4"] slang: ["7.0"] @@ -83,7 +83,7 @@ jobs: - name: Setup Scala uses: VirtusLab/scala-cli-setup@v1 with: - jvm: adopt:8 + jvm: adopt:21 apps: sbt - name: Publish run: ./mill -i io.kipp.mill.ci.release.ReleaseModule/publishAll diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1cebe43f7e4..2164a4f1fbc 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -108,7 +108,7 @@ jobs: uses: actions/setup-java@v4 with: distribution: 'adopt' - java-version: '21' + java-version: ${{ inputs.jvm }} - name: Install CIRCT id: install-circt if: ${{ inputs.circt }} @@ -146,7 +146,7 @@ jobs: uses: actions/setup-java@v4 with: distribution: 'adopt' - java-version: '21' + java-version: ${{ inputs.jvm }} - name: Check Build Script Formatting run: ./mill --meta-level 1 mill.scalalib.scalafmt.ScalafmtModule/checkFormatAll sources - name: Check Source File Format @@ -168,7 +168,7 @@ jobs: uses: actions/setup-java@v4 with: distribution: 'adopt' - java-version: '11' + java-version: ${{ inputs.jvm }} - name: Install CIRCT id: install-circt if: ${{ inputs.circt }} @@ -198,7 +198,7 @@ jobs: uses: actions/setup-java@v4 with: distribution: 'adopt' - java-version: '21' + java-version: ${{ inputs.jvm }} - name: JMH run: ./mill benchmark.runJmh @@ -219,7 +219,7 @@ jobs: uses: actions/setup-java@v4 with: distribution: 'adopt' - java-version: '11' + java-version: ${{ inputs.jvm }} - name: Compile run: ./mill stdlib.cross[_].compile diff --git a/flake.nix b/flake.nix index d787ff344ae..aabe6eb8133 100644 --- a/flake.nix +++ b/flake.nix @@ -15,12 +15,14 @@ let pkgs = import nixpkgs { inherit system; overlays = [ overlay ]; }; deps = with pkgs; [ + jdk21 mill circt jextract-21 lit scala-cli llvm + verilator ]; in { diff --git a/release.mill b/release.mill index 76d781c4803..ed9491b3558 100644 --- a/release.mill +++ b/release.mill @@ -7,7 +7,7 @@ import mill.scalalib.publish._ import mill.api.Result import mill.scalalib.api.ZincWorkerUtil.matchingVersions import mill.util.Jvm.createJar -import $ivy.`io.chris-kipp::mill-ci-release::0.1.10` +import $ivy.`io.chris-kipp::mill-ci-release_mill0.12:0.2.1` // https://github.com/ckipp01/mill-ci-release/pull/143 import io.kipp.mill.ci.release.{CiReleaseModule, SonatypeHost} import de.tobiasroeser.mill.vcs.version.VcsVersion // pulled in by mill-ci-release @@ -49,18 +49,6 @@ trait Unipublish extends ScalaModule with ChiselPublishModule { // This is published as chisel override def artifactName = "chisel" - // Older versions of Scala do not work with newer versions of the JVM - // This is a hack to ensure we always use Java 8 to publish Chisel with Scala 2.13 - // We could use Java 11 with -release 8 - // Note that this target is used by real publishing but not by publishLocal - override def publishArtifacts = Task { - // TODO when we publish for Scala 3, only do this check for Scala 2.13 - if (v.javaVersion != 8) { - throw new Exception(s"Publishing requires Java 8, current JDK is ${v.javaVersion}") - } - super.publishArtifacts - } - /** Publish both this project and the plugin (for the default Scala version) */ override def publishLocal(localIvyRepo: String = null) = Task.Command { // TODO consider making this parallel and publishing all cross-versions for plugin