7373 echo "forks=15" > scoredirector-benchmark.properties
7474 echo "warmup_iterations=5" >> scoredirector-benchmark.properties
7575 echo "measurement_iterations=15" >> scoredirector-benchmark.properties
76- echo "relative_score_error_threshold=0.025 " >> scoredirector-benchmark.properties
76+ echo "relative_score_error_threshold=0.025C " >> scoredirector-benchmark.properties
7777 echo "score_director_type=cs" >> scoredirector-benchmark.properties
7878 echo "example=${{ matrix.example }}" >> scoredirector-benchmark.properties
7979 cat scoredirector-benchmark.properties
@@ -86,12 +86,15 @@ jobs:
8686
8787 - name : Phase 1 - Run the baseline configuration
8888 working-directory : ./timefold-solver-benchmarks
89+ id : benchmark_baseline
8990 env :
9091 RUN_ID : ${{ github.event.inputs.baseline }}
9192 shell : bash
9293 run : |
9394 ./run-scoredirector.sh
94-
95+ echo "RANGE_START=$(jq '.[0].primaryMetric.scoreConfidence[0]' ./timefold-solver-benchmarks/results/scoredirector/${{ github.event.inputs.baseline }}/results.json)" >> "$GITHUB_OUTPUT"
96+ echo "RANGE_END=$(jq '.[0].primaryMetric.scoreConfidence[1]' ./timefold-solver-benchmarks/results/scoredirector/${{ github.event.inputs.baseline }}/results.json)" >> "$GITHUB_OUTPUT"
97+
9598 - name : Phase 2 - Checkout timefold-solver
9699 uses : actions/checkout@v4
97100 with :
@@ -134,16 +137,33 @@ jobs:
134137 run : mvn clean install -B -Dquickly -Dversion.tools.provider="${{ github.event.inputs.async_profiler_version }}"
135138
136139 - name : Phase 2 - Run the benchmark on the new code
140+ id : benchmark_new
137141 working-directory : ./timefold-solver-benchmarks
138142 env :
139143 RUN_ID : ${{ github.event.inputs.branch }}
140144 shell : bash
141145 run : |
142146 ./run-scoredirector.sh
147+ echo "RANGE_START=$(jq '.[0].primaryMetric.scoreConfidence[0]' ./timefold-solver-benchmarks/results/scoredirector/${{ github.event.inputs.branch }}/results.json)" >> "$GITHUB_OUTPUT"
148+ echo "RANGE_END=$(jq '.[0].primaryMetric.scoreConfidence[1]' ./timefold-solver-benchmarks/results/scoredirector/${{ github.event.inputs.branch }}/results.json)" >> "$GITHUB_OUTPUT"
143149
144150 - name : Phase 3 - Archive benchmark data
145151 uses : actions/upload-artifact@v4
146152 with :
147153 name : results-${{ matrix.example }}-${{ github.event.inputs.baseline }}_vs_${{ github.event.inputs.branch }}
148154 path : |
149- ./timefold-solver-benchmarks/results/scoredirector
155+ ./timefold-solver-benchmarks/results/scoredirector
156+
157+ - name : Compare baseline with the branch
158+ working-directory : ./timefold-solver-benchmarks
159+ env :
160+ OLD_RANGE_START : ${{ steps.benchmark_baseline.outputs.RANGE_START }}
161+ OLD_RANGE_END : ${{ steps.benchmark_baseline.outputs.RANGE_END }}
162+ NEW_RANGE_START : ${{ steps.benchmark_new.outputs.RANGE_START }}
163+ NEW_RANGE_END : ${{ steps.benchmark_new.outputs.RANGE_END }}
164+ shell : bash
165+ run : |
166+ echo "OLD_RANGE_START=$OLD_RANGE_START"
167+ echo "OLD_RANGE_END=$OLD_RANGE_END"
168+ echo "NEW_RANGE_START=$NEW_RANGE_START"
169+ echo "NEW_RANGE_END=$NEW_RANGE_END"
0 commit comments