138 lines
3.7 KiB
YAML
Vendored
138 lines
3.7 KiB
YAML
Vendored
---
|
|
name: Run tests
|
|
|
|
on:
|
|
push:
|
|
branches: [master]
|
|
pull_request:
|
|
branches: [master]
|
|
|
|
jobs:
|
|
build-clj:
|
|
strategy:
|
|
matrix:
|
|
# Supported Java versions: LTS releases and latest
|
|
jdk: [8, 11, 17, 21, 25]
|
|
clojure: [11, 12]
|
|
|
|
name: Clojure ${{ matrix.clojure }} (Java ${{ matrix.jdk }})
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
- name: Setup Java ${{ matrix.jdk }}
|
|
uses: actions/setup-java@v5
|
|
with:
|
|
distribution: zulu
|
|
java-version: ${{ matrix.jdk }}
|
|
- uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
~/.m2/repository
|
|
~/.gitlibs
|
|
key: ${{ runner.os }}-test-deps-${{ hashFiles('**/deps.edn') }}-${{ matrix.clojure }}-${{ matrix.jdk }}
|
|
restore-keys: |
|
|
${{ runner.os }}-test-deps-${{ hashFiles('**/deps.edn') }}-${{ matrix.clojure }}-
|
|
${{ runner.os }}-test-deps-
|
|
- name: Setup Clojure
|
|
uses: DeLaGuardo/setup-clojure@master
|
|
with:
|
|
cli: latest
|
|
- name: Run tests
|
|
run: CLOJURE_ALIAS=clojure-${{ matrix.clojure }} bin/kaocha
|
|
|
|
build-cljs:
|
|
name: ClojureScript
|
|
strategy:
|
|
matrix:
|
|
mode: [none, advanced, cherry-none, cherry-advanced]
|
|
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
- name: Setup Java 11
|
|
uses: actions/setup-java@v5
|
|
with:
|
|
distribution: zulu
|
|
java-version: 11
|
|
- uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
~/.m2/repository
|
|
~/.gitlibs
|
|
key: ${{ runner.os }}-test-deps-${{ hashFiles('**/deps.edn') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-test-deps-
|
|
- name: Setup Clojure
|
|
uses: DeLaGuardo/setup-clojure@master
|
|
with:
|
|
cli: latest
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v5
|
|
with:
|
|
node-version: 16
|
|
- name: Install dependencies
|
|
run: npm ci
|
|
- name: Run tests on ${{ matrix.mode }}
|
|
run: bin/node ${{ matrix.mode }}
|
|
|
|
build-bb:
|
|
name: Babashka
|
|
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
- name: Setup Java 11
|
|
uses: actions/setup-java@v5
|
|
with:
|
|
distribution: zulu
|
|
java-version: 11
|
|
- uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
~/.m2/repository
|
|
~/.deps.clj
|
|
~/.gitlibs
|
|
key: ${{ runner.os }}-test-deps-${{ hashFiles('**/deps.edn') }}-${{ hashFiles('**/bb.edn') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-test-deps-${{ hashFiles('**/deps.edn') }}-
|
|
${{ runner.os }}-test-deps-
|
|
- name: Setup Clojure
|
|
uses: DeLaGuardo/setup-clojure@master
|
|
with:
|
|
cli: latest
|
|
bb: latest
|
|
- name: Run tests
|
|
run: bb test-bb
|
|
|
|
doc-tests:
|
|
# Builds tests from Documentation with test-doc-blocks and tests that
|
|
# the examples are still valid.
|
|
name: Doc Tests
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
- name: Setup Java 25
|
|
uses: actions/setup-java@v5
|
|
with:
|
|
distribution: zulu
|
|
java-version: 25
|
|
- uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
~/.m2/repository
|
|
~/.deps.clj
|
|
~/.gitlibs
|
|
key: ${{ runner.os }}-test-deps-${{ hashFiles('**/deps.edn') }}-${{ hashFiles('**/bb.edn') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-test-deps-${{ hashFiles('**/deps.edn') }}-
|
|
${{ runner.os }}-test-deps-
|
|
- name: Setup Clojure
|
|
uses: DeLaGuardo/setup-clojure@master
|
|
with:
|
|
cli: latest
|
|
bb: latest
|
|
- name: Run doc tests
|
|
run: bb test-docs
|