Skip to content

Commit c64970f

Browse files
Stop building Boot images
1 parent 2b21ee6 commit c64970f

File tree

6 files changed

+10
-119
lines changed

6 files changed

+10
-119
lines changed

README.md

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,8 @@ installed. If you want to use tools-deps, specify either `clojure:tools-deps`,
1818

1919
### boot
2020

21-
Prior to JDK 20 we provided [boot](https://boot-clj.github.io) variants as well.
22-
Boot hasn't had a release since 2019, and it is breaking in more and more image
23-
variants. Boot variants are now deprecated and no new boot images will be
24-
provided for JDK 20+, it will no longer be installed in the `latest` image, and
25-
no alpine-based images will be provided for any JDK version (due to breakage).
26-
As long as the image builds don't break, we will continue providing boot images
27-
for non-alpine distros for JDK 17 and lower until those versions are EOL'd.
21+
As of 5/2024, new [boot](https://boot-clj.github.io) images are no longer
22+
provided. The existing boot images will remain in the registry.
2823

2924
### Note about the latest tag
3025

@@ -47,7 +42,7 @@ specify which version of Java you'd like via Docker tags:
4742

4843
JDK 1.8 tools-deps image: `clojure:temurin-8-tools-deps`
4944
JDK 11 variant of the tools-deps image: `clojure:temurin-11-tools-deps` or `clojure:temurin-11`
50-
JDK 17 with boot 2.8.3: `clojure:temurin-17-boot-2.8.3`
45+
JDK 17 with lein 2.11.2: `clojure:temurin-17-lein-2.11.2`
5146
JDK 20 with the latest version of lein: `clojure:temurin-20-lein`
5247
JDK 21 variant of the tools-deps image: `clojure:tools-deps` or `clojure:temurin-21` or `clojure:temurin-21-tools-deps`
5348
JDK 22 variant of the tools-deps image: `clojure:temurin-22` or `clojure:temurin-22-tools-deps`

src/docker_clojure/config.clj

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -73,33 +73,20 @@
7373

7474
(def build-tools
7575
{"lein" "2.11.2"
76-
"boot" "2.8.3"
7776
"tools-deps" "1.11.1.1435"})
7877

7978
(def default-build-tool "tools-deps")
8079

8180
(def installer-hashes
8281
{"lein" {"2.11.1" "03b3fbf7e6fac262f88f843a87b712a2b37f39cffc4f4f384436a30d8b01d6e4"
8382
"2.11.2" "28a1a62668c5f427b413a8677e376affaa995f023b1fcd06e2d4c98ac1df5f3e"}
84-
"boot" {"2.8.3" "0ccd697f2027e7e1cd3be3d62721057cbc841585740d0aaa9fbb485d7b1f17c3"}
8583
"tools-deps" {"1.11.1.1429" "bf08cfeb007118b7277aa7423734f5d507604b868f7fc44c0f9929ca9cd94ed4"
8684
"1.11.1.1435" "7edee5b12197a2dbe6338e672b109b18164cde84bea1f049ceceed41fc4dd10a"}})
8785

8886
(def exclusions ; don't build these for whatever reason(s)
89-
#{; boot on JDK 8 & Alpine is encountering a TLS handshake error trying to
90-
; download boot as of 2022-11-17. Probably would deprecate one or both of
91-
; JDK 8 and/or boot variants before spending much time working around an
92-
; issue like this.
93-
94-
; no more focal builds for JDK 20+
87+
#{; no more focal builds for JDK 20+
9588
{:jdk-version #(>= % 20)
9689
:distro :ubuntu/focal}
97-
; boot is breaking on Alpine
98-
{:build-tool "boot"
99-
:distro :alpine/alpine}
100-
; we're no longer building boot variants for JDK 20+
101-
{:jdk-version #(>= % 20)
102-
:build-tool "boot"}
10390
;; commented out example
10491
#_{:jdk-version 8
10592
:distro :alpine/alpine}})

