diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..021fe76 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,44 @@ +# name: Deploy +# +# on: +# push: +# branches: +# - master +# +# jobs: +# deploy: +# runs-on: ubuntu-20.04 +# environment: Deployment +# steps: +# - uses: actions/checkout@v4.1.0 +# with: +# fetch-depth: 0 +# - name: Prepare JDK 17 +# uses: actions/setup-java@v3 +# with: +# java-version: 17 +# distribution: 'temurin' +# - name: Setup Clojure +# uses: DeLaGuardo/setup-clojure@12.1 +# with: +# cli: 1.11.1.1413 +# - name: Restore cache +# uses: actions/cache@v3 +# with: +# path: | +# ~/.m2/repository +# ~/.gitlibs +# ~/.deps.clj +# key: v1-${{ hashFiles('./deps.edn') }}-deploy +# restore-keys: | +# v1-${{ hashFiles('./deps.edn') }}- +# v1- +# - name: Build Guacamaya +# run: clojure -T:build build +# env: +# GITHUB_SHA: ${{ env.GITHUB_SHA }} +# - name: Deploy Guacamaya +# run: clojure -T:build deploy +# env: +# CLOJARS_USERNAME: ${{ secrets.CLOJARS_USERNAME }} +# CLOJARS_PASSWORD: ${{ secrets.CLOJARS_PASSWORD }} diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..d34a965 --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,114 @@ +name: Tests + +on: + push: + branches: + - master + pull_request: + +jobs: + kondo: + runs-on: ubuntu-20.04 + timeout-minutes: 10 + steps: + - uses: actions/checkout@v4.1.0 + - uses: DeLaGuardo/clojure-lint-action@master + with: + check-name: Run clj-kondo + clj-kondo-args: >- + --lint + src + test + github_token: ${{ secrets.GITHUB_TOKEN }} + + tests: + runs-on: ubuntu-20.04 + timeout-minutes: 10 + steps: + - uses: actions/checkout@v4.1.0 + - name: Prepare JDK 17 + uses: actions/setup-java@v3 + with: + java-version: 17 + distribution: 'temurin' + - name: Setup Clojure + uses: DeLaGuardo/setup-clojure@12.1 + with: + cli: 1.11.1.1413 + - name: Restore cache + uses: actions/cache@v3 + with: + path: | + ~/.m2/repository + ~/.gitlibs + ~/.deps.clj + key: v1-${{ hashFiles('./deps.edn') }}-tests + restore-keys: | + v1-${{ hashFiles('./deps.edn') }}- + v1- + - run: clojure -X:dev:test + name: Run tests + env: + CI: TRUE + + whitespace-linter: + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v4.1.0 + - name: Prepare JDK 17 + uses: actions/setup-java@v3 + with: + java-version: 17 + distribution: 'temurin' + - name: Setup Clojure + uses: DeLaGuardo/setup-clojure@12.1 + with: + cli: 1.11.1.1413 + - name: Restore cache + uses: actions/cache@v3 + with: + path: | + ~/.m2/repository + ~/.gitlibs + ~/.deps.clj + key: v1-${{ hashFiles('./deps.edn') }}-whitespace-linter + restore-keys: | + v1-${{ hashFiles('./deps.edn') }}- + v1- + - run: clojure -T:whitespace-linter + name: Run whitespace linter + + check: + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v4.1.0 + - name: Prepare JDK 17 + uses: actions/setup-java@v3 + with: + java-version: 17 + distribution: 'temurin' + - name: Setup Clojure + uses: DeLaGuardo/setup-clojure@12.1 + with: + cli: 1.11.1.1413 + - name: Restore cache + uses: actions/cache@v3 + with: + path: | + ~/.m2/repository + ~/.gitlibs + ~/.deps.clj + key: v1-${{ hashFiles('./deps.edn') }}-check + restore-keys: | + v1-${{ hashFiles('./deps.edn') }}- + v1- + - run: clojure -M:check + name: Check namespaces + +# codespell: +# runs-on: ubuntu-20.04 +# steps: +# - uses: actions/checkout@v4.1.0 +# - uses: codespell-project/actions-codespell@v2 +# with: +# ignore_words_file: .codespellignore diff --git a/deps.edn b/deps.edn index e2982f4..01bbb86 100644 --- a/deps.edn +++ b/deps.edn @@ -30,6 +30,12 @@ ;; include more details for debugging NPEs (Java 14+) "-XX:+ShowCodeDetailsInExceptionMessages"]} + ;; clojure -M:check + :check + {:extra-deps {athos/clj-check {:git/url "https://github.com/athos/clj-check.git" + :sha "518d5a1cbfcd7c952f548e6dbfcb9a4a5faf9062"}} + :main-opts ["-m" "clj-check.check"]} + ;; clj -T:whitespace-linter :whitespace-linter {:deps {com.github.camsaul/whitespace-linter {:sha "e35bc252ccf5cc74f7d543ef95ad8a3e5131f25b"}}