Skip to content

Conversation

@tianon
Copy link
Member

@tianon tianon commented Dec 3, 2025

Instead of tracking individual minor releases, this tracks "stable", "rc", and "1.10" (hopefully someday renamed to "lts"; see #92).

This matches https://julialang.org/downloads/manual-downloads/ and https://docs.julialang.org/en/v1/manual/faq/#Do-I-want-to-use-the-Stable,-LTS,-or-nightly-version-of-Julia?

This then reflects that 1.11 is EOL (and has been since 1.12 went GA), and does so automatically (when 1.13 is GA, "stable" will auto-update to it, and "rc" will drop off until 1.14.0-alpha1+).

@tianon
Copy link
Member Author

tianon commented Dec 3, 2025

Here's the cleanest diff:

$ diff -u <(bashbrew list julia | cut -d: -f2 | sort) <(bashbrew list <(./generate-stackbrew-library.sh) | cut -d: -f2 | sort)
--- /dev/fd/63	2025-12-03 14:25:18.068853766 -0800
+++ /dev/fd/62	2025-12-03 14:25:18.072853809 -0800
@@ -25,24 +25,6 @@
 1.10-windowsservercore
 1.10-windowsservercore-ltsc2022
 1.10-windowsservercore-ltsc2025
-1.11
-1.11
-1.11
-1.11.7
-1.11.7
-1.11.7
-1.11.7-bookworm
-1.11.7-trixie
-1.11.7-windowsservercore
-1.11.7-windowsservercore
-1.11.7-windowsservercore-ltsc2022
-1.11.7-windowsservercore-ltsc2025
-1.11-bookworm
-1.11-trixie
-1.11-windowsservercore
-1.11-windowsservercore
-1.11-windowsservercore-ltsc2022
-1.11-windowsservercore-ltsc2025
 1.12
 1.12
 1.12

I'll work on a more complete diff (it's not as easy because of tag ordering changes).

@tianon
Copy link
Member Author

tianon commented Dec 3, 2025

--- /dev/fd/63	2025-12-03 14:28:09.614711676 -0800
+++ /dev/fd/62	2025-12-03 14:28:09.614711676 -0800
@@ -1,118 +1,72 @@
 Maintainers: Tianon Gravi <[email protected]> (@tianon), Joseph Ferguson <[email protected]> (@yosifkit)
 GitRepo: https://github.com/docker-library/julia.git
+GitCommit: 22a76795e78e6cbce44211432ca0d060779d4322
 
 Tags: 1.10.10-alpine3.21, 1.10-alpine3.21
-GitCommit: 36ec8a84fe6a3ac59872725f20e892e472b45227
 Directory: 1.10/alpine3.21
 
 Tags: 1.10.10-alpine3.22, 1.10-alpine3.22, 1.10.10-alpine, 1.10-alpine
-GitCommit: 36ec8a84fe6a3ac59872725f20e892e472b45227
 Directory: 1.10/alpine3.22
 
 Tags: 1.10.10-bookworm, 1.10-bookworm
 Architectures: amd64, arm64v8, i386, ppc64le
-GitCommit: 36ec8a84fe6a3ac59872725f20e892e472b45227
 Directory: 1.10/bookworm
 
 Tags: 1.10.10-trixie, 1.10-trixie
 SharedTags: 1.10.10, 1.10
 Architectures: amd64, arm64v8, i386, ppc64le
-GitCommit: 25081b47fd632d8a7140a3fede2da1db2d96aee5
 Directory: 1.10/trixie
 
 Tags: 1.10.10-windowsservercore-ltsc2022, 1.10-windowsservercore-ltsc2022
-SharedTags: 1.10.10, 1.10, 1.10.10-windowsservercore, 1.10-windowsservercore
+SharedTags: 1.10.10-windowsservercore, 1.10-windowsservercore, 1.10.10, 1.10
 Architectures: windows-amd64
