riemann/riemann

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?

Thanks @smortex! It might be as simple as updating the assertion, since Clojure now reports macroexpansion errors differently by wrapping them with a CompilerException. I've opened a PR: #1039.

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.