Skip to content

Merge pull request #334 from objectionary/renovate/jeo.version #307

Merge pull request #334 from objectionary/renovate/jeo.version

Merge pull request #334 from objectionary/renovate/jeo.version #307

Workflow file for this run

# SPDX-FileCopyrightText: Copyright (c) 2024-2025 Objectionary.com
# SPDX-License-Identifier: MIT
---
# yamllint disable rule:line-length
name: benchmark
'on':
push:
branches:
- master
paths-ignore: [ 'README.md', '.github' ]
concurrency:
group: benchmark-${{ github.ref }}
cancel-in-progress: true
jobs:
benchmark:
timeout-minutes: 15
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
distribution: 'zulu'
java-version: 21
- uses: actions/cache@v4
with:
path: ~/.m2/repository
key: ubuntu-jdk-21-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: ubuntu-jdk-21-maven-
- run: docker pull yegor256/hone:0.0.29
- run: mvn clean test -Dtest=OptimizeMojoTest#optimizesJustOneLargeJnaClass --errors --batch-mode -DexcludedGroups=
- run: |
set -x
sum=$(
printf "\`\`\`text\n"
cat target/jna-summary.txt
printf "\n\n"
tail -n +2 < target/timings.csv | tr -d '"' | cut -d ';' -f2,3 | sed s/\(default-cli\)//g | tr -d ';' | awk '{ a[$1]+=$2; s+=$2; } END { for (k in a) printf("%s\t%s\t%0.2f%%\n", k, a[k], 100 * a[k] / s)}' | sort -g -k 2 | tac | column -t
printf "\`\`\`\n\n"
echo "The results were calculated in [this GHA job][benchmark-gha]"
echo "on $(date +'%Y-%m-%d') at $(date +'%H:%M'),"
echo "on $(uname) with $(nproc --all) CPUs."
)
export sum
perl -i -0777 -pe 's/(?<=<!-- benchmark_begin -->).*(?=<!-- benchmark_end -->)/\n$ENV{sum}\n/gs;' README.md
url=${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}
export url
perl -i -0777 -pe 's/(?<=\[benchmark-gha\]: )[^\n]+(?=\n)/$ENV{url}/gs;' README.md
- uses: peter-evans/create-pull-request@v7
with:
sign-commits: true
branch: benchmark
commit-message: 'new benchmark results'
delete-branch: true
title: 'New benchmarking results'
assignees: yegor256
base: master