Skip to content

Commit b2cd13a

Browse files
authored
Merge pull request #7 from decode-development/sync/upstream-2026-06-08
Sync upstream v0.61.3 (merge conflicts)
2 parents 86078b9 + 6b51fd5 commit b2cd13a

1,246 files changed

Lines changed: 12090 additions & 10651 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.clj-kondo/config.edn

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,7 @@
177177
clojure.core.async/take!
178178
clojure.core.async/to-chan!
179179
clojure.core.async/to-chan!!
180+
metabase.api.macros.defendpoint.tools-manifest/assert-optional-fields-nullable!
180181
metabase.channel.core/send!
181182
metabase.warehouses.models.database/assert-not-h2!
182183
metabase.driver.sql-jdbc.execute/execute-prepared-statement!

.clj-kondo/config/modules/config.edn

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,8 @@
322322
:api #{metabase.app-db.cluster-lock ; TODO FIXME
323323
metabase.app-db.core
324324
metabase.app-db.init
325-
metabase.app-db.setup}
325+
metabase.app-db.setup
326+
metabase.app-db.transient-error}
326327
:uses #{auth-provider
327328
classloader
328329
config
@@ -1679,7 +1680,6 @@
16791680
:model/NativeQuerySnippet
16801681
:model/Notification
16811682
:model/Revision
1682-
:model/Table
16831683
:model/User}}
16841684

16851685
queries-rest
@@ -1928,6 +1928,7 @@
19281928
{:team "UX West"
19291929
:api #{metabase.server.core
19301930
metabase.server.init
1931+
metabase.server.middleware.security
19311932
metabase.server.middleware.session
19321933
metabase.server.settings
19331934
metabase.server.streaming-response} ; TODO -- too many API namespaces
@@ -3241,6 +3242,7 @@
32413242
:api #{metabase-enterprise.security-center.api
32423243
metabase-enterprise.security-center.init}
32433244
:uses #{analytics
3245+
analytics-interface
32443246
api
32453247
app-db
32463248
channel

.clj-kondo/src/hooks/common.clj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -500,8 +500,8 @@
500500
(and resolved (:ns resolved))
501501
(symbol (name (:ns resolved)) (name (:name resolved)))
502502

503-
;; if it wasn't resolved but is still qualified it's probably using the full namespace name rather than an
504-
;; alias.
503+
;; if it wasn't resolved but is still qualified it's probably using the full namespace name rather than an
504+
;; alias.
505505
(qualified-symbol? sexpr)
506506
sexpr)))))
507507
;; some symbols like `*count/Integer` aren't resolvable.

