From 40653743b336af9b2e067fd2e739b1c2ec55dc5c Mon Sep 17 00:00:00 2001 From: lread Date: Tue, 26 Aug 2025 15:50:15 -0400 Subject: [PATCH 1/6] ci: bump github actions --- .github/workflows/publish.yml | 2 +- .github/workflows/shared-setup/action.yml | 2 +- .github/workflows/tests.yml | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index d7096276..12fd48cb 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -15,7 +15,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Setup uses: ./.github/workflows/shared-setup diff --git a/.github/workflows/shared-setup/action.yml b/.github/workflows/shared-setup/action.yml index f45355bb..5f47302f 100644 --- a/.github/workflows/shared-setup/action.yml +++ b/.github/workflows/shared-setup/action.yml @@ -24,7 +24,7 @@ runs: restore-keys: cljdeps- - name: Setup Java - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: distribution: 'temurin' java-version: ${{ inputs.jdk }} diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 3aaf79f5..4b34ee71 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -13,7 +13,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Setup uses: ./.github/workflows/shared-setup @@ -36,7 +36,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Setup uses: ./.github/workflows/shared-setup @@ -58,7 +58,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Setup uses: ./.github/workflows/shared-setup From 68b2993e1ae5c7c7aa924b8ce804b1cd4a9dc335 Mon Sep 17 00:00:00 2001 From: lread Date: Tue, 26 Aug 2025 15:51:22 -0400 Subject: [PATCH 2/6] test, dev: bump clojure to 1.12.2 --- deps.edn | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/deps.edn b/deps.edn index 79483879..37f7a8d7 100644 --- a/deps.edn +++ b/deps.edn @@ -9,7 +9,7 @@ :1.9 {:override-deps {org.clojure/clojure {:mvn/version "1.9.0"}}} :1.10 {:override-deps {org.clojure/clojure {:mvn/version "1.10.3"}}} :1.11 {:override-deps {org.clojure/clojure {:mvn/version "1.11.4"}}} - :1.12 {:override-deps {org.clojure/clojure {:mvn/version "1.12.1"}}} + :1.12 {:override-deps {org.clojure/clojure {:mvn/version "1.12.2"}}} :build {:extra-paths ["build"] :deps {io.github.clojure/tools.build {:mvn/version "0.10.9"} @@ -17,7 +17,7 @@ :ns-default build} :http-server ;; used for to support integration tests {:extra-paths ["test" "test-resources"] - :override-deps {org.clojure/clojure {:mvn/version "1.12.1"}} + :override-deps {org.clojure/clojure {:mvn/version "1.12.2"}} :extra-deps {babashka/fs {:mvn/version "0.5.25"} ring/ring-jetty-adapter {:mvn/version "1.10.0"} ;; stick with version that works on jdk8 ch.qos.logback/logback-classic {:mvn/version "1.3.15" @@ -33,10 +33,10 @@ :main-opts ["-m" "cognitect.test-runner"]} ;; for consistent linting we use a specific version of clj-kondo through the jvm :clj-kondo {:extra-deps {clj-kondo/clj-kondo {:mvn/version "2025.06.05"}} - :override-deps {org.clojure/clojure {:mvn/version "1.12.1"}} + :override-deps {org.clojure/clojure {:mvn/version "1.12.2"}} :main-opts ["-m" "clj-kondo.main"]} :outdated {:extra-deps {com.github.liquidz/antq {:mvn/version "2.11.1276"} - org.clojure/clojure {:mvn/version "1.12.1"} + org.clojure/clojure {:mvn/version "1.12.2"} org.slf4j/slf4j-simple {:mvn/version "2.0.17"} ;; to rid ourselves of logger warnings } :main-opts ["-m" "antq.core" From 94ad3d69718d3de84954e2d79add5163755b25bc Mon Sep 17 00:00:00 2001 From: lread Date: Tue, 26 Aug 2025 15:52:39 -0400 Subject: [PATCH 3/6] lint: bump kondo, update lib imports --- .clj-kondo/imports/taoensso/encore/config.edn | 7 +- .../taoensso/encore/taoensso/encore_hooks.clj | 82 +++++++++++++++++++ deps.edn | 2 +- 3 files changed, 87 insertions(+), 4 deletions(-) create mode 100644 .clj-kondo/imports/taoensso/encore/taoensso/encore_hooks.clj diff --git a/.clj-kondo/imports/taoensso/encore/config.edn b/.clj-kondo/imports/taoensso/encore/config.edn index 62a26ca0..487e2331 100644 --- a/.clj-kondo/imports/taoensso/encore/config.edn +++ b/.clj-kondo/imports/taoensso/encore/config.edn @@ -1,5 +1,6 @@ {:hooks {:analyze-call - {taoensso.encore/defalias taoensso.encore/defalias - taoensso.encore/defn-cached taoensso.encore/defn-cached - taoensso.encore/defonce taoensso.encore/defonce}}} + {taoensso.encore/defalias taoensso.encore-hooks/defalias + taoensso.encore/defaliases taoensso.encore-hooks/defaliases + taoensso.encore/defn-cached taoensso.encore-hooks/defn-cached + taoensso.encore/defonce taoensso.encore-hooks/defonce}}} diff --git a/.clj-kondo/imports/taoensso/encore/taoensso/encore_hooks.clj b/.clj-kondo/imports/taoensso/encore/taoensso/encore_hooks.clj new file mode 100644 index 00000000..a574107f --- /dev/null +++ b/.clj-kondo/imports/taoensso/encore/taoensso/encore_hooks.clj @@ -0,0 +1,82 @@ +(ns taoensso.encore-hooks + "I don't personally use clj-kondo, so these hooks are + kindly authored and maintained by contributors. + PRs very welcome! - Peter Taoussanis" + (:refer-clojure :exclude [defonce]) + (:require + [clj-kondo.hooks-api :as hooks])) + +(defn defalias + [{:keys [node]}] + (let [[alias src-raw _attrs body] (rest (:children node)) + src (or src-raw alias) + sym (if src-raw (hooks/sexpr alias) (symbol (name (hooks/sexpr src))))] + {:node + (with-meta + (hooks/list-node + [(hooks/token-node 'def) + (hooks/token-node sym) + (if body + (hooks/list-node + ;; use :body in the def to avoid unused import/private var warnings + [(hooks/token-node 'or) body src]) + src)]) + (meta src))})) + +(defn defaliases + [{:keys [node]}] + (let [alias-nodes (rest (:children node))] + {:node + (hooks/list-node + (into + [(hooks/token-node 'do)] + (map + (fn alias->defalias [alias-node] + (cond + (hooks/token-node? alias-node) + (hooks/list-node + [(hooks/token-node 'taoensso.encore/defalias) + alias-node]) + + (hooks/map-node? alias-node) + (let [{:keys [src alias attrs body]} (hooks/sexpr alias-node) + ;; workaround as can't seem to (get) using a token-node + ;; and there's no update-keys (yet) in sci apparently + [& {:as node-as-map}] (:children alias-node) + {:keys [attrs body]} (zipmap (map hooks/sexpr (keys node-as-map)) + (vals node-as-map))] + (hooks/list-node + [(hooks/token-node 'taoensso.encore/defalias) + (or alias src) (hooks/token-node src) attrs body]))))) + alias-nodes))})) + +(defn defn-cached + [{:keys [node]}] + (let [[sym _opts binding-vec & body] (rest (:children node))] + {:node + (hooks/list-node + (list + (hooks/token-node 'def) + sym + (hooks/list-node + (list* + (hooks/token-node 'fn) + binding-vec + body))))})) + +(defn defonce + [{:keys [node]}] + ;; args = [sym doc-string? attr-map? init-expr] + (let [[sym & args] (rest (:children node)) + [doc-string args] (if (and (hooks/string-node? (first args)) (next args)) [(hooks/sexpr (first args)) (next args)] [nil args]) + [attr-map init-expr] (if (and (hooks/map-node? (first args)) (next args)) [(hooks/sexpr (first args)) (fnext args)] [nil (first args)]) + + attr-map (if doc-string (assoc attr-map :doc doc-string) attr-map) + sym+meta (if attr-map (with-meta sym attr-map) sym) + rewritten + (hooks/list-node + [(hooks/token-node 'clojure.core/defonce) + sym+meta + init-expr])] + + {:node rewritten})) diff --git a/deps.edn b/deps.edn index 37f7a8d7..8107c759 100644 --- a/deps.edn +++ b/deps.edn @@ -32,7 +32,7 @@ {:git/tag "v0.5.1" :git/sha "dfb30dd"}} :main-opts ["-m" "cognitect.test-runner"]} ;; for consistent linting we use a specific version of clj-kondo through the jvm - :clj-kondo {:extra-deps {clj-kondo/clj-kondo {:mvn/version "2025.06.05"}} + :clj-kondo {:extra-deps {clj-kondo/clj-kondo {:mvn/version "2025.07.28"}} :override-deps {org.clojure/clojure {:mvn/version "1.12.2"}} :main-opts ["-m" "clj-kondo.main"]} :outdated {:extra-deps {com.github.liquidz/antq {:mvn/version "2.11.1276"} From 5f46ad115f425f42669b7b3579b11e9e92459f26 Mon Sep 17 00:00:00 2001 From: lread Date: Tue, 26 Aug 2025 15:53:11 -0400 Subject: [PATCH 4/6] dev: bump clojure tools build --- deps.edn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deps.edn b/deps.edn index 8107c759..fdee37f8 100644 --- a/deps.edn +++ b/deps.edn @@ -12,7 +12,7 @@ :1.12 {:override-deps {org.clojure/clojure {:mvn/version "1.12.2"}}} :build {:extra-paths ["build"] - :deps {io.github.clojure/tools.build {:mvn/version "0.10.9"} + :deps {io.github.clojure/tools.build {:mvn/version "0.10.10"} slipset/deps-deploy {:mvn/version "0.2.2"}} :ns-default build} :http-server ;; used for to support integration tests From d186fd391bd2d6681ff552e08046275e30001dac Mon Sep 17 00:00:00 2001 From: lread Date: Tue, 26 Aug 2025 15:53:35 -0400 Subject: [PATCH 5/6] dev: bump babashka fs --- deps.edn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deps.edn b/deps.edn index fdee37f8..92e2769d 100644 --- a/deps.edn +++ b/deps.edn @@ -18,7 +18,7 @@ :http-server ;; used for to support integration tests {:extra-paths ["test" "test-resources"] :override-deps {org.clojure/clojure {:mvn/version "1.12.2"}} - :extra-deps {babashka/fs {:mvn/version "0.5.25"} + :extra-deps {babashka/fs {:mvn/version "0.5.26"} ring/ring-jetty-adapter {:mvn/version "1.10.0"} ;; stick with version that works on jdk8 ch.qos.logback/logback-classic {:mvn/version "1.3.15" :exclusions [org.slf4j/slf4j-api]} From 9bc5fda05c6bf84503c07560174fa911c0b5bff8 Mon Sep 17 00:00:00 2001 From: lread Date: Tue, 26 Aug 2025 16:20:45 -0400 Subject: [PATCH 6/6] test: update 404 sanity test Hitting the real world in tests can stop working when the real world changes. Hit httpbin.org instead. Can adjust if httpbin.org turns out to be not reliable. --- test/clj_http/lite/client_sanity_test.clj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/clj_http/lite/client_sanity_test.clj b/test/clj_http/lite/client_sanity_test.clj index 91dc2785..417bcdaa 100644 --- a/test/clj_http/lite/client_sanity_test.clj +++ b/test/clj_http/lite/client_sanity_test.clj @@ -26,7 +26,7 @@ :throw-exceptions false}))))) (deftest exception-test - (try (client/get "https://site.com/broken") + (try (client/get "https://httpbin.org/status/404") (is false "should not reach here") (catch Exception e (is (:headers (ex-data e))))))