Update to Clojure 1.11.1
brandonvin opened this issue · 5 comments
Hey all,
Riemann currently runs on Clojure 1.9.0, now 5 years old. It would be nice to get Riemann running on the latest stable version of Clojure, 1.11.1, to:
- Take advantage of new Clojure core functionality in Riemann rules code
- Make Riemann compatible with external dependencies that use the newer Clojure core features
Looks like this has been attempted with a few recent commits: bebc6eb
@jamtur01, do you have any details on the blockers? Is there anything the community could help contribute to allow this to move forward?
Thanks in advance!
Hey @brandonvin 👋
I feel like the clojure version change was not expected in the previous commit and that part was reverted.
As you can see here, CI did not pass on that previous commit:
https://github.com/riemann/riemann/actions/runs/6698749641
The error makes me feel that the testing framework of clojure has evolved and a test that rely on the old behavior needs tuning:
Testing: riemann.test-test
Running tests in: riemann.test-test
Running test: #'riemann.test-test/only-one-tap-per-context
FAIL
Expected: (re-find #"Tap :foo \(.+?:\) already defined at :" err)
Actual: (not (re-find #"Tap :foo \(.+?:\) already defined at :" Unexpected error macroexpanding riemann.test/tap at (/tmp/form-init8155462538598659347.clj:1:6476).))
Finished test: #'riemann.test-test/only-one-tap-per-context
Fixing this should allow to update clojure. Can you give it a try and submit a PR?
I meant to come back to the blockers but never did so thanks @brandonvin! Awesome.
The PR is merged, thanks again for the pointers and getting the tests running!
I think it would be appropriate to keep this issue open, until the change is released.
Would it be possible to cut a release sometime soon?
Released in 0.3.11.