.clj-kondo/src/hooks/metabase/test/util.clj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@
2828
(mapcat (fn [[setting-name v]]
2929
(concat
3030
[(with-meta (hooks/token-node '_) (meta setting-name)) v]
31-
;; if the setting name is namespace-qualified add a `_`
32-
;; entry for it too.
31+
;; if the setting name is namespace-qualified add a `_`
32+
;; entry for it too.
3333
(when (namespaced-symbol-node? setting-name)
3434
[(with-meta (hooks/token-node '_) (meta setting-name)) setting-name]))))
3535
(partition 2 (:children bindings))))

.clj-kondo/src/hooks/metabase/util/i18n.clj

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,23 +13,23 @@
1313
(let [c (first chars)]
1414
(if (= c \')
1515
(cond
16-
;; Doubled quotes: skip both
16+
;; Doubled quotes: skip both
1717
(and (next chars) (= (second chars) \'))
1818
(recur (nthrest chars 2))
1919

20-
;; Placeholder escape. We allow for intentional escaping, like either '{0}` or '{{`, but not 'arbitrary
21-
;; strings' So basically, just require the *next* character to be a `{`, find the next single-quote, and
22-
;; continue on from there.
23-
;;
24-
;; Technically a string like "foo bar's happy but i'm not" is totally fine, but we'll say it's invalid
25-
;; because... that inner string literal is probably not what we actually want. So since we've never done
26-
;; this intentionally as far as I can tell, let's just remove the possibility to avoid ambiguity.
20+
;; Placeholder escape. We allow for intentional escaping, like either '{0}` or '{{`, but not 'arbitrary
21+
;; strings' So basically, just require the *next* character to be a `{`, find the next single-quote, and
22+
;; continue on from there.
23+
;;
24+
;; Technically a string like "foo bar's happy but i'm not" is totally fine, but we'll say it's invalid
25+
;; because... that inner string literal is probably not what we actually want. So since we've never done
26+
;; this intentionally as far as I can tell, let's just remove the possibility to avoid ambiguity.
2727
(= (second chars) \{)
2828
(let [at-closing (drop-while #(not= \' %) (next chars))]
2929
(if (seq at-closing)
3030
(recur (next at-closing))
3131
false))
32-
;; Unpaired single quote: invalid
32+
;; Unpaired single quote: invalid
3333
:else
3434
false)
3535
(recur (rest chars)))))))

.cljfmt.edn

Lines changed: 59 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
;; Cljfmt config. See https://github.com/weavejester/cljfmt#formatting-options
2-
{:sort-ns-references?
3-
true
4-
5-
:function-arguments-indentation
6-
:community
7-
8-
:parallel?
9-
true
2+
{:function-arguments-indentation :community
3+
:indent-line-comments? true
4+
:normalize-newlines-at-file-end? true
5+
:parallel? true
6+
:remove-blank-lines-in-forms? true
7+
:sort-ns-references? true
108

119
:paths
1210
["src"
@@ -15,11 +13,63 @@
1513
"bin/build"
1614
"bin/lint-migrations-file"
1715
"bin/release-list"
16+
#_"mage/src"
17+
#_"mage/test"
1818
"modules/drivers"
1919
".clj-kondo/src"
2020
".clj-kondo/test"
2121
#_"dev"]
2222

23+
;; a map of symbols that tell cljfmt which forms are allowed to have blank lines inside of them. The value may be
24+
;; either `:all`, which means blank lines are allowed between all elements in the form, e.g. `{cond :all}` to allow
25+
;; blank lines between any of the elements inside cond; or it may be a set of element indexes that are allowed to
26+
;; have blank lines, e.g. `{let #{0}}`, to allow blank lines in the binding of a `let` form.
27+
:extra-blank-line-forms
28+
{are :all
29+
case :all
30+
cond-> :all
31+
cond->> :all
32+
condp :all
33+
clojure.spec.alpha/or :all
34+
clojure.test/are :all
35+
metabase.driver-api.core/match-many :all
36+
metabase.driver-api.core/match-one :all
37+
metabase.driver-api.core/replace :all
38+
metabase.driver-api.core/replace-in :all
39+
metabase.lib.drill-thru.test-util/test-drill-variants-with-merged-args :all
40+
metabase.lib.drill-thru.test-util/test-returns-drill :all
41+
metabase.test/with-temp #{0}
42+
metabase.util.match/match-many :all
43+
metabase.util.match/match-one :all
44+
metabase.util.match/replace :all
45+
metabase.util.match/replace-in :all
46+
;; TODO (Cam 2026-05-21) I'm not really sure about `defprotocol`, `deftype`, `defrecord`, `proxy`, `reify`, etc., I
47+
;; think idiomatically these should probably not have blank lines but we can worry about that later
48+
defprotocol :all
49+
defrecord :all
50+
deftype :all
51+
extend :all
52+
extend-protocol :all
53+
potemkin.types/def-map-type :all
54+
potemkin.types/defprotocol+ :all
55+
potemkin.types/defrecord+ :all
56+
potemkin.types/deftype+ :all
57+
potemkin/def-map-type :all
58+
potemkin/defprotocol+ :all
59+
potemkin/defrecord+ :all
60+
potemkin/deftype+ :all
61+
proxy :all
62+
reify :all
63+
;; TODO (Cam 2026-05-21) -- save these for a follow-on PR
64+
defmacro :all
65+
defmethod :all
66+
defn :all
67+
defn- :all
68+
fn :all
69+
metabase.util.malli/defmethod :all
70+
metabase.util.malli/defn :all
71+
metabase.util.malli/defn- :all}
72+
2373
;; See https://github.com/weavejester/cljfmt/blob/master/cljfmt/resources/cljfmt/indents/clojure.clj for the default
2474
;; definitions
2575
;;
@@ -37,7 +87,7 @@
3787
;; `:inner` indentation is like `:defn` indentation. `[[:inner 0]]` (default for `defn`) means all arguments at depth
3888
;; zero get indented 2 spaces if not on the first line regardless of number of elements on the first line.
3989
:extra-indents
40-
{;; clojure.core stuff
90+
{ ;; clojure.core stuff
4191
fn* [[:inner 0]]
4292
let* [[:block 1]]
4393
with-meta [[:default]]

.github/workflows/drivers.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1625,7 +1625,9 @@ jobs:
16251625
# if you add a driver job, you must add it to this list for it to be a required check
16261626
- be-tests-h2
16271627
- be-tests-athena-ee
1628-
- be-tests-bigquery-cloud-sdk-ee
1628+
# these are not reliable, but we want to run them anyway to gather data about failures
1629+
# - be-tests-snowflake-ee
1630+
# - be-tests-bigquery-cloud-sdk-ee
16291631
- be-tests-druid-ee
16301632
- be-tests-databricks-ee
16311633
- be-tests-druid-jdbc-ee
@@ -1637,7 +1639,6 @@ jobs:
16371639
- be-tests-postgres
16381640
- be-tests-presto-jdbc-ee
16391641
- be-tests-redshift-ee
1640-
- be-tests-snowflake-ee
16411642
- be-tests-sparksql-ee
16421643
- be-tests-sqlite-ee
16431644
- be-tests-sqlserver
@@ -1665,7 +1666,7 @@ jobs:
16651666
}));
16661667
16671668
// are all jobs skipped or successful?
1668-
if (jobs.every(job => (job.result === 'skipped' || job.result === 'success' || job.name == 'be-tests-starburst-ee'))) {
1669+
if (jobs.every(job => (job.result === 'skipped' || job.result === 'success'))) {
16691670
console.log("");
16701671
console.log(" _------. ");
16711672
console.log(" / , \_ ");
-12 Bytes
Loading
0 Bytes
Loading
2.99 KB
Loading

0 commit comments

Comments
 (0)