This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2022-03-29
Channels
- # announcements (7)
- # asami (13)
- # babashka (22)
- # beginners (52)
- # calva (95)
- # clj-kondo (14)
- # cljs-dev (7)
- # clojars (5)
- # clojure (94)
- # clojure-austin (5)
- # clojure-dev (15)
- # clojure-europe (25)
- # clojure-nl (18)
- # clojure-uk (15)
- # clojuredesign-podcast (28)
- # clojurescript (63)
- # copenhagen-clojurians (1)
- # cursive (3)
- # datalevin (7)
- # datascript (13)
- # datomic (13)
- # duct (14)
- # emacs (24)
- # events (1)
- # fulcro (13)
- # graphql (7)
- # kaocha (4)
- # lambdaisland (6)
- # lsp (22)
- # music (5)
- # off-topic (24)
- # rdf (1)
- # re-frame (3)
- # reitit (9)
- # shadow-cljs (23)
- # sql (15)
- # testing (4)
- # tools-build (6)
- # vim (7)
- # vscode (7)
- # xtdb (21)
Now that Clojure 1.11 is out, our deployment script for Datomic Cloud Ions is broken. What broke it is that our CI-CD deployment script installed Clojure 1.11 instead of 1.10 to run its jobs. I'll simply find a way to pin it to 1.10, since anyways we can't use Clojure 1.11 for now in our Ion-based project. I wanted to let you know. Here's the interesting bits (in the thread)...
clojure -M:only/bin -m <elided>
Downloading: org/clojure/clojure/1.11.0/clojure-1.11.0.pom from central
Downloading: org/clojure/core.specs.alpha/0.2.62/core.specs.alpha-0.2.62.pom from central
Downloading: org/clojure/spec.alpha/0.3.218/spec.alpha-0.3.218.pom from central
Downloading: org/clojure/spec.alpha/0.3.218/spec.alpha-0.3.218.jar from central
Downloading: org/clojure/clojure/1.11.0/clojure-1.11.0.jar from central
Downloading: org/clojure/core.specs.alpha/0.2.62/core.specs.alpha-0.2.62.jar from central
â deployment script ready to be used.
đŻ OPERATING :push - - - - - - - - - -
clojure -M:ion-dev {:op :push}
âł
âď¸ REQUEST OUT - - - - - - - - - - - -
{:command-failed "{:op :push}",
:causes
({:message
"Attempting to call unbound fn: #'cognitect.s3-libs.file/abs",
:class IllegalStateException})}
âď¸ REQUEST ERR - - - - - - - - - - - -
"WARNING: abs already refers to: #'clojure.core/abs in namespace: cognitect.s3-libs.file, being replaced by: #'cognitect.s3-libs.file/abs"
Not sure yet why this downloaded 1.11. In deps.edn, out dep on Clojure is:
org.clojure/clojure {:mvn/version "1.10.3"}
Ok, that's because the aliases behind -M:only/bin
and -M:ion-dev
above are defined as such in our project's deps.edn.
In effect, it removes the dependency on clojure 1.10.3, so when the Clojure CLI runs, it must decide to download the latest clojure because I "forgot" to specify the dependency on clojure...
:only/bin {:replace-paths ["bin"]
:replace-deps {}}}
:ion-dev {:replace-deps {com.datomic/ion-dev {:mvn/version "1.0.298"}}
:main-opts ["-m" "datomic.ion.dev"]}
I was about to upgrade to 1.11 tomorrow. Are you saying ions simply don't work with 1.11, or does this just affect your specific deployment?
There's two considerations: 1. What clojure version you use to operate your ion deployments. 2. What clojure version you use in your ion clojure processes.
My post was about 1. As for 2., even if your project's deps.edn would specify 1.11 as a dep for your ion clojure processes, your clojure code will get loaded in the Datomic Cloud Ion process already running with 1.10.3. During the deployment you'll get a warning that your choice of 1.11 was overridden by what's available, 1.10.3.
So you need to keep your ion app with 1.10.3 until Cognitect announces an upgrade is available with a new cloudformation to upgrade your Datomic Cloud cluster (making sure they mention they moved to 1.11).
@U0514DPR7 Thanks for reporting this! We are working on a fix đ. Apologies for the frustration this might have caused.
None at all, Jaret. Thanks for letting us know about the WIP for a fix. đ
@U0514DPR7 We released a fix for this today (upgrade to this latest version of ion-dev): https://forum.datomic.com/t/ion-dev-1-0-304/2063.
Thanks for the notice Jaret!