src/docker_clojure/dockerfile.clj

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
(:require
33
[clojure.java.shell :refer [sh]]
44
[clojure.string :as str]
5-
[docker-clojure.dockerfile.boot :as boot]
65
[docker-clojure.dockerfile.lein :as lein]
76
[docker-clojure.dockerfile.tools-deps :as tools-deps]
87
[docker-clojure.dockerfile.shared :refer [copy-resource-file! entrypoint]]))
@@ -51,7 +50,6 @@
5150
[])
5251
(case build-tool
5352
:docker-clojure.core/all (all-contents installer-hashes variant)
54-
"boot" (boot/contents installer-hashes variant)
5553
"lein" (lein/contents installer-hashes variant)
5654
"tools-deps" (tools-deps/contents installer-hashes variant)))))
5755

@@ -68,7 +66,6 @@
6866
(shared-prereqs dir variant)
6967
(case build-tool
7068
:docker-clojure.core/all (all-prereqs dir variant)
71-
"boot" (boot/prereqs dir variant)
7269
"lein" (lein/prereqs dir variant)
7370
"tools-deps" (tools-deps/prereqs dir variant)))
7471

src/docker_clojure/dockerfile/boot.clj

Lines changed: 0 additions & 59 deletions
This file was deleted.

test/docker_clojure/core_test.clj

Lines changed: 4 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
:debian-slim/buster-slim}
2222
:default #{:alpine/alpine :ubuntu/focal}}
2323
{"lein" "2.9.1"
24-
"boot" "2.8.3"
2524
"tools-deps" "1.10.1.478"})]
2625
;; filter is to make failure output a little more humane
2726
(are [v] (contains? (->> variants
@@ -35,10 +34,6 @@
3534
:base-image "debian" :base-image-tag "debian:buster-slim"
3635
:maintainer "Paul Lam <[email protected]> & Wes Morgan <[email protected]>"
3736
:docker-tag "temurin-11-lein-2.9.1", :build-tool-version "2.9.1"}
38-
{:jdk-version 18, :distro :ubuntu/focal, :build-tool "boot"
39-
:base-image "eclipse-temurin" :base-image-tag "eclipse-temurin:18-jdk-focal"
40-
:maintainer "Paul Lam <[email protected]> & Wes Morgan <[email protected]>"
41-
:docker-tag "temurin-18-boot-2.8.3", :build-tool-version "2.8.3"}
4237
{:jdk-version 18, :distro :ubuntu/focal
4338
:base-image "eclipse-temurin"
4439
:base-image-tag "eclipse-temurin:18-jdk-focal"
@@ -50,10 +45,6 @@
5045
:base-image "debian" :base-image-tag "debian:buster"
5146
:maintainer "Paul Lam <[email protected]> & Wes Morgan <[email protected]>"
5247
:docker-tag "temurin-11-lein-2.9.1-buster", :build-tool-version "2.9.1"}
53-
{:jdk-version 11, :distro :debian/buster, :build-tool "boot"
54-
:base-image "debian" :base-image-tag "debian:buster"
55-
:maintainer "Paul Lam <[email protected]> & Wes Morgan <[email protected]>"
56-
:docker-tag "temurin-11-boot-2.8.3-buster", :build-tool-version "2.8.3"}
5748
{:jdk-version 11, :distro :debian/buster
5849
:base-image "debian"
5950
:base-image-tag "debian:buster"
@@ -66,11 +57,6 @@
6657
:base-image-tag "debian:buster-slim"
6758
:maintainer "Paul Lam <[email protected]> & Wes Morgan <[email protected]>"
6859
:docker-tag "temurin-8-lein-2.9.1", :build-tool-version "2.9.1"}
69-
{:jdk-version 8, :distro :debian-slim/buster-slim, :build-tool "boot"
70-
:base-image "debian"
71-
:base-image-tag "debian:buster-slim"
72-
:maintainer "Paul Lam <[email protected]> & Wes Morgan <[email protected]>"
73-
:docker-tag "temurin-8-boot-2.8.3", :build-tool-version "2.8.3"}
7460
{:jdk-version 8, :distro :debian-slim/buster-slim
7561
:build-tool "tools-deps"
7662
:base-image "debian"
@@ -90,12 +76,6 @@
9076
:maintainer "Paul Lam <[email protected]> & Wes Morgan <[email protected]>"
9177
:docker-tag "temurin-17-lein-2.9.1-alpine"
9278
:build-tool-version "2.9.1"}
93-
{:jdk-version 17, :distro :alpine/alpine, :build-tool "boot"
94-
:base-image "eclipse-temurin", :architectures #{"amd64"}
95-
:base-image-tag "eclipse-temurin:17-jdk-alpine"
96-
:maintainer "Paul Lam <[email protected]> & Wes Morgan <[email protected]>"
97-
:docker-tag "temurin-17-boot-2.8.3-alpine"
98-
:build-tool-version "2.8.3"}
9979
{:jdk-version 17, :distro :ubuntu/focal
10080
:base-image "eclipse-temurin"
10181
:base-image-tag "eclipse-temurin:17-jdk-focal"
@@ -126,7 +106,7 @@
126106
:build-tool-version "1.2.3"})))
127107
(testing "does not exclude partial matches"
128108
(is (not (exclude? #{{:base-image "bad", :build-tool "woof"}}
129-
{:base-image "bad", :build-tool "boot"})))))
109+
{:base-image "bad", :build-tool "lein"})))))
130110