-GitCommit: 36ec8a84fe6a3ac59872725f20e892e472b45227
 Directory: 1.10/windows/windowsservercore-ltsc2022
-Builder: classic
 Constraints: windowsservercore-ltsc2022
 
 Tags: 1.10.10-windowsservercore-ltsc2025, 1.10-windowsservercore-ltsc2025
-SharedTags: 1.10.10, 1.10, 1.10.10-windowsservercore, 1.10-windowsservercore
+SharedTags: 1.10.10-windowsservercore, 1.10-windowsservercore, 1.10.10, 1.10
 Architectures: windows-amd64
-GitCommit: 36ec8a84fe6a3ac59872725f20e892e472b45227
 Directory: 1.10/windows/windowsservercore-ltsc2025
-Builder: classic
-Constraints: windowsservercore-ltsc2025
-
-Tags: 1.11.7-bookworm, 1.11-bookworm
-Architectures: amd64, arm64v8, i386, ppc64le
-GitCommit: fa7463443f367283c168038f5fe7d5f40a960b66
-Directory: 1.11/bookworm
-
-Tags: 1.11.7-trixie, 1.11-trixie
-SharedTags: 1.11.7, 1.11
-Architectures: amd64, arm64v8, i386, ppc64le
-GitCommit: fa7463443f367283c168038f5fe7d5f40a960b66
-Directory: 1.11/trixie
-
-Tags: 1.11.7-windowsservercore-ltsc2022, 1.11-windowsservercore-ltsc2022
-SharedTags: 1.11.7, 1.11, 1.11.7-windowsservercore, 1.11-windowsservercore
-Architectures: windows-amd64
-GitCommit: b490d5cf6af9a5f1d001d1a093c4313e8fbe3333
-Directory: 1.11/windows/windowsservercore-ltsc2022
-Builder: classic
-Constraints: windowsservercore-ltsc2022
-
-Tags: 1.11.7-windowsservercore-ltsc2025, 1.11-windowsservercore-ltsc2025
-SharedTags: 1.11.7, 1.11, 1.11.7-windowsservercore, 1.11-windowsservercore
-Architectures: windows-amd64
-GitCommit: b490d5cf6af9a5f1d001d1a093c4313e8fbe3333
-Directory: 1.11/windows/windowsservercore-ltsc2025
-Builder: classic
 Constraints: windowsservercore-ltsc2025
 
 Tags: 1.12.2-bookworm, 1.12-bookworm, 1-bookworm, bookworm
 Architectures: amd64, arm64v8, i386
-GitCommit: a98413af17d0645ea15cb587b482ab9fa7caccbe
-Directory: 1.12/bookworm
+Directory: stable/bookworm
 
 Tags: 1.12.2-trixie, 1.12-trixie, 1-trixie, trixie
 SharedTags: 1.12.2, 1.12, 1, latest
 Architectures: amd64, arm64v8, i386
-GitCommit: a98413af17d0645ea15cb587b482ab9fa7caccbe
-Directory: 1.12/trixie
+Directory: stable/trixie
 
 Tags: 1.12.2-windowsservercore-ltsc2022, 1.12-windowsservercore-ltsc2022, 1-windowsservercore-ltsc2022, windowsservercore-ltsc2022
-SharedTags: 1.12.2, 1.12, 1, latest, 1.12.2-windowsservercore, 1.12-windowsservercore, 1-windowsservercore, windowsservercore
+SharedTags: 1.12.2-windowsservercore, 1.12-windowsservercore, 1-windowsservercore, windowsservercore, 1.12.2, 1.12, 1, latest
 Architectures: windows-amd64
-GitCommit: a98413af17d0645ea15cb587b482ab9fa7caccbe
-Directory: 1.12/windows/windowsservercore-ltsc2022
-Builder: classic
+Directory: stable/windows/windowsservercore-ltsc2022
 Constraints: windowsservercore-ltsc2022
 
 Tags: 1.12.2-windowsservercore-ltsc2025, 1.12-windowsservercore-ltsc2025, 1-windowsservercore-ltsc2025, windowsservercore-ltsc2025
