Skip to content

Commit efd87aa

Browse files
committed
Review fixes
1 parent 4e0559a commit efd87aa

File tree

1 file changed

+38
-26
lines changed

1 file changed

+38
-26
lines changed

.github/workflows/benchmark.yml

Lines changed: 38 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: Benchmark
22
on:
33
schedule:
4-
- cron: "0 2 * * *"
4+
- cron: "30 0 * * *"
55
permissions:
66
contents: read
77
jobs:
@@ -19,8 +19,9 @@ jobs:
1919
wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
2020
gpg --no-default-keyring --keyring /usr/share/keyrings/hashicorp-archive-keyring.gpg --fingerprint
2121
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
22-
sudo apt update
23-
sudo apt install terraform=1.5.7-*
22+
export DEBIAN_FRONTEND=noninteractive
23+
sudo apt-get update -y
24+
sudo apt-get install -y terraform=1.5.7-*
2425
- name: Checkout benchmark suite
2526
uses: actions/checkout@v4
2627
with:
@@ -32,52 +33,63 @@ jobs:
3233
uses: actions/checkout@v4
3334
with:
3435
repository: 'php/php-src'
35-
ref: 'master'
36+
ref: '${{ github.sha }}'
3637
fetch-depth: 100
3738
path: 'php-version-benchmarks/tmp/php_master'
38-
- name: Copy-paste the same repo content for benchmarking JIT
39+
- name: Setup benchmark results
3940
run: |
40-
set -e
41-
42-
cp -r "php-version-benchmarks/tmp/php_master/" "php-version-benchmarks/tmp/php_master_jit"
43-
- name: Setup benchmark config
41+
git config --global user.name "Benchmark"
42+
git config --global user.email "[email protected]"
43+
44+
rm -rf ./php-version-benchmarks/docs/results
45+
- name: Checkout benchmark results
46+
uses: actions/checkout@v4
47+
with:
48+
repository: kocsismate/php-version-benchmark-results
49+
ssh-key: ${{ secrets.PHP_VERSION_BENCHMARK_RESULTS_DEPLOY_KEY }}
50+
path: 'php-version-benchmarks/docs/results'
51+
- name: Set benchmark config
4452
run: |
4553
set -e
4654
55+
# Set infrastructure config
4756
cp ./php-version-benchmarks/config/infra/aws/x86_64-metal.ini.dist ./php-version-benchmarks/config/infra/aws/x86_64-metal.ini
4857
ESCAPED_DOCKER_REGISTRY=$(printf '%s\n' "${{ secrets.PHP_VERSION_BENCHMARK_DOCKER_REGISTRY }}" | sed -e 's/[\/&]/\\&/g')
4958
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
50-
5159
cp ./php-version-benchmarks/build/infrastructure/config/aws.tfvars.dist ./php-version-benchmarks/build/infrastructure/config/aws.tfvars
5260
sed -i 's/access_key = ""/access_key = "${{ secrets.PHP_VERSION_BENCHMARK_AWS_ACCESS_KEY }}"/g' ./php-version-benchmarks/build/infrastructure/config/aws.tfvars
5361
sed -i 's/secret_key = ""/secret_key = "${{ secrets.PHP_VERSION_BENCHMARK_AWS_SECRET_KEY }}"/g' ./php-version-benchmarks/build/infrastructure/config/aws.tfvars
5462
63+
YEAR="$(date '+%Y')"
64+
DATABASE="./php-version-benchmarks/docs/results/$YEAR/database.tsv"
65+
if [ -f "$DATABASE" ]; then
66+
LAST_RESULT_SHA="$(tail -n 2 "$DATABASE" | head -n 1 | cut -f 6)"
67+
else
68+
YESTERDAY="$(date -d "-2 day 23:59:59" '+%Y-%m-%d %H:%M:%S')"
69+
LAST_RESULT_SHA="$(cd ./php-version-benchmarks/tmp/php_master/ && git --no-pager log --until="$YESTERDAY" -n 1 --pretty='%H')"
70+
fi
71+
72+
# Set config for the previous PHP version
5573
cp ./php-version-benchmarks/config/php/master.ini.dist ./php-version-benchmarks/config/php/master1.ini
56-
YESTERDAY="$(date -d "-2 day 13:00" '+%Y-%m-%d')"
57-
YESTERDAY_SHA="$(cd ./php-version-benchmarks/tmp/php_master/ && git --no-pager log --until="$YESTERDAY 23:59:59" -n 1 --pretty='%H')"
5874
sed -i 's/PHP_NAME="PHP - master"/PHP_NAME="PHP - previous master"/g' ./php-version-benchmarks/config/php/master1.ini
5975
sed -i "s/PHP_ID=php_master/PHP_ID=php_master_previous/g" ./php-version-benchmarks/config/php/master1.ini
60-
sed -i "s/PHP_COMMIT=/PHP_COMMIT=$YESTERDAY_SHA/g" ./php-version-benchmarks/config/php/master1.ini
76+
sed -i "s/PHP_COMMIT=/PHP_COMMIT=$LAST_RESULT_SHA/g" ./php-version-benchmarks/config/php/master1.ini
77+
78+
# Set config for the current PHP version
6179
cp ./php-version-benchmarks/config/php/master.ini.dist ./php-version-benchmarks/config/php/master2.ini
80+
sed -i "s/PHP_COMMIT=/PHP_COMMIT=${{ github.sha }}/g" ./php-version-benchmarks/config/php/master2.ini
81+
82+
# Set config for current PHP version with JIT
83+
git clone ./php-version-benchmarks/tmp/php_master/ ./php-version-benchmarks/tmp/php_master_jit
6284
cp ./php-version-benchmarks/config/php/master_jit.ini.dist ./php-version-benchmarks/config/php/master2_jit.ini
85+
sed -i "s/PHP_COMMIT=/PHP_COMMIT=${{ github.sha }}/g" ./php-version-benchmarks/config/php/master2_jit.ini
6386
87+
# Set test configs
6488
cp ./php-version-benchmarks/config/test/1_laravel.ini.dist ./php-version-benchmarks/config/test/1_laravel.ini
6589
cp ./php-version-benchmarks/config/test/2_symfony_main.ini.dist ./php-version-benchmarks/config/test/2_symfony_main.ini
6690
cp ./php-version-benchmarks/config/test/4_wordpress.ini.dist ./php-version-benchmarks/config/test/4_wordpress.ini
6791
cp ./php-version-benchmarks/config/test/5_bench.php.ini.dist ./php-version-benchmarks/config/test/5_bench.php.ini
6892
cp ./php-version-benchmarks/config/test/6_micro_bench.php.ini.dist ./php-version-benchmarks/config/test/6_micro_bench.php.ini
69-
70-
rm -rf ./php-version-benchmarks/docs/results
71-
- name: Git setup
72-
run: |
73-
git config --global user.name "Benchmark"
74-
git config --global user.email "[email protected]"
75-
- name: Checkout benchmark results
76-
uses: actions/checkout@v4
77-
with:
78-
repository: kocsismate/php-version-benchmark-results
79-
ssh-key: ${{ secrets.PHP_VERSION_BENCHMARK_RESULTS_DEPLOY_KEY }}
80-
path: 'php-version-benchmarks/docs/results'
8193
- name: Run benchmark
8294
run: ./php-version-benchmarks/benchmark.sh run aws
8395
- name: Store results
@@ -92,7 +104,7 @@ jobs:
92104
fi
93105
git add .
94106
if git diff --cached --quiet; then
95-
exit 0
107+
exit 1
96108
fi
97109
git commit -m "Add result for ${{ github.repository }}@${{ github.sha }}"
98110
git push

0 commit comments

Comments
 (0)