From 8101b7b27dc36ef28be7258c8992d5f5a6ef6f93 Mon Sep 17 00:00:00 2001 From: Francis De Brabandere Date: Thu, 22 Aug 2024 15:43:20 +0200 Subject: [PATCH 01/12] Scala 3.5.0 https://github.com/scala/scala3/releases/tag/3.5.0 --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fc1ebd0..cf5ea4b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - scalaVersion: ['2.12.19', '2.13.14', '3.3.3', '3.4.2'] + scalaVersion: ['2.12.19', '2.13.14', '3.4.2', '3.5.0'] javaTag: [ 'graalvm-community-22.0.1', 'graalvm-community-21.0.2', From 68f922e076fe9e1e6bfed8c71e01fc44dc2dd44e Mon Sep 17 00:00:00 2001 From: Francis De Brabandere Date: Mon, 26 Aug 2024 21:38:27 +0200 Subject: [PATCH 02/12] try a different way to get the scala3 version --- eclipse-temurin/Dockerfile | 2 +- graalvm-ce/Dockerfile | 2 +- graalvm-community/Dockerfile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/eclipse-temurin/Dockerfile b/eclipse-temurin/Dockerfile index db5aef9..94272f6 100644 --- a/eclipse-temurin/Dockerfile +++ b/eclipse-temurin/Dockerfile @@ -45,7 +45,7 @@ RUN \ chmod -R 755 /usr/share/scala && \ ln -s /usr/share/scala/bin/* /usr/local/bin && \ case $SCALA_VERSION in \ - "3"*) echo '@main def main = println(s"Scala library version ${dotty.tools.dotc.config.Properties.versionNumberString}")' > test.scala ;; \ + "3"*) echo '@main def main = println(s"Scala library version ${scala.util.Properties.versionMsg}")' > test.scala ;; \ *) echo "println(util.Properties.versionMsg)" > test.scala ;; \ esac && \ scala -nocompdaemon test.scala && rm test.scala diff --git a/graalvm-ce/Dockerfile b/graalvm-ce/Dockerfile index 20015d5..1ae34c2 100644 --- a/graalvm-ce/Dockerfile +++ b/graalvm-ce/Dockerfile @@ -39,7 +39,7 @@ RUN \ chmod -R 755 /usr/share/scala && \ ln -s /usr/share/scala/bin/* /usr/local/bin && \ case $SCALA_VERSION in \ - "3"*) echo '@main def main = println(s"Scala library version ${dotty.tools.dotc.config.Properties.versionNumberString}")' > test.scala ;; \ + "3"*) echo '@main def main = println(s"Scala library version ${scala.util.Properties.versionMsg}")' > test.scala ;; \ *) echo "println(util.Properties.versionMsg)" > test.scala ;; \ esac && \ scala -nocompdaemon test.scala && rm test.scala diff --git a/graalvm-community/Dockerfile b/graalvm-community/Dockerfile index 6cf27df..d265d4c 100644 --- a/graalvm-community/Dockerfile +++ b/graalvm-community/Dockerfile @@ -39,7 +39,7 @@ RUN \ chmod -R 755 /usr/share/scala && \ ln -s /usr/share/scala/bin/* /usr/local/bin && \ case $SCALA_VERSION in \ - "3"*) echo '@main def main = println(s"Scala library version ${dotty.tools.dotc.config.Properties.versionNumberString}")' > test.scala ;; \ + "3"*) echo '@main def main = println(s"Scala library version ${scala.util.Properties.versionMsg}")' > test.scala ;; \ *) echo "println(util.Properties.versionMsg)" > test.scala ;; \ esac && \ scala -nocompdaemon test.scala && rm test.scala From b69e9ac676a22342194dee659bf3908501c41e94 Mon Sep 17 00:00:00 2001 From: Francis De Brabandere Date: Mon, 26 Aug 2024 22:56:26 +0200 Subject: [PATCH 03/12] still issues with scala being replaced by scala-cli --- eclipse-temurin/Dockerfile | 8 ++++---- eclipse-temurin/alpine.Dockerfile | 4 ++-- graalvm-ce/Dockerfile | 2 +- graalvm-community/Dockerfile | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/eclipse-temurin/Dockerfile b/eclipse-temurin/Dockerfile index 94272f6..f94519b 100644 --- a/eclipse-temurin/Dockerfile +++ b/eclipse-temurin/Dockerfile @@ -10,7 +10,7 @@ FROM eclipse-temurin:${BASE_IMAGE_TAG:-11.0.16.1_1-jdk} # Env variables ARG SCALA_VERSION -ENV SCALA_VERSION ${SCALA_VERSION:-2.13.10} +ENV SCALA_VERSION ${SCALA_VERSION:-3.5.0} ARG SBT_VERSION ENV SBT_VERSION ${SBT_VERSION:-1.6.2} ARG USER_ID @@ -45,10 +45,10 @@ RUN \ chmod -R 755 /usr/share/scala && \ ln -s /usr/share/scala/bin/* /usr/local/bin && \ case $SCALA_VERSION in \ - "3"*) echo '@main def main = println(s"Scala library version ${scala.util.Properties.versionMsg}")' > test.scala ;; \ + "3"*) echo 'import java.io.FileInputStream;import java.util.jar.JarInputStream;val scala3LibJar = classOf[CanEqual[_, _]].getProtectionDomain.getCodeSource.getLocation.toURI.getPath;val manifest = new JarInputStream(new FileInputStream(scala3LibJar)).getManifest;val ver = manifest.getMainAttributes.getValue("Implementation-Version");@main def main = println(s"Scala version ${ver}")' > test.scala ;; \ *) echo "println(util.Properties.versionMsg)" > test.scala ;; \ - esac && \ - scala -nocompdaemon test.scala && rm test.scala + esac #&& \ + #scala -nocompdaemon test.scala && rm test.scala # Symlink java to have it available on sbtuser's PATH RUN ln -s /opt/java/openjdk/bin/java /usr/local/bin/java diff --git a/eclipse-temurin/alpine.Dockerfile b/eclipse-temurin/alpine.Dockerfile index 7990c78..dfaa70d 100644 --- a/eclipse-temurin/alpine.Dockerfile +++ b/eclipse-temurin/alpine.Dockerfile @@ -24,8 +24,8 @@ RUN \ update-ca-certificates && \ scala -version && \ case $SCALA_VERSION in \ - "3"*) echo '@main def main = println(s"Scala library version ${dotty.tools.dotc.config.Properties.versionNumberString}")' > test.scala ;; \ - *) echo "println(util.Properties.versionMsg)" > test.scala ;; \ + "3"*) echo 'import java.io.FileInputStream;import java.util.jar.JarInputStream;val scala3LibJar = classOf[CanEqual[_, _]].getProtectionDomain.getCodeSource.getLocation.toURI.getPath;val manifest = new JarInputStream(new FileInputStream(scala3LibJar)).getManifest;val ver = manifest.getMainAttributes.getValue("Implementation-Version");@main def main = println(s"Scala version ${ver}")' > test.scala ;; \ + *) echo "println(util.Properties.versionMsg)" > test.scala ;; \ esac && \ scala -nocompdaemon test.scala && rm test.scala diff --git a/graalvm-ce/Dockerfile b/graalvm-ce/Dockerfile index 1ae34c2..f2070f1 100644 --- a/graalvm-ce/Dockerfile +++ b/graalvm-ce/Dockerfile @@ -39,7 +39,7 @@ RUN \ chmod -R 755 /usr/share/scala && \ ln -s /usr/share/scala/bin/* /usr/local/bin && \ case $SCALA_VERSION in \ - "3"*) echo '@main def main = println(s"Scala library version ${scala.util.Properties.versionMsg}")' > test.scala ;; \ + "3"*) echo 'import java.io.FileInputStream;import java.util.jar.JarInputStream;val scala3LibJar = classOf[CanEqual[_, _]].getProtectionDomain.getCodeSource.getLocation.toURI.getPath;val manifest = new JarInputStream(new FileInputStream(scala3LibJar)).getManifest;val ver = manifest.getMainAttributes.getValue("Implementation-Version");@main def main = println(s"Scala version ${ver}")' > test.scala ;; \ *) echo "println(util.Properties.versionMsg)" > test.scala ;; \ esac && \ scala -nocompdaemon test.scala && rm test.scala diff --git a/graalvm-community/Dockerfile b/graalvm-community/Dockerfile index d265d4c..130fb3f 100644 --- a/graalvm-community/Dockerfile +++ b/graalvm-community/Dockerfile @@ -39,7 +39,7 @@ RUN \ chmod -R 755 /usr/share/scala && \ ln -s /usr/share/scala/bin/* /usr/local/bin && \ case $SCALA_VERSION in \ - "3"*) echo '@main def main = println(s"Scala library version ${scala.util.Properties.versionMsg}")' > test.scala ;; \ + "3"*) echo 'import java.io.FileInputStream;import java.util.jar.JarInputStream;val scala3LibJar = classOf[CanEqual[_, _]].getProtectionDomain.getCodeSource.getLocation.toURI.getPath;val manifest = new JarInputStream(new FileInputStream(scala3LibJar)).getManifest;val ver = manifest.getMainAttributes.getValue("Implementation-Version");@main def main = println(s"Scala version ${ver}")' > test.scala ;; \ *) echo "println(util.Properties.versionMsg)" > test.scala ;; \ esac && \ scala -nocompdaemon test.scala && rm test.scala From 4b03df809234494d0d24e074c4187058b5ba76c5 Mon Sep 17 00:00:00 2001 From: Francis De Brabandere Date: Mon, 26 Aug 2024 23:04:50 +0200 Subject: [PATCH 04/12] undo default scala version change --- eclipse-temurin/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eclipse-temurin/Dockerfile b/eclipse-temurin/Dockerfile index f94519b..88d056e 100644 --- a/eclipse-temurin/Dockerfile +++ b/eclipse-temurin/Dockerfile @@ -10,7 +10,7 @@ FROM eclipse-temurin:${BASE_IMAGE_TAG:-11.0.16.1_1-jdk} # Env variables ARG SCALA_VERSION -ENV SCALA_VERSION ${SCALA_VERSION:-3.5.0} +ENV SCALA_VERSION ${SCALA_VERSION:-2.13.10} ARG SBT_VERSION ENV SBT_VERSION ${SBT_VERSION:-1.6.2} ARG USER_ID From ad82db3af56f41750fcba16f7829e8605e659ebd Mon Sep 17 00:00:00 2001 From: Francis De Brabandere Date: Mon, 26 Aug 2024 23:24:17 +0200 Subject: [PATCH 05/12] excluding broken builds --- .github/workflows/build.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 93e44cb..4aa686b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -72,6 +72,21 @@ jobs: dockerfile: 'alpine.Dockerfile' baseImageTag: '17.0.10_7-jdk-alpine' platforms: 'linux/amd64' + exclude: +# - scalaVersion: '3.5.0' +# javaTag: 'graalvm-community-22.0.1' +# - scalaVersion: '3.5.0' +# javaTag: 'graalvm-community-21.0.2' + # https://github.com/VirtusLab/scala-cli/issues/3130 + - scalaVersion: '3.5.0' + javaTag: 'graalvm-ce-22.3.3-b1-java17' + # https://github.com/VirtusLab/scala-cli/issues/2758 + - scalaVersion: '3.5.0' + javaTag: 'eclipse-temurin-alpine-22_36' + - scalaVersion: '3.5.0' + javaTag: 'eclipse-temurin-alpine-21.0.2_13' + - scalaVersion: '3.5.0' + javaTag: 'eclipse-temurin-alpine-17.0.10_7' steps: - uses: actions/checkout@v4 - name: Set up QEMU From 1fc22143ee6996c84c177e49a0fd8e3711c7ac26 Mon Sep 17 00:00:00 2001 From: Francis De Brabandere Date: Mon, 26 Aug 2024 23:31:01 +0200 Subject: [PATCH 06/12] more excludes --- .github/workflows/build.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4aa686b..5bf5a8e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -73,10 +73,10 @@ jobs: baseImageTag: '17.0.10_7-jdk-alpine' platforms: 'linux/amd64' exclude: -# - scalaVersion: '3.5.0' -# javaTag: 'graalvm-community-22.0.1' -# - scalaVersion: '3.5.0' -# javaTag: 'graalvm-community-21.0.2' + - scalaVersion: '3.5.0' + javaTag: 'graalvm-community-22.0.1' + - scalaVersion: '3.5.0' + javaTag: 'graalvm-community-21.0.2' # https://github.com/VirtusLab/scala-cli/issues/3130 - scalaVersion: '3.5.0' javaTag: 'graalvm-ce-22.3.3-b1-java17' From ef23fafcbef83d6f9aba3a8fe54bae66b2418fa8 Mon Sep 17 00:00:00 2001 From: Francis De Brabandere Date: Mon, 26 Aug 2024 23:31:28 +0200 Subject: [PATCH 07/12] more excludes --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5bf5a8e..0b9a401 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -73,11 +73,11 @@ jobs: baseImageTag: '17.0.10_7-jdk-alpine' platforms: 'linux/amd64' exclude: + # https://github.com/VirtusLab/scala-cli/issues/3130 - scalaVersion: '3.5.0' javaTag: 'graalvm-community-22.0.1' - scalaVersion: '3.5.0' javaTag: 'graalvm-community-21.0.2' - # https://github.com/VirtusLab/scala-cli/issues/3130 - scalaVersion: '3.5.0' javaTag: 'graalvm-ce-22.3.3-b1-java17' # https://github.com/VirtusLab/scala-cli/issues/2758 From a034ca497b6822ad290cbcbfb113a7c471c8f850 Mon Sep 17 00:00:00 2001 From: Francis De Brabandere Date: Mon, 26 Aug 2024 23:56:56 +0200 Subject: [PATCH 08/12] forgot to re-enable the scala test --- eclipse-temurin/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eclipse-temurin/Dockerfile b/eclipse-temurin/Dockerfile index 88d056e..7f79e5d 100644 --- a/eclipse-temurin/Dockerfile +++ b/eclipse-temurin/Dockerfile @@ -47,8 +47,8 @@ RUN \ case $SCALA_VERSION in \ "3"*) echo 'import java.io.FileInputStream;import java.util.jar.JarInputStream;val scala3LibJar = classOf[CanEqual[_, _]].getProtectionDomain.getCodeSource.getLocation.toURI.getPath;val manifest = new JarInputStream(new FileInputStream(scala3LibJar)).getManifest;val ver = manifest.getMainAttributes.getValue("Implementation-Version");@main def main = println(s"Scala version ${ver}")' > test.scala ;; \ *) echo "println(util.Properties.versionMsg)" > test.scala ;; \ - esac #&& \ - #scala -nocompdaemon test.scala && rm test.scala + esac && \ + scala -nocompdaemon test.scala && rm test.scala # Symlink java to have it available on sbtuser's PATH RUN ln -s /opt/java/openjdk/bin/java /usr/local/bin/java From a3f040e3ce556eb91008ef0de7a4a915d723570c Mon Sep 17 00:00:00 2001 From: Raphael Parree Date: Tue, 27 Aug 2024 08:22:24 +0200 Subject: [PATCH 09/12] fixed build for scala-3.5.0 --- eclipse-temurin/Dockerfile | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/eclipse-temurin/Dockerfile b/eclipse-temurin/Dockerfile index 7f79e5d..8310b5e 100644 --- a/eclipse-temurin/Dockerfile +++ b/eclipse-temurin/Dockerfile @@ -44,11 +44,13 @@ RUN \ chown -R root:root /usr/share/scala && \ chmod -R 755 /usr/share/scala && \ ln -s /usr/share/scala/bin/* /usr/local/bin && \ + mkdir -p /test && \ case $SCALA_VERSION in \ - "3"*) echo 'import java.io.FileInputStream;import java.util.jar.JarInputStream;val scala3LibJar = classOf[CanEqual[_, _]].getProtectionDomain.getCodeSource.getLocation.toURI.getPath;val manifest = new JarInputStream(new FileInputStream(scala3LibJar)).getManifest;val ver = manifest.getMainAttributes.getValue("Implementation-Version");@main def main = println(s"Scala version ${ver}")' > test.scala ;; \ - *) echo "println(util.Properties.versionMsg)" > test.scala ;; \ + "3"*) echo 'import java.io.FileInputStream;import java.util.jar.JarInputStream;val scala3LibJar = classOf[CanEqual[_, _]].getProtectionDomain.getCodeSource.getLocation.toURI.getPath;val manifest = new JarInputStream(new FileInputStream(scala3LibJar)).getManifest;val ver = manifest.getMainAttributes.getValue("Implementation-Version");@main def main = println(s"Scala version ${ver}")' > /test/test.scala ;; \ + *) echo "println(util.Properties.versionMsg)" > /test/test.scala ;; \ esac && \ - scala -nocompdaemon test.scala && rm test.scala + scala -nocompdaemon test/test.scala && \ + rm -fr test # Symlink java to have it available on sbtuser's PATH RUN ln -s /opt/java/openjdk/bin/java /usr/local/bin/java From 2ff7fd9ec44ee5ac886626e1f170c2466181b715 Mon Sep 17 00:00:00 2001 From: Francis De Brabandere Date: Tue, 27 Aug 2024 09:07:29 +0200 Subject: [PATCH 10/12] try removing alpine excludes --- .github/workflows/build.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0b9a401..fa2f15f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -81,12 +81,12 @@ jobs: - scalaVersion: '3.5.0' javaTag: 'graalvm-ce-22.3.3-b1-java17' # https://github.com/VirtusLab/scala-cli/issues/2758 - - scalaVersion: '3.5.0' - javaTag: 'eclipse-temurin-alpine-22_36' - - scalaVersion: '3.5.0' - javaTag: 'eclipse-temurin-alpine-21.0.2_13' - - scalaVersion: '3.5.0' - javaTag: 'eclipse-temurin-alpine-17.0.10_7' + # - scalaVersion: '3.5.0' + # javaTag: 'eclipse-temurin-alpine-22_36' + # - scalaVersion: '3.5.0' + # javaTag: 'eclipse-temurin-alpine-21.0.2_13' + # - scalaVersion: '3.5.0' + # javaTag: 'eclipse-temurin-alpine-17.0.10_7' steps: - uses: actions/checkout@v4 - name: Set up QEMU From 832d51352cca37cb898f1e9b3a86894de90e20ad Mon Sep 17 00:00:00 2001 From: Francis De Brabandere Date: Tue, 27 Aug 2024 09:12:00 +0200 Subject: [PATCH 11/12] Update alpine.Dockerfile --- eclipse-temurin/alpine.Dockerfile | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/eclipse-temurin/alpine.Dockerfile b/eclipse-temurin/alpine.Dockerfile index dfaa70d..d88fe4e 100644 --- a/eclipse-temurin/alpine.Dockerfile +++ b/eclipse-temurin/alpine.Dockerfile @@ -23,11 +23,13 @@ RUN \ ln -s "$SCALA_HOME/bin/"* "/usr/bin/" && \ update-ca-certificates && \ scala -version && \ + mkdir -p /test && \ case $SCALA_VERSION in \ - "3"*) echo 'import java.io.FileInputStream;import java.util.jar.JarInputStream;val scala3LibJar = classOf[CanEqual[_, _]].getProtectionDomain.getCodeSource.getLocation.toURI.getPath;val manifest = new JarInputStream(new FileInputStream(scala3LibJar)).getManifest;val ver = manifest.getMainAttributes.getValue("Implementation-Version");@main def main = println(s"Scala version ${ver}")' > test.scala ;; \ - *) echo "println(util.Properties.versionMsg)" > test.scala ;; \ + "3"*) echo 'import java.io.FileInputStream;import java.util.jar.JarInputStream;val scala3LibJar = classOf[CanEqual[_, _]].getProtectionDomain.getCodeSource.getLocation.toURI.getPath;val manifest = new JarInputStream(new FileInputStream(scala3LibJar)).getManifest;val ver = manifest.getMainAttributes.getValue("Implementation-Version");@main def main = println(s"Scala version ${ver}")' > /test/test.scala ;; \ + *) echo "println(util.Properties.versionMsg)" > /test/test.scala ;; \ esac && \ - scala -nocompdaemon test.scala && rm test.scala + scala -nocompdaemon test/test.scala && \ + rm -fr test # Install sbt RUN \ From 4ba614da8245e012058fc841bfe0cedbc91fe1da Mon Sep 17 00:00:00 2001 From: Francis De Brabandere Date: Tue, 27 Aug 2024 09:21:20 +0200 Subject: [PATCH 12/12] Revert update alpine.Dockerfile --- eclipse-temurin/alpine.Dockerfile | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/eclipse-temurin/alpine.Dockerfile b/eclipse-temurin/alpine.Dockerfile index d88fe4e..dfaa70d 100644 --- a/eclipse-temurin/alpine.Dockerfile +++ b/eclipse-temurin/alpine.Dockerfile @@ -23,13 +23,11 @@ RUN \ ln -s "$SCALA_HOME/bin/"* "/usr/bin/" && \ update-ca-certificates && \ scala -version && \ - mkdir -p /test && \ case $SCALA_VERSION in \ - "3"*) echo 'import java.io.FileInputStream;import java.util.jar.JarInputStream;val scala3LibJar = classOf[CanEqual[_, _]].getProtectionDomain.getCodeSource.getLocation.toURI.getPath;val manifest = new JarInputStream(new FileInputStream(scala3LibJar)).getManifest;val ver = manifest.getMainAttributes.getValue("Implementation-Version");@main def main = println(s"Scala version ${ver}")' > /test/test.scala ;; \ - *) echo "println(util.Properties.versionMsg)" > /test/test.scala ;; \ + "3"*) echo 'import java.io.FileInputStream;import java.util.jar.JarInputStream;val scala3LibJar = classOf[CanEqual[_, _]].getProtectionDomain.getCodeSource.getLocation.toURI.getPath;val manifest = new JarInputStream(new FileInputStream(scala3LibJar)).getManifest;val ver = manifest.getMainAttributes.getValue("Implementation-Version");@main def main = println(s"Scala version ${ver}")' > test.scala ;; \ + *) echo "println(util.Properties.versionMsg)" > test.scala ;; \ esac && \ - scala -nocompdaemon test/test.scala && \ - rm -fr test + scala -nocompdaemon test.scala && rm test.scala # Install sbt RUN \