Skip to content
This repository was archived by the owner on Jan 18, 2026. It is now read-only.

Update dependency nrepl:nrepl to v1 #1808

Update dependency nrepl:nrepl to v1

Update dependency nrepl:nrepl to v1 #1808

Workflow file for this run

---
name: lein_test
permissions:
contents: read
on:
pull_request: {}
push:
branches:
- main
jobs:
run-lein-tests:
name: lein test - Java ${{ matrix.java }}
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
java:
- '21'
- '17'
steps:
- name: Check out repository code
uses: actions/checkout@v6
- name: Setup java
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: ${{ matrix.java }}
- name: Install Clojure tools
uses: DeLaGuardo/setup-clojure@13.4
with:
cli: latest # Clojure CLI based on tools.deps
lein: latest # Leiningen
boot: latest # Boot.clj
bb: latest # Babashka
clj-kondo: latest # Clj-kondo
cljstyle: latest # cljstyle
zprint: latest # zprint
- name: generate pom
run: lein pom && cat pom.xml
- name: Run lein tests with update profile
run: |
set -x
set -e
lein version
echo "Running tests"
lein -U test
get-clj-parent-version:
name: get clj-parent version
runs-on: ubuntu-24.04
outputs:
clj-parent-version: ${{ steps.version.outputs.clj-parent-version }}
steps:
- uses: actions/checkout@v6
# install clojure tools
- name: Install Clojure tools
uses: DeLaGuardo/setup-clojure@13.4
with:
lein: latest # Leiningen
# used during the openvoxserver/db builds
- name: Get release version
id: version
run: echo "clj-parent-version=$(lein update-in :plugins conj '[lein-pprint "1.3.2"]' -- pprint :version | tr -d '\"')" >> "$GITHUB_OUTPUT"
- name: output version
run: echo "clj-parent is at version ${{ steps.version.outputs.clj-parent-version }}"
# this is basically the same as in ezbake and should be abstracted into a shared workflow or composite action
build:
name: build ${{ matrix.project }}
runs-on: ubuntu-24.04
needs:
- get-clj-parent-version
strategy:
fail-fast: false
matrix:
include:
- project: openvox-server
repository: 'OpenVoxProject/openvox-server'
- project: openvoxdb
repository: 'OpenVoxProject/openvoxdb'
steps:
- name: checkout openvox-server
uses: actions/checkout@v6
with:
repository: ${{ matrix.repository }}
submodules: true
fetch-depth: 0 # So we fetch all history and tags and can build non-tagged versions
- name: Setup ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true
- name: Display Ruby environment
run: bundle env
- name: get ${{ matrix.project }} version
id: version
run: |
DESCRIBE=$(git describe --abbrev=9)
echo "describe=${DESCRIBE//-/.}" >> $GITHUB_OUTPUT
- name: build ${{ matrix.project }} with clj-parent ${{ needs.get-ezbake-version.outputs.clj-parent-version }}
run: bundle exec rake vox:build
env:
DEP_REBUILD: clj-parent
DEP_REBUILD_ORG: $GITHUB_REPOSITORY_OWNER
DEP_REBUILD_BRANCH: $GITHUB_REF # https://github.com/actions/checkout?tab=readme-ov-file#usage
- name: Upload build artifacts
uses: actions/upload-artifact@v6
with:
name: ${{ matrix.project }}-${{ steps.version.outputs.describe }}-clj-parent-${{ needs.get-clj-parent-version.outputs.clj-parent-version }}
path: output/
retention-days: 1 # quite low retention, because the artifacts are quite large
overwrite: true # overwrite old artifacts if a PR runs again (artifacts are per PR * per project)
tests:
if: always()
needs:
- run-lein-tests
- get-clj-parent-version
- build
runs-on: ubuntu-24.04
name: Test suite
steps:
- name: Decide whether the needed jobs succeeded or failed
uses: re-actors/alls-green@release/v1
with:
jobs: ${{ toJSON(needs) }}