This repository was archived by the owner on Jan 18, 2026. It is now read-only.
Update dependency hiccup:hiccup to v2 #1795
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --- | |
| 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) }} |