Skip to content

Update dependency minitest to v5.27.0 (main) - autoclosed #2196

Update dependency minitest to v5.27.0 (main) - autoclosed

Update dependency minitest to v5.27.0 (main) - autoclosed #2196

Workflow file for this run

---
name: PR Testing
on:
pull_request: { branches: ['main'] }
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: ['21', '25']
exclude:
- javaargs: 'with-profile fips'
version: '21'
filter: ':multithreaded'
- javaargs: 'with-profile fips'
version: '21'
filter: ':singlethreaded'
- javaargs: 'with-profile fips'
version: '25'
filter: ':multithreaded'
- javaargs: 'with-profile fips'
version: '25'
filter: ':singlethreaded'
runs-on: ubuntu-latest
steps:
- name: checkout repo
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
submodules: recursive
- name: setup java
uses: actions/setup-java@0f481fcb613427c0f801b606911222b5b6f3083a # v5.5.0
with:
distribution: 'temurin'
java-version: ${{ matrix.version }}
- name: setup ruby
uses: ruby/setup-ruby@d45b1a4e94b71acab930e56e79c6aa188764e7f9 # v1.316.0
with:
ruby-version: '3.1'
- name: Install clojure tools
uses: DeLaGuardo/setup-clojure@4c7a6f613e5089821bb3bb2a33a3ee115578580d # 13.6.1
with:
lein: latest
- name: setup gems
run: ./dev-setup
- name: clojure tests
run: lein -U ${{ matrix.javaargs }} test ${{ matrix.filter }}
timeout-minutes: 30
rspec-tests:
name: Rspec Tests - Java ${{ matrix.java }} Ruby ${{ matrix.ruby }}
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
java: ['21', '25']
# The specs always run under the JRuby pinned via jruby-utils
# (see Rakefile: lein run -m org.jruby.Main); this MRI only drives
# rake and dev-setup, so one version suffices. Match the reference
# Ruby used by the build job / Dockerfile.
ruby: ['3.3']
steps:
- name: checkout repo
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
submodules: recursive
- name: setup ruby
uses: ruby/setup-ruby@d45b1a4e94b71acab930e56e79c6aa188764e7f9 # v1.316.0
with:
ruby-version: ${{ matrix.ruby }}
- name: setup java
uses: actions/setup-java@0f481fcb613427c0f801b606911222b5b6f3083a # v5.5.0
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
- name: Install clojure tools
uses: DeLaGuardo/setup-clojure@4c7a6f613e5089821bb3bb2a33a3ee115578580d # 13.6.1
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@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
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@d45b1a4e94b71acab930e56e79c6aa188764e7f9 # v1.316.0
with:
ruby-version: '3.3' # should match the Ruby used in Dockerfile. Currently Ruby 3.3 from Alma 10
bundler-cache: true
- id: docker-cache
uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: /tmp/ezbake-builder.tar
key: docker-ezbake-${{ hashFiles('Dockerfile') }}
- name: load or build docker image
run: |
if [[ -f /tmp/ezbake-builder.tar ]]; then
docker load -i /tmp/ezbake-builder.tar
else
docker build -t ezbake-builder .
docker save ezbake-builder -o /tmp/ezbake-builder.tar
fi
- uses: actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
if: always() && steps.docker-cache.outputs.cache-hit != 'true'
with:
path: /tmp/ezbake-builder.tar
key: docker-ezbake-${{ hashFiles('Dockerfile') }}
- 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@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: openvox-server-${{ steps.version.outputs.describe }}.zip
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@b30e6a3c0ed37e7c023ccd3f1db5c6c0b0c23aad # v4.0.0
# 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@e8674b075228eee787fea43ef493e45ece1004c9 # v5.0.0
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@0f481fcb613427c0f801b606911222b5b6f3083a # v5.5.0
with:
distribution: temurin
java-version: 21
- name: checkout repo
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
# newer versions cause lint errors
# https://github.com/clj-kondo/clj-kondo/releases
- name: Install clojure tools
uses: DeLaGuardo/setup-clojure@4c7a6f613e5089821bb3bb2a33a3ee115578580d # 13.6.1
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) }}
automerge:
name: Enable auto-merge
if: github.event_name == 'pull_request' && (github.event.pull_request.user.login == 'dependabot[bot]' || github.event.pull_request.user.login == 'renovate[bot]')
needs:
- tests
runs-on: ubuntu-24.04
permissions:
contents: write
pull-requests: write
steps:
- name: Enable auto-merge for PR
env:
GH_TOKEN: ${{ github.token }}
PR_URL: ${{ github.event.pull_request.html_url }}
PR_HEAD_SHA: ${{ github.event.pull_request.head.sha }}
run: gh pr merge --auto --merge --match-head-commit "$PR_HEAD_SHA" "$PR_URL"