Skip to content

Update logback-version to v1.5.27 #1123

Update logback-version to v1.5.27

Update logback-version to v1.5.27 #1123

Workflow file for this run

---
name: PR Testing
on:
pull_request: {}
push:
branches:
- main
permissions:
contents: read
jobs:
clojure-tests:
name: Clojure Tests - Java ${{ matrix.version }} ${{ matrix.filter }} ${{ matrix.javaargs }}
strategy:
fail-fast: false
matrix:
javaargs: ['with-profile fips', '']
filter: [':singlethreaded', ':multithreaded']
version: ['17', '21']
exclude:
- javaargs: 'with-profile fips'
version: '21'
filter: ':multithreaded'
- javaargs: 'with-profile fips'
version: '21'
filter: ':singlethreaded'
runs-on: ubuntu-latest
steps:
- name: checkout repo
uses: actions/checkout@v6
with:
submodules: recursive
- name: setup java
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: ${{ matrix.version }}
- name: setup ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.1'
- name: Install clojure tools
uses: DeLaGuardo/[email protected]
with:
lein: latest
- name: setup gems
run: ./dev-setup
- name: clojure tests
run: lein -U ${{ matrix.javaargs }} test ${{ matrix.filter }}
timeout-minutes: 120
rspec-tests:
name: Rspec Tests - Java ${{ matrix.java }} Ruby ${{ matrix.ruby }}
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
java: ['17', '21']
ruby: ['3.1', '3.2', '3.3', '3.4', '4.0']
steps:
- name: checkout repo
uses: actions/checkout@v6
with:
submodules: recursive
- name: setup ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
- name: setup java
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
- name: Install clojure tools
uses: DeLaGuardo/[email protected]
with:
lein: latest
- name: setup gems
run: ./dev-setup
- name: rspec tests
run: rake spec
build:
name: build openvox-server
runs-on: ubuntu-24.04
permissions:
pull-requests: write
steps:
- name: checkout repo
uses: actions/checkout@v6
with:
submodules: recursive
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
# uses the Dockerfile to build openvox-server in a container
# the container hardcodes the java version
- name: build it
run: bundle exec rake vox:build
- name: get version
id: version
run: |
DESCRIBE=$(git describe --abbrev=9)
echo "describe=${DESCRIBE//-/.}" >> $GITHUB_OUTPUT
- name: Upload build artifacts
id: upload
uses: actions/upload-artifact@v6
with:
name: openvoxdb-${{ steps.version.outputs.describe }}
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)
- name: Find existing comment
uses: peter-evans/find-comment@v4
# Check if the event is not triggered by a fork
# https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#restrictions-on-repository-forks
if: github.event.pull_request.head.repo.full_name == github.repository
id: find-comment
with:
issue-number: ${{ github.event.pull_request.number }}
comment-author: 'github-actions[bot]'
body-includes: '<!-- build-artifacts -->'
- name: Add or update comment
uses: peter-evans/create-or-update-comment@v5
if: github.event.pull_request.head.repo.full_name == github.repository
with:
comment-id: ${{ steps.find-comment.outputs.comment-id }}
issue-number: ${{ github.event.pull_request.number }}
edit-mode: replace
body: |-
<!-- build-artifacts -->
The rpm/deb packages and the JAR file for openvox-server are available in a zip archive:
${{ steps.upload.outputs.artifact-url }}
clojure-linting:
name: Clojure Linting
runs-on: ubuntu-latest
steps:
- name: setup java
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 17
- name: checkout repo
uses: actions/checkout@v6
# newer versions cause lint errors
# https://github.com/clj-kondo/clj-kondo/releases
- name: Install clojure tools
uses: DeLaGuardo/[email protected]
with:
clj-kondo: 2025.02.20
- name: kondo lint
run: clj-kondo --lint src test
tests:
if: always()
needs:
- clojure-tests
- rspec-tests
- clojure-linting
- 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) }}