-SharedTags: 1.12.2, 1.12, 1, latest, 1.12.2-windowsservercore, 1.12-windowsservercore, 1-windowsservercore, windowsservercore
+SharedTags: 1.12.2-windowsservercore, 1.12-windowsservercore, 1-windowsservercore, windowsservercore, 1.12.2, 1.12, 1, latest
 Architectures: windows-amd64
-GitCommit: a98413af17d0645ea15cb587b482ab9fa7caccbe
-Directory: 1.12/windows/windowsservercore-ltsc2025
-Builder: classic
+Directory: stable/windows/windowsservercore-ltsc2025
 Constraints: windowsservercore-ltsc2025
 
 Tags: 1.13.0-alpha2-bookworm, 1.13-rc-bookworm, rc-bookworm
 Architectures: amd64, arm64v8, i386
-GitCommit: fb67af5c60938e4ef1b05b46f5b385c43fbe2e88
-Directory: 1.13-rc/bookworm
+Directory: rc/bookworm
 
 Tags: 1.13.0-alpha2-trixie, 1.13-rc-trixie, rc-trixie
 SharedTags: 1.13.0-alpha2, 1.13-rc, rc
 Architectures: amd64, arm64v8, i386
-GitCommit: fb67af5c60938e4ef1b05b46f5b385c43fbe2e88
-Directory: 1.13-rc/trixie
+Directory: rc/trixie
 
 Tags: 1.13.0-alpha2-windowsservercore-ltsc2022, 1.13-rc-windowsservercore-ltsc2022, rc-windowsservercore-ltsc2022
-SharedTags: 1.13.0-alpha2, 1.13-rc, rc, 1.13.0-alpha2-windowsservercore, 1.13-rc-windowsservercore, rc-windowsservercore
+SharedTags: 1.13.0-alpha2-windowsservercore, 1.13-rc-windowsservercore, rc-windowsservercore, 1.13.0-alpha2, 1.13-rc, rc
 Architectures: windows-amd64
-GitCommit: fb67af5c60938e4ef1b05b46f5b385c43fbe2e88
-Directory: 1.13-rc/windows/windowsservercore-ltsc2022
-Builder: classic
+Directory: rc/windows/windowsservercore-ltsc2022
 Constraints: windowsservercore-ltsc2022
 
 Tags: 1.13.0-alpha2-windowsservercore-ltsc2025, 1.13-rc-windowsservercore-ltsc2025, rc-windowsservercore-ltsc2025
-SharedTags: 1.13.0-alpha2, 1.13-rc, rc, 1.13.0-alpha2-windowsservercore, 1.13-rc-windowsservercore, rc-windowsservercore
+SharedTags: 1.13.0-alpha2-windowsservercore, 1.13-rc-windowsservercore, rc-windowsservercore, 1.13.0-alpha2, 1.13-rc, rc
 Architectures: windows-amd64
-GitCommit: fb67af5c60938e4ef1b05b46f5b385c43fbe2e88
-Directory: 1.13-rc/windows/windowsservercore-ltsc2025
-Builder: classic
+Directory: rc/windows/windowsservercore-ltsc2025
 Constraints: windowsservercore-ltsc2025

Copy link
Member

@yosifkit yosifkit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few thoughts. Just one issue.

Comment on lines 50 to 51
| .variants[] as $variant # "trixie", "alpine3.22", "windows/windowsservercore-ltsc2025", etc
| ($variant | split("/")[-1]) as $variantName # "windowsservercore-ltsc2025", etc
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thought:

  • what about making the variant just windows/servercore-ltsc2025 to more closely match the Windows image names? There is this split("/")[-1] in a few places that might be simpler as sub("/"; "") (or sub("-"; ":") for from) along with a less verbose windows/windows.
  • Or maybe get rid of the windows/ directory and just put them next to alpine3.22 and bookworm as windowsservercore-ltsc2025.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hah, yeah, good point - we're still using windowsservercore literally everywhere as if this were still microsoft/windowsservercore on Docker Hub -- one problem we're "solving" for is that nanoserver isn't windowsnanoserver, but maybe this repository just doesn't support nanoserver? I don't recall if we've ever tried, tbh.

