diff --git a/.github/workflows/commit_validation.yml b/.github/workflows/commit_validation.yml index 029763a..9c0b1f7 100644 --- a/.github/workflows/commit_validation.yml +++ b/.github/workflows/commit_validation.yml @@ -16,11 +16,11 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: fetch-depth: 0 - name: Install java - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: distribution: 'temurin' java-version: '21' @@ -29,9 +29,9 @@ jobs: # See https://github.com/DeLaGuardo/setup-clojure/commits/main/ uses: DeLaGuardo/setup-clojure@3fe9b3ae632c6758d0b7757b0838606ef4287b08 #v13.2 with: - cli: 1.12.1.1550 - bb: 1.12.207 - clj-kondo: 2025.07.28 + cli: 1.12.2.1565 + bb: 1.12.208 + clj-kondo: 2025.09.19 zprint: 1.3.0 - name: Lint run: bb lint -v @@ -51,7 +51,7 @@ jobs: run: git diff - name: Pushed code should already be formatted # See https://github.com/CatChen/check-git-status-action - uses: CatChen/check-git-status-action@7ff019ee29f2307dca95397ae225037aa88eb4c7 + uses: CatChen/check-git-status-action@d75bdbea704869e2a3b01111b4a82c49e9bd348d #v1.4.4 with: fail-if-not-clean: true request-changes-if-not-clean: false diff --git a/.github/workflows/deploy_clojar.yml b/.github/workflows/deploy_clojar.yml index 0e0a75d..0e3ae66 100644 --- a/.github/workflows/deploy_clojar.yml +++ b/.github/workflows/deploy_clojar.yml @@ -14,7 +14,7 @@ jobs: steps: # This step checks out a copy of your repository. - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: jlesquembre/clojars-publish-action@89a4eb7bdbe1270621e6643250afce152701699e # v0.3 env: diff --git a/bb.edn b/bb.edn index a21c817..e4613cb 100644 --- a/bb.edn +++ b/bb.edn @@ -1,11 +1,13 @@ -{:deps {com.github.hephaistox/auto-build {:git/sha "a8c56c7198405eee422bb70ea47dc7f3c206ad11"}} +{:deps {com.github.hephaistox/auto-build {:git/sha "cdf568f559c10f0263ba564f7cda1d98e706553c"}} :paths [] :tasks {:requires [[auto-build.os.exit-codes] [auto-build.os.exiting :refer [exit]]] - bp {:doc "Before push" + bp {:doc "To fail fast before git pushing a version" + :requires [[auto-build.echo :refer [level1-header]] [auto-build.tasks.deps :as td]] :task (binding [exit (fn [exit-code & _] (when-not (zero? exit-code) exit-code))] (-> (or (run 'format) (run 'lint) + (td/task level1-header ".") (binding [*command-line-args* (conj *command-line-args* "all")] (run 'clj-test)) (binding [*command-line-args* (conj *command-line-args* "all")] @@ -22,7 +24,7 @@ (current-task)) exit)} clj-test - {:doc "Test with clj" + {:doc "Run clojure test" :requires [[auto-build.tasks.clj-test :as build-clj-test] [auto-build.echo :refer [level1-header]]] :task (-> @@ -41,34 +43,37 @@ [auto-build.echo :refer [level1-header]]] :task (-> (build-cljs-node-test/cljs-node-test level1-header "." (current-task) ["ltest"]) exit)} + copy {:doc "Copy files from source projects (as defined in ext_src.edn)" + :requires [[auto-build.tasks.copy :as tc] [auto-build.echo :refer [level1-header]]] + :task (tc/run level1-header "ext_src.edn")} deploy {:doc "Deploy" :requires [[auto-build.tasks.deploy :as task-deploy] [auto-build.echo :refer [level1-header]]] :task (-> (task-deploy/deploy level1-header "." "main" (current-task)) exit)} - deps {:doc "Update deps" + deps {:doc "Update deps clojure(script) and npm" :task (do (shell "clj -M:antq") (shell "npm upgrade"))} docs {:doc "Docs" :requires [[auto-build.tasks.docs :as build-docs] [auto-build.echo :refer [level1-header]]] :task (-> (build-docs/docs level1-header "." (current-task) "gh-pages" "codox") exit)} - format {:doc "Format" + format {:doc "Format source code" :requires [[auto-build.tasks.formatting :as task-format] [auto-build.echo :refer [level1-header]]] :task (-> (task-format/format level1-header "." (current-task)) exit)} - gha {:doc "For github action tests" + gha {:doc "To be run by github action" :task (do (shell "bb clj-test test-clj -v") (shell "bb cljs-node-test all -v"))} heph-info {:doc "Hephaistox project info" :requires [[auto-build.tasks.heph-info :as heph-info] [auto-build.echo :refer [level1-header]]] :task (-> (heph-info/heph-info level1-header (current-task) ".") exit)} - lint {:doc "Lint" + lint {:doc "Lint source code" :requires [[auto-build.tasks.lint :as task-lint] [auto-build.echo :refer [level1-header]]] :task (-> (task-lint/lint level1-header ["src" "test"] "." (current-task)) exit)} - repl {:doc "Clojure repl" + repl {:doc "Clojure repl based on cider" :override-builtin true :requires [[auto-build.tasks.repl :as build-repl] [auto-build.echo :refer [level1-header]]] :task (-> (build-repl/repl level1-header "." (current-task) [:cljs-deps :test-clj] 7002) diff --git a/deps.edn b/deps.edn index b71bb89..9396040 100644 --- a/deps.edn +++ b/deps.edn @@ -5,7 +5,7 @@ :extra-deps {com.cognitect/test-runner {:git/url "https://github.com/cognitect-labs/test-runner" :sha "3f288f1f16d167723ad87cc35b1dfee3c1681e10"}}} - :cljs-deps {:extra-deps {thheller/shadow-cljs {:mvn/version "3.1.8"}} + :cljs-deps {:extra-deps {thheller/shadow-cljs {:mvn/version "3.2.0"}} :extra-paths ["src/cljc" "test/cljc" "test/cljs" "test/resources"]} :codox {:exec-args {:description "`auto-core` is about core technical functionalities" @@ -19,12 +19,12 @@ :test-clj {:extra-paths ["test/clj" "test/cljc" "test/resources"] :main-opts ["-m" "cognitect.test-runner" "-r" ".*-test.*" "-d" "test/clj" "test/cljc"]}} - :deps {babashka/fs {:mvn/version "0.5.26"} + :deps {babashka/fs {:mvn/version "0.5.27"} babashka/process {:mvn/version "0.6.23"} com.taoensso/tempura {:mvn/version "1.5.4"} com.yetanalytics/colossal-squuid {:mvn/version "0.1.5"} danlentz/clj-uuid {:mvn/version "0.2.0"} - http-kit/http-kit {:mvn/version "2.8.0"} + http-kit/http-kit {:mvn/version "2.8.1"} lambdaisland/uri {:mvn/version "1.19.155"} metosin/malli {:mvn/version "0.19.1"} org.apache.logging.log4j/log4j-api {:mvn/version "2.25.1"} diff --git a/ext_src.edn b/ext_src.edn new file mode 100644 index 0000000..6e2e530 --- /dev/null +++ b/ext_src.edn @@ -0,0 +1,5 @@ +{com.github.hephaistox/auto-build {:files [".zprintrc" + "LICENSE.md" + "docs/img/automaton_duck.png" + ".github/workflows/deploy_clojar.yml" + ".github/workflows/commit_validation.yml"]}}