Skip to content

Add compatibility testing #10

Add compatibility testing

Add compatibility testing #10

Workflow file for this run

name: Backwards Compatibility Tests
on: ["workflow_dispatch", "pull_request"]
jobs:
compatibility_test:
strategy:
matrix:
clojure_version: ['1.10.0', '1.11.0', '1.12.0']
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}-${{ matrix.clojure_version }}
cancel-in-progress: true
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/[email protected]
- name: Print concurrency group
run: echo '${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}'
- name: Cache maven dependencies
uses: actions/cache@v4
env:
cache-name: cache-maven
with:
path: ~/.m2
save-always: true
key: ${{ runner.os }}-clj-${{ hashFiles('**/project.clj') }}
restore-keys: |
${{ runner.os }}-clj
- name: Cache npm dependencies
uses: actions/cache@v4
env:
cache-name: cache-npm
with:
path: ~/.npm
save-always: true
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node
- name: Install Clojure Dependencies
run: lein deps
- name: Override Clojure Version
run: lein change :dependencies:org.clojure/clojure set '"${{ matrix.clojure_version }}"'
- name: Run all tests
run: lein test
- name: Install node.js dependencies
run: npm install
- name: Build Clojurescript
run: lein cljsbuild once test
- name: Run all tests
run: lein doo once