babashka

teodorlu 2025-12-21T13:42:15.770129Z

I'm seeing a reflection warnings in process.cljc referencing redirectOutput and redirectError on babashka/process {:mvn/version "0.6.24"} that I do not see on babashka/process {:mvn/version "0.6.23"}.

teodorlu 2025-12-21T13:43:07.861069Z

$ # 0.6.23:
$ bb test
[(...)]
1 tests, 3 assertions, 0 failures.
bb test  4.93s user 0.20s system 285% cpu 1.796 total

$ # 0.6.24:
$ bb test
Reflection warning, babashka/process.cljc:277:10 - call to method redirectOutput on java.lang.ProcessBuilder can't be resolved (argument types: java.lang.Object).
Reflection warning, babashka/process.cljc:287:10 - call to method redirectError on java.lang.ProcessBuilder can't be resolved (argument types: java.lang.Object).
[(...)]
1 tests, 3 assertions, 0 failures.
bb test  4.82s user 0.19s system 280% cpu 1.788 total

teodorlu 2025-12-21T13:44:28.393609Z

This is running on JVM Clojure, via Kaocha.

borkdude 2025-12-21T13:52:24.245889Z

I fixed it on master. I can make a new release later today or tomorrow

teodorlu 2025-12-21T13:54:09.645959Z

Thank you! No rush on my end.

borkdude 2025-12-21T16:10:50.835209Z

0.6.25 released

❤️ 2
teodorlu 2025-12-21T21:52:04.712659Z

Happy to share a little tool we've used at work the last six months: bb-timemachine! It solves a small, but annoying problem. You've written some code. The tests pass. You push. But you forgot to commit a file. The solution? Test the code as it actually was as-of the latest commit! Installation is adding two Babashka tasks and a dependency. Implementation is 50 lines. https://github.com/teodorlu/bb-timemachine

🎉 11
2025-12-22T08:12:49.481989Z

Nice! I have something similar for myself but never polished it so I could publish it. I like to run this test before I push even because I notice it is way more costly to analyze a failure in CI than to do it locally. I almost have no CI failures anymore and when I do I know it is because of something external or some configuration. I even added a feature similar to git bisect to go back in time to find where I introduced a certain bug. The scenario was: something was working, but I didn't have a test for it. Then at some point the something didn't work anymore. So I created a commit with a test that I applied to past trees to find what I did to break my feature. It was useful at least once 😅 My tool started as wrapper around the polylith tool so I can also run test of old trees but just for specific bricks to save some time. I don't think I used git worktree. I did it brutally by copying of the dir and then a checkout. Worktree looks a bit cleaner! Anyway happy that you were able to publish this I think it is a very useful approach!

❤️ 1
teodorlu 2025-12-22T08:49:05.666779Z

Berry funny that our storylines converge 🤣

🫐 1
🤣 1