Files
Radixor/.github/workflows/benchmarks.yml
Leo Galambos 558707d78e chore: harden Gradle dependency reproducibility
feat: enable Gradle dependency locking for all configurations
feat: enforce strict lock-state usage in the build
feat: centralize repository declaration in settings.gradle
feat: enable strict Gradle dependency verification via gradle.properties
feat: add committed dependency lock state and verification metadata
fix: defer mockito agent resolution to test execution phase for locked builds
ci: validate reproducibility inputs before workflow builds
ci: include lock and verification inputs in workflow change detection
docs: establish explicit dependency update workflow for locks and verification metadata
2026-04-15 22:33:48 +02:00

62 lines
1.3 KiB
YAML

name: Benchmarks
on:
workflow_dispatch:
schedule:
- cron: '0 3 * * 1'
push:
branches:
- main
paths:
- 'src/main/**'
- 'src/jmh/**'
- 'build.gradle'
- 'gradle.properties'
- 'gradle.lockfile'
- 'settings.gradle'
- 'gradle/**'
- 'gradlew'
- 'gradlew.bat'
- '.github/workflows/benchmarks.yml'
jobs:
jmh:
runs-on: ubuntu-latest
timeout-minutes: 30
permissions:
contents: read
steps:
- name: Check out sources
uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '21'
cache: gradle
- name: Make Gradle executable
run: chmod +x ./gradlew
- name: Verify reproducibility inputs
shell: bash
run: |
set -euo pipefail
test -f gradle.lockfile
test -f gradle.properties
test -f gradle/verification-metadata.xml
- name: Run JMH benchmarks
run: ./gradlew clean jmh --no-daemon
- name: Upload JMH reports
uses: actions/upload-artifact@v4
with:
name: jmh-reports
path: |
build/reports/jmh/**
build/results/jmh/**
if-no-files-found: warn