Fork me on GitHub
#rewrite-clj
<
2021-10-24
>
vemv19:10:17

I've been trying to upgrade refactor-nrepl's r-c dep for a while but fails the build (quite opaquely) for all jdks but JDK17. I consistently get that jdk-specificity. Does that ring a bell?

lread19:10:51

Hi @vemv! Nope, not at all. Want some help looking at the failures?

😊 1
vemv19:10:08

they really don't say anything about rewrite-clj unfortunately, these are integration tests that go through nrepl and stuff

lread19:10:30

Hmm… interesting tho. Would have expected consistent behaviour across the JDKs.

lread19:10:03

Any pattern to it? Something to do with characters sets/whitespace, etc?

vemv19:10:50

> Hmm… interesting tho. Would have expected consistent behaviour across the JDKs. it could be anything, it's updating r-c that triggers this but the project is large enough for funny behavior to emerge for arbitrary reasons :)

vemv19:10:45

nothing too specific that can be debugged will report any progress or insight

lread19:10:18

Do tests pass for rewrite-clj v0? (making an assumption you are currently testing with rewrite-clj v1).

vemv19:10:32

v0 is xsc's?

lread19:10:57

Yeah, but v1 is at same maven coordinates, xsc kindly gave us the clojars rights.

vemv19:10:55

yes, we've used v0 for a long time untouched, green build for a long while

lread19:10:35

So you are on rewrite-clj v0.6.1? Or have you upgraded to v1.0.699-alpha?

vemv20:10:25

refactor-nrepl uses [rewrite-clj "0.6.1"] in master and all public releases. I'm trying out [rewrite-clj "1.0.699-alpha"] in a branch, which distinctly fails a few tests in all jdks but 17

lread20:10:25

Cool, gotcha. If you swap back in rewrite-clj v0.6.1 (if that is even possible?) in your branch are your tests all green?

vemv20:10:02

I don't need to do that, the point of the branch is solely to update rewrite-clj

vemv20:10:14

master -> green branch off and update -> red

lread20:10:20

Just trying to explore what variables have changed. If the only change in your branch is the rewrite-clj dep going from v0 to v1, then retesting there with v0 is, I agree, pointless. But if any other things have changed in your branch I think retesting with v0 would be worth a whirl.

👍 1
lread20:10:33

In any case, I am very interested, and can lend a hand if you can figure out how I might be of help.

vemv20:10:08

thanks! 🍻 will keep debugging for a while, it's still relatively early in the investigation

lread20:10:49

Cool, looking forward to learning more, please keep me posted! And once you get any suspicions, a review of the https://github.com/clj-commons/rewrite-clj/blob/main/CHANGELOG.adoc#rewrite-clj-v1 might, who knows?, give you an AHA! moment.

👀 1
vemv21:10:05

maybe the whole thing has less to do with the rewrite-clj bump and more with the transitive clojurescript bump that is associated to it. for context, a few refactor-nrepl tests depend on https://github.com/nrepl/piggieback which deserves some love

vemv21:10:17

tldr it's all a 🐰 🌀

lread22:10:42

Thanks for the update @vemv! Happy to learn about any new discoveries further explorations uncover.

vemv22:10:23

it's fixed now and indeed it didn't have to do with rewrite-clj

vemv22:10:36

or at least not directly

vemv22:10:51

I was using Circle images without node in them

vemv22:10:04

which was super opaque... in a few other projects I have this canary snippet

vemv22:10:14

(let [{:keys [exit]
         :as v} (clojure.java.shell/sh "node" "--version")]
    (assert (zero? exit)
            (pr-str v)))

vemv22:10:51

would have saved me idk, 6h recalling all various things I've done in the last few days!

lread23:10:56

Hey, thanks for the update @vemv - and also congratulations on solving the puzzle! 🎉

🙂 1