Only download pods when os.name / os.arch don't match (#1354)

This commit is contained in:
Wes Morgan 2022-09-07 09:11:06 -06:00 committed by GitHub
parent dcae949496
commit c97fb958dc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 4 deletions

View file

@ -9,20 +9,20 @@
(defn load-pod [& args]
(apply pods/load-pod @ctx args))
(defn load-pods-metadata [pods-map]
(defn load-pods-metadata [pods-map opts]
(reduce-kv
(fn [pod-namespaces pod-spec coord]
(merge pod-namespaces
(condp #(contains? %2 %1) coord
:version
(pods/load-pod-metadata pod-spec
(merge {:cache true}
(merge opts {:cache true}
(select-keys coord [:version :cache])))
:path
(pods/load-pod-metadata (-> @bb-edn :file io/file)
pod-spec
(merge {:cache true}
(merge opts {:cache true}
(select-keys coord [:path :cache])))
(throw (IllegalArgumentException.

View file

@ -741,6 +741,12 @@ Use bb run --help to show this help output.
(def pod-namespaces (volatile! {}))
(defn download-only?
"If we're preparing pods for another OS / arch, don't try to run them."
[]
(or (not= (System/getenv "OS_NAME") (System/getProperty "os.name"))
(not= (System/getenv "OS_ARCH") (System/getProperty "os.arch"))))
(defn exec [cli-opts]
(binding [*unrestricted* true]
(sci/binding [core/warn-on-reflection @core/warn-on-reflection
@ -859,7 +865,8 @@ Use bb run --help to show this help output.
sci-ctx (sci/init opts)
_ (vreset! common/ctx sci-ctx)
_ (when-let [pods (:pods @common/bb-edn)]
(let [pod-metadata (pods/load-pods-metadata pods)]
(when-let [pod-metadata (pods/load-pods-metadata
pods {:download-only (download-only?)})]
(vreset! pod-namespaces pod-metadata)))
preloads (some-> (System/getenv "BABASHKA_PRELOADS") (str/trim))
[expressions exit-code]