-
-
Notifications
You must be signed in to change notification settings - Fork 4.5k
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
chore: keep only one Dockerfile per Linux image variant #1857
chore: keep only one Dockerfile per Linux image variant #1857
Conversation
mkdir almalinux git mv 11/almalinux/* almalinux mkdir rhel git mv 11/rhel/* rhel for flavor in alpine debian rhel do mkdir -p "${flavor}" git mv 17/"${flavor}"/* "${flavor}" done
// no jdk17, containing now only empty folders, invisible to git for jdk in 11 21 do git rm -r "${jdk}" done
8254b7c
to
1e0037b
Compare
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.
Started to review this change. It is really good work.
I'm having mixed feeling, for the jlink
about the --compress
factorization you made with an ARG
while keeping a condition around JDK11 or JDK17+ around the debug flags. Without looking at the original code where this comes from, I find it really confusing to have the jlink
flags setups spread between a shell instruction inside a Dockerfile and a docker-bake declarative directive.
I would either move all the "varying per JDK" flags as an ARG
or all in a shell instruction (and factorize this "hard to read" shell into a separated shell script so we can really factorize).
On behalf of |
alpine/hotspot/Dockerfile
Outdated
# the compression argument is different for JDK21 | ||
"11."*) set -- "--strip-debug" "--compress=2" ;; \ | ||
"21."*) set -- "--strip-java-debug-attributes" "--compress=zip-6" ;; \ | ||
*) set -- "--strip-java-debug-attributes" "--compress=2" ;; \ |
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.
Q: Why is this using set -- ...
?
IIUC, it requires every branch to set the same amount of arguments so they can be referred to as $1
and $2
— that feels hard to obey going forwards. Using an array variable seems to do the trick without being as cryptic, and permitting varying argument count.
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.
Alas on Alpine Linux, the shell is ash
which does not support arrays.
The set -- ...
syntax is a way to simulate arrays. The code could be enforced to ensure the same amount of flags is provided, but what would be the probability of such an error? (I really have no idea)
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.
The use of set
instead of arrays like in https://github.com/jenkinsci/docker/pull/1857/files#diff-e65ec3bff5dbf5186d16b4f5630439bbe16f82258447f5f212ad42e4ac897e60R28-R33 is motivated by the fact that Alpine ash
shell (amongst others) doesn't support them.
Ref: https://github.com/koalaman/shellcheck/wiki/SC3054
Thus using a POSIX shell compliant version of the same script everywhere seems better to me than having a distinct one for Alpine.
I could be wrong but I don't foresee a lot of new jlink arguments. If so this could be revised at that time in my opinion.
EDIT to add that this script and these arguments aren't reused elsewhere than in this intermediate layer and that it isn't directly actionable from an end user perspective.
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.
Initial review started but not finished.
--no-header-files \ | ||
--compress=2 \ | ||
--output /javaruntime | ||
RUN if test "${TARGETPLATFORM}" != 'linux/arm/v7'; then \ |
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 don't think we should attempt to preserve armv7 support since Eclipse Temurin does not offer armv7 support.
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.
This comes from the docker agent model I've used: https://github.com/jenkinsci/docker-agent/blob/be371a370e50e5627d389ecd975d437f2abac2cf/debian/Dockerfile#L35-L51
Still targeted there: https://github.com/jenkinsci/docker-agent/blob/be371a370e50e5627d389ecd975d437f2abac2cf/docker-bake.hcl#L248
But not in this repo: https://github.com/jenkinsci/docker/blob/f6c4ef1e61737f45e6946a0bf6556c3aa9909dc4/docker-bake.hcl
I'll remove it.
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 don't think we should attempt to preserve armv7 support since Eclipse Temurin does not offer armv7 support.
Might worth adding it to the Platform SIG for docker agent images?
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'll remove it.
Removed in 91048d2
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 compared the list of files in the container images before and after this change and the differences all seemed reasonable to me. I think it is ready to merge.
Earlier refactoring improved the Dockerfiles to have much less duplication. * jenkinsci#1857
Earlier refactoring improved the Dockerfiles to have much less duplication. * #1857
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [jenkins/jenkins](https://www.jenkins.io/) ([source](https://github.com/jenkinsci/docker)) | minor | `2.426.2-lts` -> `2.452.3-lts` | --- ### Release Notes <details> <summary>jenkinsci/docker (jenkins/jenkins)</summary> ### [`v2.452.3`](https://github.com/jenkinsci/docker/releases/tag/2.452.3) [Compare Source](https://github.com/jenkinsci/docker/compare/2.452.2...2.452.3) #### What's Changed - Remove Java 11 images on weekly release line by [@​lemeurherve](https://github.com/lemeurherve) in [https://github.com/jenkinsci/docker/pull/1891](https://github.com/jenkinsci/docker/pull/1891) - hotfix(updatecli): adapt jdk manifests to also target build-windows-lts-with-jdk11.yaml by [@​lemeurherve](https://github.com/lemeurherve) in [https://github.com/jenkinsci/docker/pull/1892](https://github.com/jenkinsci/docker/pull/1892) - Bump Debian Bookworm Linux Version to [`2024061`](https://github.com/jenkinsci/docker/commit/20240612) by [@​github-actions](https://github.com/github-actions) in [https://github.com/jenkinsci/docker/pull/1893](https://github.com/jenkinsci/docker/pull/1893) - chore(deps): bump ubi9/ubi from 9.4-947.1717074712 to 9.4-1123 in /rhel/ubi9/hotspot by [@​dependabot](https://github.com/dependabot) in [https://github.com/jenkinsci/docker/pull/1895](https://github.com/jenkinsci/docker/pull/1895) - chore(deps): bump updatecli/updatecli-action from 2.59.0 to 2.60.0 by [@​dependabot](https://github.com/dependabot) in [https://github.com/jenkinsci/docker/pull/1897](https://github.com/jenkinsci/docker/pull/1897) - chore(deps): bump updatecli/updatecli-action from 2.60.0 to 2.61.0 by [@​dependabot](https://github.com/dependabot) in [https://github.com/jenkinsci/docker/pull/1898](https://github.com/jenkinsci/docker/pull/1898) - Bump Alpine Linux Version to 3.20.1 by [@​github-actions](https://github.com/github-actions) in [https://github.com/jenkinsci/docker/pull/1899](https://github.com/jenkinsci/docker/pull/1899) - Use 'ENV variable=xxx' instead of 'ENV variable xxx' by [@​MarkEWaite](https://github.com/MarkEWaite) in [https://github.com/jenkinsci/docker/pull/1900](https://github.com/jenkinsci/docker/pull/1900) - chore(deps): bump ubi9/ubi from 9.4-1123 to 9.4-1123.1719560047 in /rhel/ubi9/hotspot by [@​dependabot](https://github.com/dependabot) in [https://github.com/jenkinsci/docker/pull/1901](https://github.com/jenkinsci/docker/pull/1901) - chore(deps): bump ubi8/ubi from 8.10-901.1717584420 to 8.10-1020 in /rhel/ubi8/hotspot by [@​dependabot](https://github.com/dependabot) in [https://github.com/jenkinsci/docker/pull/1902](https://github.com/jenkinsci/docker/pull/1902) - Bump Debian Bookworm Linux Version to [`2024070`](https://github.com/jenkinsci/docker/commit/20240701) by [@​github-actions](https://github.com/github-actions) in [https://github.com/jenkinsci/docker/pull/1903](https://github.com/jenkinsci/docker/pull/1903) **Full Changelog**: jenkinsci/docker@2.452.2...2.452.3 ### [`v2.452.2`](https://github.com/jenkinsci/docker/releases/tag/2.452.2) [Compare Source](https://github.com/jenkinsci/docker/compare/2.452.1...2.452.2) #### 📦 Jenkins Core updates - Update to Jenkins 2.452.2 ([changelog](https://jenkins.io/changelog-stable/2.452.2)) #### 📦 Dependency updates - Bump Alpine Linux Version to 3.20.0 by [@​github-actions](https://github.com/github-actions) in [https://github.com/jenkinsci/docker/pull/1881](https://github.com/jenkinsci/docker/pull/1881) - chore(deps): bump ubi8/ubi from 8.9-1160.1715068735 to 8.10-901 in /rhel/ubi8/hotspot by [@​dependabot](https://github.com/dependabot) in [https://github.com/jenkinsci/docker/pull/1882](https://github.com/jenkinsci/docker/pull/1882) - chore(deps): bump updatecli/updatecli-action from 2.58.0 to 2.59.0 by [@​dependabot](https://github.com/dependabot) in [https://github.com/jenkinsci/docker/pull/1883](https://github.com/jenkinsci/docker/pull/1883) - chore(deps): bump almalinux from 8.9 to 8.10 in /almalinux/almalinux8/hotspot by [@​dependabot](https://github.com/dependabot) in [https://github.com/jenkinsci/docker/pull/1884](https://github.com/jenkinsci/docker/pull/1884) - chore(deps): bump ubi9/ubi from 9.4-947.1714667021 to 9.4-947.1716476138 in /rhel/ubi9/hotspot by [@​dependabot](https://github.com/dependabot) in [https://github.com/jenkinsci/docker/pull/1885](https://github.com/jenkinsci/docker/pull/1885) - chore(deps): bump ubi8/ubi from 8.10-901 to 8.10-901.1716482497 in /rhel/ubi8/hotspot by [@​dependabot](https://github.com/dependabot) in [https://github.com/jenkinsci/docker/pull/1886](https://github.com/jenkinsci/docker/pull/1886) - chore(deps): bump ubi8/ubi from 8.10-901.1716482497 to 8.10-901.1716497712 in /rhel/ubi8/hotspot by [@​dependabot](https://github.com/dependabot) in [https://github.com/jenkinsci/docker/pull/1887](https://github.com/jenkinsci/docker/pull/1887) - chore(deps): bump ubi8/ubi from 8.10-901.1716497712 to 8.10-901.1717584420 in /rhel/ubi8/hotspot by [@​dependabot](https://github.com/dependabot) in [https://github.com/jenkinsci/docker/pull/1888](https://github.com/jenkinsci/docker/pull/1888) - chore(deps): bump ubi9/ubi from 9.4-947.1716476138 to 9.4-947.1717074712 in /rhel/ubi9/hotspot by [@​dependabot](https://github.com/dependabot) in [https://github.com/jenkinsci/docker/pull/1889](https://github.com/jenkinsci/docker/pull/1889) **Full Changelog**: jenkinsci/docker@2.452.1...2.452.2 ### [`v2.452.1`](https://github.com/jenkinsci/docker/releases/tag/2.452.1) [Compare Source](https://github.com/jenkinsci/docker/compare/2.440.3...2.452.1) #### 📦 Jenkins Core updates - Update to Jenkins 2.452.1 ([changelog](https://jenkins.io/changelog-stable/2.452.1)) #### 📦 Dependency updates - chore(linux): Switch from Temurin base images to Temurin JDK binaries by [@​gounthar](https://github.com/gounthar) in [https://github.com/jenkinsci/docker/pull/1847](https://github.com/jenkinsci/docker/pull/1847) - chore(windows): Switch from Temurin base images to Temurin JDK binaries by [@​gounthar](https://github.com/gounthar) in [https://github.com/jenkinsci/docker/pull/1848](https://github.com/jenkinsci/docker/pull/1848) - Bump Debian Bookworm Linux Version to [`2024051`](https://github.com/jenkinsci/docker/commit/20240513) ([#​1879](https://github.com/jenkinsci/docker/issues/1879)) [@​github-actions](https://github.com/github-actions) - chore(deps): bump ubi8/ubi from 8.9-1160 to 8.9-1160.1715068735 in /rhel/ubi8/hotspot by [@​dependabot](https://github.com/dependabot) in [https://github.com/jenkinsci/docker/pull/1877](https://github.com/jenkinsci/docker/pull/1877) - chore(deps): bump ubi9/ubi from 9.3-1610 to 9.4-947 in /17/rhel/ubi9/hotspot by [@​dependabot](https://github.com/dependabot) in [https://github.com/jenkinsci/docker/pull/1872](https://github.com/jenkinsci/docker/pull/1872) - Bump JDK17 version to 17.0.11\_9 by [@​github-actions](https://github.com/github-actions) in [https://github.com/jenkinsci/docker/pull/1853](https://github.com/jenkinsci/docker/pull/1853) and [https://github.com/jenkinsci/docker/pull/1855](https://github.com/jenkinsci/docker/pull/1855) - Bump JDK21 version to 21.0.3\_9 by [@​github-actions](https://github.com/github-actions) in [https://github.com/jenkinsci/docker/pull/1854](https://github.com/jenkinsci/docker/pull/1854) and [https://github.com/jenkinsci/docker/pull/1856](https://github.com/jenkinsci/docker/pull/1856) - Bump JDK11 version to 11.0.23\_9 by [@​github-actions](https://github.com/github-actions) in [https://github.com/jenkinsci/docker/pull/1860](https://github.com/jenkinsci/docker/pull/1860) - chore(deps): bump plugin manager to 2.13.0 by [@​jenkins-dependency-updater](https://github.com/jenkins-dependency-updater) in [https://github.com/jenkinsci/docker/pull/1874](https://github.com/jenkinsci/docker/pull/1874) - chore(deps): bump updatecli/updatecli-action to 2.58.0 by [@​dependabot](https://github.com/dependabot) in [https://github.com/jenkinsci/docker/pull/1875](https://github.com/jenkinsci/docker/pull/1875) #### 👻 Maintenance - chore(updatecli): Check the validity of releases thanks to the Adoptium API. by [@​gounthar](https://github.com/gounthar) in [https://github.com/jenkinsci/docker/pull/1851](https://github.com/jenkinsci/docker/pull/1851) - chore(updatecli): adapt manifests to unique Dockerfile per Linux variant by [@​lemeurherve](https://github.com/lemeurherve) in [https://github.com/jenkinsci/docker/pull/1873](https://github.com/jenkinsci/docker/pull/1873) - Use correct Dockerfiles in dependabot by [@​MarkEWaite](https://github.com/MarkEWaite) in [https://github.com/jenkinsci/docker/pull/1876](https://github.com/jenkinsci/docker/pull/1876) - Check for Windows JDK releases, same as Linux by [@​MarkEWaite](https://github.com/MarkEWaite) in [https://github.com/jenkinsci/docker/pull/1852](https://github.com/jenkinsci/docker/pull/1852) - Track Java versions for Windows with updatecli by [@​lemeurherve](https://github.com/lemeurherve) in [https://github.com/jenkinsci/docker/pull/1781](https://github.com/jenkinsci/docker/pull/1781) - chore(updatecli): add manifests for hadolint & shellcheck in tools scripts by [@​lemeurherve](https://github.com/lemeurherve) in [https://github.com/jenkinsci/docker/pull/1858](https://github.com/jenkinsci/docker/pull/1858) - Bump `shellcheck` version to 0.10.0 by [@​github-actions](https://github.com/github-actions) in [https://github.com/jenkinsci/docker/pull/1861](https://github.com/jenkinsci/docker/pull/1861) - cleanup: remove deprecated `install-plugin.sh` script from Linux jdk11 images by [@​lemeurherve](https://github.com/lemeurherve) in [https://github.com/jenkinsci/docker/pull/1863](https://github.com/jenkinsci/docker/pull/1863) - fix: set jlink compression arg to `zip-6` for Windows jdk21 image by [@​lemeurherve](https://github.com/lemeurherve) in [https://github.com/jenkinsci/docker/pull/1864](https://github.com/jenkinsci/docker/pull/1864) - Use permanent changelog location and default to weekly by [@​timja](https://github.com/timja) in [https://github.com/jenkinsci/docker/pull/1865](https://github.com/jenkinsci/docker/pull/1865) - Verify SHA256 checksum of plugin installation manager tool by [@​basil](https://github.com/basil) in [https://github.com/jenkinsci/docker/pull/1868](https://github.com/jenkinsci/docker/pull/1868) - cleanup: remove unused `.ci/common-functions.sh` script by [@​lemeurherve](https://github.com/lemeurherve) in [https://github.com/jenkinsci/docker/pull/1869](https://github.com/jenkinsci/docker/pull/1869) - chore: keep only one Dockerfile per Linux image variant by [@​lemeurherve](https://github.com/lemeurherve) in [https://github.com/jenkinsci/docker/pull/1857](https://github.com/jenkinsci/docker/pull/1857) **Full Changelog**: jenkinsci/docker@2.440.3...2.452.1 ### [`v2.440.3`](https://github.com/jenkinsci/docker/releases/tag/2.440.3) [Compare Source](https://github.com/jenkinsci/docker/compare/2.440.2...2.440.3) #### 📦 Jenkins Core updates - Update to Jenkins 2.440.3 ([changelog](https://jenkins.io/changelog-stable/2.440.3)) #### 👻 Maintenance - fix(windows): remove `ConvertFrom-Json` issue by simplifying tags management by [@​lemeurherve](https://github.com/lemeurherve) in [https://github.com/jenkinsci/docker/pull/1841](https://github.com/jenkinsci/docker/pull/1841) #### 📦 Dependency updates - chore(deps): bump ubi8/ubi from 8.9-1136 to 8.9-1160 in /11/rhel/ubi8/hotspot by [@​dependabot](https://github.com/dependabot) in [https://github.com/jenkinsci/docker/pull/1845](https://github.com/jenkinsci/docker/pull/1845) - Bump Debian Bookworm Linux Version to [`2024040`](https://github.com/jenkinsci/docker/commit/20240408) by [@​github-actions](https://github.com/github-actions) in [https://github.com/jenkinsci/docker/pull/1846](https://github.com/jenkinsci/docker/pull/1846) **Full Changelog**: jenkinsci/docker@2.440.2...2.440.3 ### [`v2.440.2`](https://github.com/jenkinsci/docker/releases/tag/2.440.2) [Compare Source](https://github.com/jenkinsci/docker/compare/2.440.1...2.440.2) #### 📦 Jenkins Core updates - Update to Jenkins 2.440.2 ([changelog](https://jenkins.io/changelog-stable/2.440.2)) #### 👻 Maintenance - Remove JDK 19 from updatecli script ([#​1836](https://github.com/jenkinsci/docker/issues/1836)) [@​MarkEWaite](https://github.com/MarkEWaite) #### 📦 Dependency updates - Bump Debian Bookworm Linux Version to [`2024031`](https://github.com/jenkinsci/docker/commit/20240311) ([#​1839](https://github.com/jenkinsci/docker/issues/1839)) [@​github-actions](https://github.com/github-actions) - chore(deps): bump ubi9/ubi from 9.3-1552 to 9.3-1610 in /17/rhel/ubi9/hotspot ([#​1837](https://github.com/jenkinsci/docker/issues/1837)) [@​dependabot](https://github.com/dependabot) ### [`v2.440.1`](https://github.com/jenkinsci/docker/releases/tag/2.440.1) [Compare Source](https://github.com/jenkinsci/docker/compare/2.426.3...2.440.1) #### 📦 Jenkins Core updates - Update to Jenkins 2.440.1 ([changelog](https://jenkins.io/changelog-stable/#v2.440.1)) #### What's Changed - chore(deps): bump ubi9/ubi from 9.3-1476 to 9.3-1552 in /17/rhel/ubi9/hotspot by [@​dependabot](https://github.com/dependabot) in [https://github.com/jenkinsci/docker/pull/1812](https://github.com/jenkinsci/docker/pull/1812) - Use latest Java releases by [@​MarkEWaite](https://github.com/MarkEWaite) in [https://github.com/jenkinsci/docker/pull/1810](https://github.com/jenkinsci/docker/pull/1810) - chore(deps): bump updatecli/updatecli-action from 2.53.0 to 2.54.0 by [@​dependabot](https://github.com/dependabot) in [https://github.com/jenkinsci/docker/pull/1813](https://github.com/jenkinsci/docker/pull/1813) - Remove updatecli ref to non-existent file by [@​MarkEWaite](https://github.com/MarkEWaite) in [https://github.com/jenkinsci/docker/pull/1814](https://github.com/jenkinsci/docker/pull/1814) - Bump Alpine Linux Version to 3.19.1 by [@​github-actions](https://github.com/github-actions) in [https://github.com/jenkinsci/docker/pull/1815](https://github.com/jenkinsci/docker/pull/1815) - Only run actions from jenkinsci org by [@​MarkEWaite](https://github.com/MarkEWaite) in [https://github.com/jenkinsci/docker/pull/1809](https://github.com/jenkinsci/docker/pull/1809) - Use Alpine 3.19.1, no 3.18.4 for Java 17 container default by [@​MarkEWaite](https://github.com/MarkEWaite) in [https://github.com/jenkinsci/docker/pull/1816](https://github.com/jenkinsci/docker/pull/1816) - Remove install-plugins.sh from ubi9 Java 17 and Java 21 by [@​MarkEWaite](https://github.com/MarkEWaite) in [https://github.com/jenkinsci/docker/pull/1817](https://github.com/jenkinsci/docker/pull/1817) - Use consistent jlink args within Java versions by [@​MarkEWaite](https://github.com/MarkEWaite) in [https://github.com/jenkinsci/docker/pull/1818](https://github.com/jenkinsci/docker/pull/1818) - Reduce diffs between similar files by [@​MarkEWaite](https://github.com/MarkEWaite) in [https://github.com/jenkinsci/docker/pull/1819](https://github.com/jenkinsci/docker/pull/1819) - Add Java 21 Windows container by [@​MarkEWaite](https://github.com/MarkEWaite) in [https://github.com/jenkinsci/docker/pull/1820](https://github.com/jenkinsci/docker/pull/1820) - Use Jenkins 2.442 as default version by [@​MarkEWaite](https://github.com/MarkEWaite) in [https://github.com/jenkinsci/docker/pull/1821](https://github.com/jenkinsci/docker/pull/1821) - Remove ppc64le jdk21-preview images, add jdk21 image by [@​ksalerno99](https://github.com/ksalerno99) in [https://github.com/jenkinsci/docker/pull/1823](https://github.com/jenkinsci/docker/pull/1823) - chore(deps): bump plugin manager to 2.12.15 by [@​jenkins-dependency-updater](https://github.com/jenkins-dependency-updater) in [https://github.com/jenkinsci/docker/pull/1824](https://github.com/jenkinsci/docker/pull/1824) - Bump Debian Bookworm Linux Version to [`2024013`](https://github.com/jenkinsci/docker/commit/20240130) by [@​github-actions](https://github.com/github-actions) in [https://github.com/jenkinsci/docker/pull/1825](https://github.com/jenkinsci/docker/pull/1825) - chore(deps): bump release-drafter/release-drafter from 5 to 6 by [@​dependabot](https://github.com/dependabot) in [https://github.com/jenkinsci/docker/pull/1827](https://github.com/jenkinsci/docker/pull/1827) - Replace Java 21 previews with released versions by [@​MarkEWaite](https://github.com/MarkEWaite) in [https://github.com/jenkinsci/docker/pull/1822](https://github.com/jenkinsci/docker/pull/1822) - chore(deps): bump ubi8/ubi from 8.9-1107.1705420509 to 8.9-1107.1706791207 in /11/rhel/ubi8/hotspot by [@​dependabot](https://github.com/dependabot) in [https://github.com/jenkinsci/docker/pull/1826](https://github.com/jenkinsci/docker/pull/1826) - chore(deps): bump peter-evans/create-pull-request from 5 to 6 by [@​dependabot](https://github.com/dependabot) in [https://github.com/jenkinsci/docker/pull/1828](https://github.com/jenkinsci/docker/pull/1828) - Bump Debian Bookworm Linux Version to [`2024021`](https://github.com/jenkinsci/docker/commit/20240211) by [@​github-actions](https://github.com/github-actions) in [https://github.com/jenkinsci/docker/pull/1830](https://github.com/jenkinsci/docker/pull/1830) - chore(deps): bump updatecli/updatecli-action from 2.54.0 to 2.55.0 by [@​dependabot](https://github.com/dependabot) in [https://github.com/jenkinsci/docker/pull/1831](https://github.com/jenkinsci/docker/pull/1831) **Full Changelog**: jenkinsci/docker@2.426.3...2.440.1 ### [`v2.426.3`](https://github.com/jenkinsci/docker/releases/tag/2.426.3) [Compare Source](https://github.com/jenkinsci/docker/compare/2.426.2...2.426.3) <!-- Optional: add a release summary here --> #### 📦 Jenkins Core updates - Update to Jenkins 2.426.3 ([changelog](https://jenkins.io/changelog-stable/#v2.426.3)) #### 📦 Dependency updates - Bump UBI 9 version to 9.3-1476 ([#​1798](https://github.com/jenkinsci/docker/issues/1798)) [@​dependabot](https://github.com/dependabot) - Bump UBI 8 version to 8.9-1107.1705420509 ([#​1807](https://github.com/jenkinsci/docker/issues/1807)) [@​dependabot](https://github.com/dependabot) - Bump Debian Bookworm Linux Version to [`2024011`](https://github.com/jenkinsci/docker/commit/20240110) ([#​1799](https://github.com/jenkinsci/docker/issues/1799)) #### 🐛 Bug fixes - Improve logging for common write permission failure ([#​1801](https://github.com/jenkinsci/docker/issues/1801)) [@​clintonsteiner](https://github.com/clintonsteiner) **Full Changelog**: jenkinsci/docker@2.426.2...2.426.3 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/PingCAP-QE/ee-ops). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMTMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjQzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR simplifies this repo content by keeping only one Dockerfile per Linux image variant like the Windows images, versus one per JDK and per Linux image variant currently.
Notes:
ash
shell doesn't support arrays: https://github.com/jenkinsci/docker/pull/1857/files#diff-e65ec3bff5dbf5186d16b4f5630439bbe16f82258447f5f212ad42e4ac897e60R28-R33I'm also passing a new JLINK_COMPRESS argument depending on the JDK version as a Dockerfile ARGI find it cleaner than adding conditions in theRUN if case else
block, which would also be challenging in the Alpine variant due to the lack of arrays support by ash.set
instead of arraysFor the record, initial image content changes extracted to other merged pull requests:
I'll create a follow-up pull request to adapt updatecli manifests to these changes. (Preview: 65353f9)
This PR is a first step, I'd like to factorize a bit the logic of the docker bake around jdk versions after that.
Testing done
Local builds + CI
Submitter checklist