diff --git a/.github/workflows/commit_validation.yml b/.github/workflows/commit_validation.yml index df15af2..9c0b1f7 100644 --- a/.github/workflows/commit_validation.yml +++ b/.github/workflows/commit_validation.yml @@ -16,23 +16,23 @@ 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' check-latest: true - name: Install clojure tools # See https://github.com/DeLaGuardo/setup-clojure/commits/main/ - uses: DeLaGuardo/setup-clojure@ada62bb3282a01a296659d48378b812b8e097360 #v13.2 + uses: DeLaGuardo/setup-clojure@3fe9b3ae632c6758d0b7757b0838606ef4287b08 #v13.2 with: - cli: 1.12.0.1530 - bb: 1.12.197 - clj-kondo: 2025.04.07 - zprint: 1.2.9 + cli: 1.12.2.1565 + bb: 1.12.208 + clj-kondo: 2025.09.19 + zprint: 1.3.0 - name: Lint run: bb lint -v - name: Setup zprint @@ -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 f959793..3bef37b 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")] @@ -15,11 +17,12 @@ clean {:doc "Clean temporary files" :requires [[auto-build.tasks.clean :as task-clean] [auto-build.echo :refer [level1-header]]] - :task (-> (task-clean/clean level1-header - "." - [".DS_Store"] - [".cpcache" ".shadow-cljs" "target" "node_modules"] - (current-task)) + :task (-> (task-clean/clean + level1-header + "." + [".DS_Store"] + [".cpcache" ".shadow-cljs" "target" "node_modules" ".clj-kondo/.cache"] + (current-task)) exit)} clj-test {:doc "Test with clj" @@ -41,23 +44,26 @@ [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" :extra-paths [] @@ -65,11 +71,11 @@ [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] 7006) diff --git a/deps.edn b/deps.edn index bdec381..1a5ffca 100644 --- a/deps.edn +++ b/deps.edn @@ -7,7 +7,7 @@ {:git/url "https://github.com/cognitect-labs/test-runner" :sha "3f288f1f16d167723ad87cc35b1dfee3c1681e10"}}} :cljs-deps {:extra-deps {devcards/devcards {:mvn/version "0.2.7"} - thheller/shadow-cljs {:mvn/version "2.28.23"}} + thheller/shadow-cljs {:mvn/version "3.2.0"}} :extra-paths ["src/cljc" "src/cljs" "test/cljc" "env/devcards/src/cljs" "env/devcards/resources"]} :codox {:exec-args {:description "`auto-web` provide web feature to ease Hephaistox web apps" @@ -22,17 +22,17 @@ :main-opts ["-m" "cognitect.test-runner" "-r" ".*-test.*" "-d" "test/clj" "test/cljc"]}} :deps {amalloy/ring-gzip-middleware {:mvn/version "0.1.4"} - clj-http/clj-http {:mvn/version "3.13.0"} - com.github.hephaistox/auto-core {:git/sha "a47200a06004ce5fcb25ca1be66a15ee5dc7aec5"} + clj-http/clj-http {:mvn/version "3.13.1"} + com.github.hephaistox/auto-core {:git/sha "e72b9a127cd0d7a2665be1db69673babed722ee5"} com.taoensso/sente {:mvn/version "1.20.0"} - hiccup/hiccup {:mvn/version "2.0.0-RC5"} - http-kit/http-kit {:mvn/version "2.8.0"} + hiccup/hiccup {:mvn/version "2.0.0"} + http-kit/http-kit {:mvn/version "2.8.1"} metosin/muuntaja {:mvn/version "0.6.11"} - metosin/reitit {:mvn/version "0.8.0"} - mount/mount {:mvn/version "0.1.21"} + metosin/reitit {:mvn/version "0.9.1"} + mount/mount {:mvn/version "0.1.23"} re-frame/re-frame {:mvn/version "1.4.3"} ring-cors/ring-cors {:mvn/version "0.1.13"} - ring/ring {:mvn/version "1.14.1"} + ring/ring {:mvn/version "1.15.2"} ring/ring-anti-forgery {:mvn/version "1.4.0"} ring/ring-headers {:mvn/version "0.4.0"} ring/ring-ssl {:mvn/version "0.4.0"}} diff --git a/ext_src.edn b/ext_src.edn new file mode 100644 index 0000000..d225544 --- /dev/null +++ b/ext_src.edn @@ -0,0 +1,6 @@ +{com.github.hephaistox/auto-build {:files [".zprintrc" + "LICENSE.md" + "docs/img/automaton_duck.png" + ".github/workflows/deploy_clojar.yml" + ".github/workflows/commit_validation.yml"]} + com.github.hephaistox/auto-core {:files [".gitignore"]}}