ordered is verified on each push on macOS, Ubuntu and Windows via GitHub Actions.
Scripts run on GitHub Actions automatically discover what versions of Clojure to test via auto-discovery of :clojure-* aliases in deps.edn.
GitHub Actions tests will cover all versions.
JVM tests cover supported LTS JDKs and the current latest JDK.
-
Please read the Contributing Guidelines
-
Java JDK 11 or above (Clojure 1.13+ required JDK 17+)
-
Current Clojure CLI
-
Note that
ordereditself supports Clojure v1.10.3 and above
-
-
Current Babashka
All scripts are written in Clojure and invoked via babashka tasks. This gives us a cross platform scripting language that is familiar, fun and consistent.
To see all available tasks with a short description run:
bb tasks
To run a task, for example, the test-clj task:
bb test-clj
Usage help for a task is requested via --help, for example:
bb test-clj --help
Tasks are described throughout this document.
To launch a nREPL server:
bb dev-jvm
From your IDE, cider connect clj to this REPL server.
For a nREPL server that also includes ClojureScript support:
bb dev-cljs
From your IDE, cider connect cljs to this REPL server.
Unit tests can be run locally on your dev box. Some tests require a specific os and jdk, you will see warnings if a test is skipped for your current environment.
bb test-clj bb test-cljs
We fail the build on any lint violations. The CI server runs:
bb lint-kondo bb lint-eastwood bb lint-docstrings
and you can too.
The lint-kondo task will build the clj-kondo cache when it is missing or stale.
If you want to force a rebuild of the cache run:
bb lint-kondo --rebuild
The lint-docstrings task checks that public API docstrings match between .clj and .cljs implementations.
Moving to .cljc would avoid this, but for now we want to avoid this refactor.
We don’t run it on CI, but you can also optionally lint with splint:
bb lint-splint --help