131111
(deftest docker-tag-test
132112
(with-redefs [cfg/default-jdk-version 11 ; TODO: Make this an arg to the fn instead
@@ -152,6 +132,6 @@
152132
"lein")))
153133
(testing "build tool version is included"
154134
(is (str/includes? (default-docker-tag {:jdk-version 11
155-
:build-tool "boot"
156-
:build-tool-version "2.8.1"})
157-
"2.8.1")))))
135+
:build-tool "lein"
136+
:build-tool-version "2.11.2"})
137+
"2.11.2")))))

test/docker_clojure/dockerfile_test.clj

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
[docker-clojure.dockerfile :refer [build-dir contents]]
55
[docker-clojure.config :as cfg]
66
[docker-clojure.dockerfile.lein :as lein]
7-
[docker-clojure.dockerfile.boot :as boot]
87
[docker-clojure.dockerfile.tools-deps :as tools-deps]))
98

109
(deftest build-dir-test
@@ -18,14 +17,14 @@
1817
(is (str/includes? (contents cfg/installer-hashes
1918
{:base-image-tag "base:foo"
2019
:distro :distro/distro
21-
:build-tool "boot"
20+
:build-tool "lein"
2221
:jdk-version 11})
2322
"FROM base:foo")))
2423
(testing "has no labels (Docker recommends against for base images)"
2524
(is (not (str/includes? (contents cfg/installer-hashes
2625
{:base-image-tag "base:foo"
2726
:distro :distro/distro
28-
:build-tool "boot"
27+
:build-tool "lein"
2928
:maintainer "Me Myself"
3029
:jdk-version 11})
3130
"LABEL "))))
@@ -37,14 +36,6 @@
3736
:build-tool "lein"
3837
:maintainer "Me Myself"})
3938
"leiningen vs. the ants"))))
40-
(testing "boot variant includes boot-specific contents"
41-
(with-redefs [boot/contents (constantly ["Booty McBootface"])]
42-
(is (str/includes? (contents cfg/installer-hashes
43-
{:base-image-tag "base:foo"
44-
:distro :distro/distro
45-
:build-tool "boot"
46-
:maintainer "Me Myself"})
47-
"Booty McBootface"))))
4839
(testing "tools-deps variant includes tools-deps-specific contents"
4940
(with-redefs [tools-deps/contents (constantly
5041
["Tools Deps is not a build tool"])]

0 commit comments

Comments
 (0)