Skip to content

add support to print list of implemented steps (#2433) #164

add support to print list of implemented steps (#2433)

add support to print list of implemented steps (#2433) #164

Workflow file for this run

name: benchmark
on:
push:
tags:
- '*'
permissions:
contents: read
jobs:
benchmark:
name: Benchmark ${{ matrix.project }} | PARALLEL= ${{ matrix.parallel }}
runs-on: ubuntu-latest
if: github.repository_owner == 'getgauge'
strategy:
matrix:
project: [java_simple, java_maven, java_gradle]
parallel: ['parallel', 'serial', 'multithreaded']
env:
PARALLEL: ${{ matrix.parallel }}
BENCHMARK_OUT_DIR: "../out"
steps:
- uses: actions/checkout@v4
with:
path: gauge
- name: Set up Go
uses: actions/setup-go@v5
with:
check-latest: true
go-version-file: 'gauge/go.mod'
cache-dependency-path: 'gauge/go.sum'
- name: Setup java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '11'
- name: Install Gauge
run: |
cd gauge
go run build/make.go && go run build/make.go --install --prefix=/tmp/gauge --verbose
echo "/tmp/gauge/bin" >> $GITHUB_PATH
- name: Install gauge-java
run: gauge install java
- name: Prep benchmark
uses: actions/checkout@v4
with:
repository: getgauge/gauge-benchmarks
path: gauge-benchmarks
ref: master
- name: Run benchmark ${{matrix.project}} | ${{matrix.parallel}}
env:
PARALLEL: ${{ matrix.parallel != 'serial' }}
enable_multithreading: ${{ matrix.parallel == 'multithreaded' }}
run: |
mkdir -p gauge-benchmarks/out
cd gauge-benchmarks/${{matrix.project}}
./run.sh
- name: Upload benchmark
uses: actions/upload-artifact@v4
with:
name: ${{matrix.project}}_${{matrix.parallel}}
path: gauge-benchmarks/out
publish-benchmark:
permissions:
contents: write # for Git to git push
name: Publish Benchmark
runs-on: ubuntu-latest
needs: [ benchmark ]
if: github.repository_owner == 'getgauge'
steps:
- name: Prep benchmark
uses: actions/checkout@v4
with:
repository: getgauge/gauge-benchmarks
path: gauge-benchmarks
token: ${{ secrets.GAUGEBOT_GITHUB_TOKEN }}
ref: master
- name: Download benchmark results
uses: actions/download-artifact@v4
with:
path: gauge-benchmarks/out/
- name: Publish Results
run: |
cd gauge-benchmarks
find ./out -name '*.csv' -printf "cat %p >> docs/data/gauge/%f\n" | sh
git config user.name "Github Actions"
git config user.email "actions@users.noreply.github.com"
git commit -sam "add benchmark for $GITHUB_SHA"
git push