Skip to content

Commit e1ac9f5

Browse files
authored
Merge pull request #3558 from Gedochao/update/docker-test-images
Pin & update docker images
2 parents 6a38d0c + 1e65eb3 commit e1ac9f5

File tree

6 files changed

+24
-13
lines changed

6 files changed

+24
-13
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
FROM debian:stable-slim AS build-env
22

3-
FROM gcr.io/distroless/base-debian10
3+
FROM gcr.io/distroless/base-debian12
44
ADD scala-cli /usr/local/bin/scala-cli
55
COPY --from=build-env /lib/x86_64-linux-gnu/libz.so.1 /lib/x86_64-linux-gnu/libz.so.1
66
ENTRYPOINT ["/usr/local/bin/scala-cli"]

build.sc

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import $file.project.settings, settings.{
1818
projectFileName,
1919
jvmPropertiesFileName
2020
}
21-
import $file.project.deps, deps.customRepositories
21+
import $file.project.deps, deps.customRepositories, deps.alpineVersion
2222
import $file.project.website
2323

2424
import java.io.File
@@ -184,6 +184,7 @@ trait DocsTests extends CrossSbtModule with ScalaCliScalafixModule with HasTests
184184
| def coursierCliModule = "${Deps.coursierCli.dep.module.name.value}"
185185
| def coursierCliVersion = "${Deps.Versions.coursierCli}"
186186
| def defaultScalaVersion = "${Scala.defaultUser}"
187+
| def alpineVersion = "$alpineVersion"
187188
|}
188189
|""".stripMargin
189190
if (!os.isFile(dest) || os.read(dest) != code)
@@ -544,6 +545,8 @@ trait Core extends ScalaCliCrossSbtModule
544545
| def mavenAppVersion = "${Deps.Versions.mavenAppVersion}"
545546
|
546547
| def scalafixVersion = "${Deps.Versions.scalafix}"
548+
|
549+
| def alpineVersion = "$alpineVersion"
547550
|}
548551
|""".stripMargin
549552
if (!os.isFile(dest) || os.read(dest) != code)

modules/cli/src/main/scala/scala/cli/commands/github/LibSodiumJni.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,14 @@ object LibSodiumJni {
4040

4141
private def libsodiumVersion = Constants.libsodiumVersion
4242
private def libsodiumjniVersion = Constants.libsodiumjniVersion
43+
private def alpineVersion = Constants.alpineVersion
4344

4445
private def archiveUrlAndPath() =
4546
if (Properties.isLinux && launcherKindOpt.contains("static"))
4647
// Should actually be unused, as we statically link libsodium from the static launcher
4748
// Keeping it just-in-case. This could be useful from a musl-based JVM.
4849
(
49-
s"https://dl-cdn.alpinelinux.org/alpine/v3.15/main/x86_64/libsodium-$libsodiumVersion-r0.apk",
50+
s"https://dl-cdn.alpinelinux.org/alpine/v$alpineVersion/main/x86_64/libsodium-$libsodiumVersion-r0.apk",
5051
os.rel / "usr" / "lib" / "libsodium.so.23.3.0" // FIXME Could this change?
5152
)
5253
else {

modules/docs-tests/src/test/scala/sclicheck/GifTests.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ class GifTests extends munit.FunSuite {
171171
ttyOpts,
172172
"-v",
173173
s"$out:/out",
174-
"alpine:3.16.2",
174+
s"alpine:${Constants.alpineVersion}",
175175
"sh",
176176
"-c",
177177
"rm -rf /out/* || true; rm -rf /out/.* || true"

project/deps.sc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -285,16 +285,16 @@ def buildCsM1Version = Deps.Versions.coursierM1Cli
285285
// Native library used to encrypt GitHub secrets
286286
def libsodiumVersion = "1.0.18"
287287
// Using the libsodium static library from this Alpine version (in the static launcher)
288-
def alpineVersion = "3.15"
288+
def alpineVersion = "3.16"
289+
def ubuntuVersion = "24.04"
289290

290291
object Docker {
291292
def customMuslBuilderImageName = "scala-cli-base-musl"
292293
def muslBuilder =
293294
s"$customMuslBuilderImageName:latest"
294295

295-
def testImage = "ubuntu:18.04"
296-
def alpineTestImage =
297-
"alpine@sha256:4edbd2beb5f78b1014028f4fbb99f3237d9561100b6881aabbf5acce2c4f9454"
296+
def testImage = s"ubuntu:$ubuntuVersion"
297+
def alpineTestImage = s"alpine:$alpineVersion"
298298
def authProxyTestImage =
299299
"bahamat/authenticated-proxy@sha256:568c759ac687f93d606866fbb397f39fe1350187b95e648376b971e9d7596e75"
300300
}

project/settings.sc

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
11
import $ivy.`com.goyeau::mill-scalafix::0.3.1`
22
import $ivy.`io.github.alexarchambault.mill::mill-native-image::0.1.29`
33

4-
import $file.deps,
5-
deps.{Deps, Docker, alpineVersion, buildCsVersion, buildCsM1Version, libsodiumVersion}
4+
import $file.deps, deps.{
5+
Deps,
6+
Docker,
7+
alpineVersion,
8+
buildCsVersion,
9+
buildCsM1Version,
10+
libsodiumVersion,
11+
ubuntuVersion
12+
}
613
import $file.utils, utils.isArmArchitecture
714

815
import com.goyeau.mill.scalafix.ScalafixModule
@@ -235,7 +242,7 @@ trait CliLaunchers extends SbtModule { self =>
235242
cs,
236243
"get",
237244
"--archive",
238-
"https://download.libsodium.org/libsodium/releases/libsodium-1.0.18-stable-msvc.zip"
245+
s"https://download.libsodium.org/libsodium/releases/libsodium-$libsodiumVersion-stable-msvc.zip"
239246
).call()
240247
val dir = os.Path(dirRes.out.trim(), os.pwd)
241248
os.copy.over(
@@ -305,7 +312,7 @@ trait CliLaunchers extends SbtModule { self =>
305312
def launcherKind = `base-image`.launcherKind
306313
def nativeImageDockerParams = Some(
307314
NativeImage.DockerParams(
308-
imageName = "ubuntu:18.04",
315+
imageName = s"ubuntu:$ubuntuVersion",
309316
prepareCommand =
310317
maybePassNativeImageJpmsOption +
311318
"""apt-get update -q -y &&\
@@ -366,7 +373,7 @@ trait CliLaunchers extends SbtModule { self =>
366373
def launcherKind = "mostly-static"
367374
def nativeImageDockerParams = T {
368375
val baseDockerParams = NativeImage.linuxMostlyStaticParams(
369-
"ubuntu:18.04", // TODO Pin that
376+
s"ubuntu:$ubuntuVersion",
370377
s"https://github.com/coursier/coursier/releases/download/v${deps.csDockerVersion}/cs-x86_64-pc-linux.gz"
371378
)
372379
val dockerParams = setupLocaleAndOptions(baseDockerParams)

0 commit comments

Comments
 (0)