Skip to content

Commit 146b535

Browse files
committed
Add additiona information for the real-time benchmark results
[skip ci] The following additional information will be visible: - workflow run URL - workflow run artifact URL - changeset diff
1 parent 084e409 commit 146b535

File tree

1 file changed

+35
-18
lines changed

1 file changed

+35
-18
lines changed

.github/workflows/real-time-benchmark.yml

Lines changed: 35 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -131,18 +131,6 @@ jobs:
131131
repository: php/real-time-benchmark-data
132132
ssh-key: ${{ secrets.PHP_VERSION_BENCHMARK_RESULTS_DEPLOY_KEY }}
133133
path: 'php-version-benchmarks/docs/results'
134-
- name: Setup infra config
135-
run: |
136-
set -e
137-
138-
cp ./php-version-benchmarks/config/infra/aws/x86_64-metal.ini.dist ./php-version-benchmarks/config/infra/aws/x86_64-metal.ini
139-
ESCAPED_DOCKER_REGISTRY=$(printf '%s\n' "${{ secrets.PHP_VERSION_BENCHMARK_DOCKER_REGISTRY }}" | sed -e 's/[\/&]/\\&/g')
140-
sed -i "s/INFRA_DOCKER_REGISTRY=public.ecr.aws\/abcdefgh/INFRA_DOCKER_REGISTRY=$ESCAPED_DOCKER_REGISTRY/g" ./php-version-benchmarks/config/infra/aws/x86_64-metal.ini
141-
sed -i "s/INFRA_MEASURE_INSTRUCTION_COUNT=0/INFRA_MEASURE_INSTRUCTION_COUNT=${{ env.INSTRUCTION_COUNT }}/g" ./php-version-benchmarks/config/infra/aws/x86_64-metal.ini
142-
cp ./php-version-benchmarks/build/infrastructure/config/aws.tfvars.dist ./php-version-benchmarks/build/infrastructure/config/aws.tfvars
143-
sed -i 's/access_key = ""/access_key = "${{ secrets.PHP_VERSION_BENCHMARK_AWS_ACCESS_KEY }}"/g' ./php-version-benchmarks/build/infrastructure/config/aws.tfvars
144-
sed -i 's/secret_key = ""/secret_key = "${{ secrets.PHP_VERSION_BENCHMARK_AWS_SECRET_KEY }}"/g' ./php-version-benchmarks/build/infrastructure/config/aws.tfvars
145-
sed -i 's/github_token = ""/github_token = "${{ secrets.GITHUB_TOKEN }}"/g' ./php-version-benchmarks/build/infrastructure/config/aws.tfvars
146134
- name: Setup PHP config - baseline PHP version
147135
run: |
148136
set -e
@@ -153,7 +141,7 @@ jobs:
153141
PHP_NAME="PHP - baseline@$BASELINE_SHORT_SHA"
154142
PHP_ID=php_baseline
155143
156-
PHP_REPO=https://github.com/${{ env.REPOSITORY }}.git
144+
PHP_REPO=${{ github.server_url }}/${{ env.REPOSITORY }}.git
157145
PHP_BRANCH=${{ env.BRANCH }}
158146
PHP_COMMIT=${{ env.BASELINE_COMMIT }}
159147
@@ -170,7 +158,7 @@ jobs:
170158
PHP_NAME="PHP - baseline@$BASELINE_SHORT_SHA (JIT)"
171159
PHP_ID=php_baseline_jit
172160
173-
PHP_REPO=https://github.com/${{ env.REPOSITORY }}.git
161+
PHP_REPO=${{ github.server_url }}/${{ env.REPOSITORY }}.git
174162
PHP_BRANCH=${{ env.BRANCH }}
175163
PHP_COMMIT=${{ env.BASELINE_COMMIT }}
176164
@@ -191,11 +179,13 @@ jobs:
191179
LAST_RESULT_SHA="$(cd ./php-version-benchmarks/tmp/php_${{ env.ID }}/ && git --no-pager log --until="$YESTERDAY" -n 1 --pretty='%H')"
192180
fi
193181
182+
echo "LAST_RESULT_SHA=$LAST_RESULT_SHA" >> $GITHUB_ENV
183+
194184
cat << EOF > ./php-version-benchmarks/config/php/previous.ini
195185
PHP_NAME="PHP - previous ${{ env.BRANCH }}"
196186
PHP_ID=php_previous
197187
198-
PHP_REPO=https://github.com/${{ env.REPOSITORY }}.git
188+
PHP_REPO=${{ github.server_url }}/${{ env.REPOSITORY }}.git
199189
PHP_BRANCH=${{ env.BRANCH }}
200190
PHP_COMMIT=$LAST_RESULT_SHA
201191
@@ -209,7 +199,7 @@ jobs:
209199
PHP_NAME="PHP - ${{ env.BRANCH }}"
210200
PHP_ID=php_${{ env.ID }}
211201
212-
PHP_REPO=https://github.com/${{ env.REPOSITORY }}.git
202+
PHP_REPO=${{ github.server_url }}/${{ env.REPOSITORY }}.git
213203
PHP_BRANCH=${{ env.BRANCH }}
214204
PHP_COMMIT=${{ env.COMMIT }}
215205
@@ -224,7 +214,7 @@ jobs:
224214
PHP_NAME="PHP - ${{ env.BRANCH }} (JIT)"
225215
PHP_ID=php_${{ env.ID }}_jit
226216
227-
PHP_REPO=https://github.com/${{ env.REPOSITORY }}.git
217+
PHP_REPO=${{ github.server_url }}/${{ env.REPOSITORY }}.git
228218
PHP_BRANCH=${{ env.BRANCH }}
229219
PHP_COMMIT=${{ env.COMMIT }}
230220
@@ -244,6 +234,32 @@ jobs:
244234
if [ "${{ env.RUN_MICRO_BENCH }}" -eq "1" ]; then
245235
cp ./php-version-benchmarks/config/test/6_micro_bench.php.ini.dist ./php-version-benchmarks/config/test/6_micro_bench.php.ini
246236
fi
237+
- name: Setup infra config
238+
run: |
239+
set -e
240+
241+
cp ./php-version-benchmarks/config/infra/aws/x86_64-metal.ini.dist ./php-version-benchmarks/config/infra/aws/x86_64-metal.ini
242+
ESCAPED_DOCKER_REGISTRY=$(printf '%s\n' "${{ secrets.PHP_VERSION_BENCHMARK_DOCKER_REGISTRY }}" | sed -e 's/[\/&]/\\&/g')
243+
sed -i "s/INFRA_DOCKER_REGISTRY=public.ecr.aws\/abcdefgh/INFRA_DOCKER_REGISTRY=$ESCAPED_DOCKER_REGISTRY/g" ./php-version-benchmarks/config/infra/aws/x86_64-metal.ini
244+
sed -i "s/INFRA_MEASURE_INSTRUCTION_COUNT=0/INFRA_MEASURE_INSTRUCTION_COUNT=${{ env.INSTRUCTION_COUNT }}/g" ./php-version-benchmarks/config/infra/aws/x86_64-metal.ini
245+
cp ./php-version-benchmarks/build/infrastructure/config/aws.tfvars.dist ./php-version-benchmarks/build/infrastructure/config/aws.tfvars
246+
sed -i 's/access_key = ""/access_key = "${{ secrets.PHP_VERSION_BENCHMARK_AWS_ACCESS_KEY }}"/g' ./php-version-benchmarks/build/infrastructure/config/aws.tfvars
247+
sed -i 's/secret_key = ""/secret_key = "${{ secrets.PHP_VERSION_BENCHMARK_AWS_SECRET_KEY }}"/g' ./php-version-benchmarks/build/infrastructure/config/aws.tfvars
248+
sed -i 's/github_token = ""/github_token = "${{ secrets.GITHUB_TOKEN }}"/g' ./php-version-benchmarks/build/infrastructure/config/aws.tfvars
249+
250+
WORKFLOW_RUN_URL="${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
251+
sed -i 's|log_url = ""|log_url = "$WORKFLOW_RUN_URL"|g' ./php-version-benchmarks/build/infrastructure/config/aws.tfvars
252+
sed -i 's|artifact_url = ""|artifact_url = "#ARTIFACT_URL#"|g' ./php-version-benchmarks/build/infrastructure/config/aws.tfvars
253+
254+
if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then
255+
BASE_COMMIT="${{ env.BASELINE_COMMIT }}"
256+
else
257+
BASE_COMMIT="${{ env.LAST_RESULT_SHA }}"
258+
fi
259+
CHANGESET_URL="${{ github.server_url }}/${{ github.repository }}/compare/$BASE_COMMIT..${{ env.COMMIT }}"
260+
261+
sed -i 's|extra_title = ""|extra_title = "Changeset"|g' ./php-version-benchmarks/build/infrastructure/config/aws.tfvars
262+
sed -i 's|extra_text = ""|extra_text = "$CHANGESET_URL"|g' ./php-version-benchmarks/build/infrastructure/config/aws.tfvars
247263
- name: Run benchmark
248264
run: ./php-version-benchmarks/benchmark.sh run aws
249265
- name: Store results
@@ -264,7 +280,7 @@ jobs:
264280
git commit -m "Add result for ${{ github.repository }}@${{ github.sha }}"
265281
git push
266282
- name: Upload artifacts
267-
if: github.event_name == 'workflow_dispatch'
283+
id: upload
268284
uses: actions/upload-artifact@v6
269285
with:
270286
name: results
@@ -278,6 +294,7 @@ jobs:
278294
run: |
279295
cd ./php-version-benchmarks/tmp/php_${{ env.ID }}
280296
NEWEST_RESULT_DIRECTORY=$(ls -td ${{ github.workspace }}/php-version-benchmarks/docs/results/${{ env.YEAR }}/*/ | head -1)
297+
sed -i "s|#ARTIFACT_URL#|${{ steps.upload.outputs.artifact-url }}|g" "${NEWEST_RESULT_DIRECTORY}result.md"
281298
gh pr comment ${{ inputs.pull_request }} --body-file "${NEWEST_RESULT_DIRECTORY}result.md" --repo ${{ github.repository }}
282299
- name: Cleanup
283300
if: always()

0 commit comments

Comments
 (0)