I think we still need historical windowsservercore aliases on the tags, but maybe even that's fungible? Perhaps we should try and pull some stats? (or maybe it doesn't really matter and we should just keep doing it 🤷)

The windows/ is nice because it matches a lot of other places and makes "is this one of the two Windows weirdos?" as easy as startswith("windows/"), but using servercore as the folder name probably does make sense in 2025. 😅

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤷 maybe a little. But LGTM

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought about doing something more clever for all those if statements and realized that it was probably cleaner to just be explicit instead (and easier to understand tomorrow).

shared.jq Outdated
Comment on lines 6 to 11
(
split("/")[-1]
| split("-")[0]
| ltrimstr("windows")
) as $win # "servercore", "nanoserver"
| split("-")[-1] as $winver
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
(
split("/")[-1]
| split("-")[0]
| ltrimstr("windows")
) as $win # "servercore", "nanoserver"
| split("-")[-1] as $winver
ltrimstr("windows/")
| split("-")
| (.[0] | ltrimstr("windows") as $win # "servercore", "nanoserver"
| .[-1] as $winver

Just some code golfing.

But maybe just a sub or two if the variant is changed to remove a duplicate windows.
windows/servercore-ltsc2025 windows/nanoserver-ltsc2025 -> sub("-"; ":")
windowsservercore-ltsc2025 windows/nanoserver-ltsc2025 -> sub("(?<w>windows)"; "\(.w)/") | sub("-"; ":")

@tianon tianon force-pushed the refactor branch 2 times, most recently from 7878895 to 0700d1d Compare December 4, 2025 23:55
Instead of tracking individual minor releases, this tracks "stable", "rc", and "1.10" (hopefully someday renamed to "lts").

This matches https://julialang.org/downloads/manual-downloads/ and https://docs.julialang.org/en/v1/manual/faq/#Do-I-want-to-use-the-Stable,-LTS,-or-nightly-version-of-Julia?

This then reflects that 1.11 is EOL (and has been since 1.12 went GA), and does so automatically (when 1.13 is GA, "stable" will auto-update to it, and "rc" will drop off until 1.14.0-alpha1+).
@yosifkit yosifkit merged commit 88c5e8e into docker-library:master Dec 6, 2025
22 checks passed
@yosifkit yosifkit deleted the refactor branch December 6, 2025 00:20
docker-library-bot added a commit to docker-library-bot/official-images that referenced this pull request Dec 6, 2025
Changes:

- docker-library/julia@88c5e8e: Merge pull request docker-library/julia#100 from infosiftr/refactor
- docker-library/julia@632505b: Refactor to match upstream support tracks better
docker-library-bot added a commit to docker-library-bot/official-images that referenced this pull request Dec 6, 2025
Changes:

- docker-library/julia@d2ee156: Merge pull request docker-library/julia#101 from infosiftr/alpine3.23
- docker-library/julia@b755ce8: Update to Alpine 3.23
- docker-library/julia@88c5e8e: Merge pull request docker-library/julia#100 from infosiftr/refactor
- docker-library/julia@632505b: Refactor to match upstream support tracks better
tianon pushed a commit to docker-library/official-images that referenced this pull request Dec 6, 2025
Changes:

- docker-library/julia@d2ee156: Merge pull request docker-library/julia#101 from infosiftr/alpine3.23
- docker-library/julia@b755ce8: Update to Alpine 3.23
- docker-library/julia@88c5e8e: Merge pull request docker-library/julia#100 from infosiftr/refactor
- docker-library/julia@632505b: Refactor to match upstream support tracks better

Co-authored-by: Docker Library Bot <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants