-
Notifications
You must be signed in to change notification settings - Fork 29
Refactor to match upstream support tracks better #100
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
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.12I'll work on a more complete diff (it's not as easy because of tag ordering changes). |
--- /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 |
yosifkit
left a comment
There was a problem hiding this 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.
generate-stackbrew-library.jq
Outdated
| | .variants[] as $variant # "trixie", "alpine3.22", "windows/windowsservercore-ltsc2025", etc | ||
| | ($variant | split("/")[-1]) as $variantName # "windowsservercore-ltsc2025", etc |
There was a problem hiding this comment.
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-ltsc2025to more closely match the Windows image names? There is thissplit("/")[-1]in a few places that might be simpler assub("/"; "")(orsub("-"; ":")forfrom) along with a less verbosewindows/windows. - Or maybe get rid of the
windows/directory and just put them next toalpine3.22andbookwormaswindowsservercore-ltsc2025.
There was a problem hiding this comment.
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. 😅
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe https://github.com/docker-library/julia/compare/7878895917bc46b246bbb9a85c7196e9ec8c2712..0700d1d8077c996ca66b457c565c0d3021023443 is more verbose than you had in mind? 😅
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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
| ( | ||
| split("/")[-1] | ||
| | split("-")[0] | ||
| | ltrimstr("windows") | ||
| ) as $win # "servercore", "nanoserver" | ||
| | split("-")[-1] as $winver |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| ( | |
| 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("-"; ":")
7878895 to
0700d1d
Compare
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+).
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
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
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]>
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+).