Skip to content

Commit 0660578

Browse files
committed
Finishing touches?
1 parent 9cf2380 commit 0660578

File tree

1 file changed

+19
-10
lines changed

1 file changed

+19
-10
lines changed

.github/workflows/performance_score_director.yml

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -65,18 +65,20 @@ jobs:
6565
tar -xzf $FILENAME
6666
ls -l
6767
68-
- name: Phase 0 - Prepare the benchmarks
68+
# Fine-tuned for stability on GHA.
69+
- name: Phase 0 - Configure the benchmark
6970
working-directory: ./timefold-solver-benchmarks
7071
shell: bash
7172
run: |
72-
echo "warmup_iterations=5" > scoredirector-benchmark.properties
73+
echo "forks=15" > scoredirector-benchmark.properties
74+
echo "warmup_iterations=5" >> scoredirector-benchmark.properties
7375
echo "measurement_iterations=10" >> scoredirector-benchmark.properties
7476
echo "score_director_type=cs" >> scoredirector-benchmark.properties
7577
echo "example=${{ matrix.example }}" >> scoredirector-benchmark.properties
7678
cat scoredirector-benchmark.properties
7779
chmod +x run-scoredirector.sh
7880
79-
- name: Phase 1 - Compile the benchmarks
81+
- name: Phase 1 - Compile the benchmark
8082
working-directory: ./timefold-solver-benchmarks
8183
shell: bash
8284
run: mvn clean install -B -Dquickly -Dversion.ai.timefold.solver=${{ github.event.inputs.baseline }} -Dversion.tools.provider="${{ github.event.inputs.async_profiler_version }}"
@@ -101,12 +103,23 @@ jobs:
101103
shell: bash
102104
run: mvn -B -Dquickly clean install
103105

104-
- name: Phase 2 - Checkout timefold-solver-enterprise
106+
# Clone timefold-solver-enterprise
107+
- name: Phase 2 - Checkout timefold-solver-enterprise (PR) # Checkout the PR branch first, if it exists
108+
id: checkout-solver-enterprise
105109
uses: actions/checkout@v4
110+
continue-on-error: true
106111
with:
107112
repository: TimefoldAI/timefold-solver-enterprise
108113
ref: ${{ github.event.inputs.branch }}
109-
token: ${{ secrets.JRELEASER_GITHUB_TOKEN }} # Safe; only used to clone the repo and not stored in the fork.
114+
token: ${{ secrets.BENCHMARK_PUBLISH_TOKEN }}
115+
path: ./timefold-solver-enterprise
116+
- name: Phase 2 - Checkout timefold-solver-enterprise (main) # Checkout the main branch if the PR branch does not exist
117+
if: steps.checkout-solver-enterprise.outcome != 'success'
118+
uses: actions/checkout@v4
119+
with:
120+
repository: TimefoldAI/timefold-solver-enterprise
121+
ref: main
122+
token: ${{ secrets.BENCHMARK_PUBLISH_TOKEN }}
110123
path: ./timefold-solver-enterprise
111124

112125
- name: Phase 2 - Quickly build timefold-solver-enterprise
@@ -119,7 +132,7 @@ jobs:
119132
shell: bash
120133
run: mvn clean install -B -Dquickly -Dversion.tools.provider="${{ github.event.inputs.async_profiler_version }}"
121134

122-
- name: Phase 2 - Run the new configuration
135+
- name: Phase 2 - Run the benchmark on the new code
123136
working-directory: ./timefold-solver-benchmarks
124137
env:
125138
RUN_ID: ${{ github.event.inputs.branch }}
@@ -142,7 +155,3 @@ jobs:
142155
output-file-path: ./timefold-solver-benchmarks/results/${{ github.event.inputs.branch }}/results.json
143156
github-token: ${{ secrets.BENCHMARK_PUBLISH_TOKEN }}
144157
auto-push: true
145-
alert-threshold: '105%'
146-
comment-on-alert: true
147-
fail-on-alert: true
148-
alert-comment-cc-users: '@triceo'

0 commit comments

Comments
 (0)