Skip to content

Commit ae8a25c

Browse files
committed
chore(ci): fix benchmark target url & sha
1 parent 7e320d7 commit ae8a25c

File tree

4 files changed

+139
-30
lines changed

4 files changed

+139
-30
lines changed
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: "Create Check Status"
2+
description: "Create check status on github commit"
3+
inputs:
4+
github_token:
5+
description: "Github Token"
6+
required: true
7+
sha:
8+
description: "commit sha"
9+
required: true
10+
name:
11+
description: "check name"
12+
required: true
13+
status:
14+
description: "check status, Default: queued, Can be one of: queued, in_progress, completed"
15+
required: true
16+
conclusion:
17+
description: "check conclusion, Can be one of: action_required, cancelled, failure, neutral, success, skipped, stale, timed_out"
18+
required: false
19+
title:
20+
description: "check title"
21+
required: true
22+
summary:
23+
description: "check summary"
24+
required: true
25+
26+
runs:
27+
using: "composite"
28+
steps:
29+
# Docs: https://docs.github.com/en/rest/checks/runs#create-a-check-run
30+
# Rest: https://octokit.github.io/rest.js/v18#checks-create
31+
- name: Create a check run
32+
uses: actions/github-script@v6
33+
env:
34+
param_sha: ${{ inputs.sha }}
35+
param_name: ${{ inputs.name }}
36+
param_status: ${{ inputs.status }}
37+
param_conclusion: ${{ inputs.conclusion }}
38+
param_title: ${{ inputs.title }}
39+
param_summary: ${{ inputs.summary }}
40+
param_url: https://github.com/datafuselabs/databend/actions/runs/${{ github.run_id }}
41+
with:
42+
github-token: ${{ inputs.github_token }}
43+
script: |
44+
let data = {
45+
owner: context.repo.owner,
46+
repo: context.repo.repo,
47+
head_sha: process.env.param_sha,
48+
name: process.env.param_name,
49+
status: process.env.param_status,
50+
details_url: process.env.param_url,
51+
output: {
52+
title: process.env.param_title,
53+
summary: process.env.param_summart,
54+
},
55+
};
56+
if (process.env.param_status === 'completed'') {
57+
data.conclusion = process.env.param_conclusion;
58+
}
59+
await github.rest.checks.create(data);

.github/workflows/benchmark.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ jobs:
4141
- name: Generate benchmark metadata
4242
run: |
4343
echo '{}' > metadata.json
44-
jq ".sha = \"${{ github.sha }}\"" <metadata.json >metadata.json.tmp && mv metadata.json.tmp metadata.json
44+
jq ".sha = \"${{ github.event.pull_request.head.sha }}\"" <metadata.json >metadata.json.tmp && mv metadata.json.tmp metadata.json
4545
jq ".run_id = \"${{ github.run_id }}\"" <metadata.json >metadata.json.tmp && mv metadata.json.tmp metadata.json
4646
jq ".pr_id = \"${{ github.event.pull_request.number }}\"" <metadata.json >metadata.json.tmp && mv metadata.json.tmp metadata.json
4747
- name: Upload artifact

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ on:
1717
permissions:
1818
id-token: write
1919
pull-requests: write
20-
statuses: write
20+
checks: write
2121
contents: write
2222

2323
jobs:

.github/workflows/trusted-benchmark.yml

Lines changed: 78 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ on:
1515
permissions:
1616
id-token: write
1717
pull-requests: write
18-
statuses: write
18+
checks: write
1919
contents: read
2020

2121
env:
@@ -57,6 +57,55 @@ jobs:
5757
exit 1
5858
;;
5959
esac
60+
- uses: ./.github/actions/create_check_status
61+
with:
62+
github_token: ${{ secrets.GITHUB_TOKEN }}
63+
sha: ${{ steps.metadata.outputs.sha }}
64+
name: 'Benchmark Local / hits'
65+
status: queued
66+
title: "Benchmark Local for hits"
67+
summary: "status: **queued**"
68+
- uses: ./.github/actions/create_check_status
69+
with:
70+
github_token: ${{ secrets.GITHUB_TOKEN }}
71+
sha: ${{ steps.metadata.outputs.sha }}
72+
name: 'Benchmark Local / tpch'
73+
status: queued
74+
title: "Benchmark Local for tpch"
75+
summary: "status: **queued**"
76+
- uses: ./.github/actions/create_check_status
77+
with:
78+
github_token: ${{ secrets.GITHUB_TOKEN }}
79+
sha: ${{ steps.metadata.outputs.sha }}
80+
name: 'Benchmark Cloud / hits(Medium)'
81+
status: queued
82+
title: "Benchmark Cloud for hits with Medium warehouse"
83+
summary: "status: **queued**"
84+
- uses: ./.github/actions/create_check_status
85+
with:
86+
github_token: ${{ secrets.GITHUB_TOKEN }}
87+
sha: ${{ steps.metadata.outputs.sha }}
88+
name: 'Benchmark Cloud / tpch(Medium)'
89+
status: queued
90+
title: "Benchmark Cloud for tpch with Medium warehouse"
91+
summary: "status: **queued**"
92+
- uses: ./.github/actions/create_check_status
93+
with:
94+
github_token: ${{ secrets.GITHUB_TOKEN }}
95+
sha: ${{ steps.metadata.outputs.sha }}
96+
name: 'Benchmark Cloud / hits(Large)'
97+
status: queued
98+
title: "Benchmark Cloud for hits with Large warehouse"
99+
summary: "status: **queued**"
100+
- uses: ./.github/actions/create_check_status
101+
with:
102+
github_token: ${{ secrets.GITHUB_TOKEN }}
103+
sha: ${{ steps.metadata.outputs.sha }}
104+
name: 'Benchmark Cloud / tpch(Large)'
105+
status: queued
106+
title: "Benchmark Cloud for tpch with Large warehouse"
107+
summary: "status: **queued**"
108+
60109

61110
local:
62111
needs: metadata
@@ -97,31 +146,32 @@ jobs:
97146
databend-query --version
98147
databend-meta --version
99148
- name: Set github check status to pending
100-
uses: Sibz/github-status-action@v1
149+
uses: ./.github/actions/create_check_status
101150
with:
102-
authToken: ${{ secrets.GITHUB_TOKEN }}
103-
context: 'Benchmark Local / ${{ matrix.dataset }}'
104-
description: 'Running'
105-
state: 'pending'
151+
github_token: ${{ secrets.GITHUB_TOKEN }}
106152
sha: ${{ needs.metadata.outputs.sha }}
107-
target_url: https://github.com/datafuselabs/databend/actions/runs/${{ github.run_id }}/jobs/${{ github.job_id }}
153+
name: 'Benchmark Local / ${{ matrix.dataset }}'
154+
status: in_progress
155+
title: "Benchmark Local for ${{ matrix.dataset }}"
156+
summary: "status: **running**"
108157
- uses: ./.github/actions/benchmark_local
158+
id: benchmark
109159
with:
110160
sha: ${{ needs.metadata.outputs.sha }}
111161
run_id: ${{ needs.metadata.outputs.run_id }}
112162
dataset: ${{ matrix.dataset }}
113163
source: ${{ needs.metadata.outputs.source }}
114164
source_id: ${{ needs.metadata.outputs.source_id }}
115165
- name: Set github check status to completed
116-
if: always()
117-
uses: Sibz/github-status-action@v1
166+
uses: ./.github/actions/create_check_status
118167
with:
119-
authToken: ${{ secrets.GITHUB_TOKEN }}
120-
context: 'Benchmark Local / ${{ matrix.dataset }}'
121-
description: 'Completed'
122-
state: ${{ job.status }}
168+
github_token: ${{ secrets.GITHUB_TOKEN }}
123169
sha: ${{ needs.metadata.outputs.sha }}
124-
target_url: https://github.com/datafuselabs/databend/actions/runs/${{ github.run_id }}/jobs/${{ github.job_id }}
170+
name: 'Benchmark Local / ${{ matrix.dataset }}'
171+
status: completed
172+
conclusion: ${{ job.status }}
173+
title: "Benchmark Local for ${{ matrix.dataset }}"
174+
summary: "status: **${{ job.status }}**"
125175

126176
docker:
127177
needs: metadata
@@ -193,14 +243,14 @@ jobs:
193243
- uses: actions/checkout@v3
194244
- uses: ./.github/actions/setup_bendsql
195245
- name: Set github check status to pending
196-
uses: Sibz/github-status-action@v1
246+
uses: ./.github/actions/create_check_status
197247
with:
198-
authToken: ${{ secrets.GITHUB_TOKEN }}
199-
context: 'Benchmark Cloud / ${{ matrix.dataset }}(${{ matrix.size }})'
200-
description: 'Running'
201-
state: 'pending'
248+
github_token: ${{ secrets.GITHUB_TOKEN }}
202249
sha: ${{ needs.metadata.outputs.sha }}
203-
target_url: https://github.com/datafuselabs/databend/actions/runs/${{ github.run_id }}/jobs/${{ github.job_id }}
250+
name: 'Benchmark Cloud / ${{ matrix.dataset }}(${{ matrix.size }})'
251+
status: in_progress
252+
title: "Benchmark Cloud for ${{ matrix.dataset }} with ${{ matrix.size }} warehouse"
253+
summary: "status: **running**"
204254
- uses: ./.github/actions/benchmark_cloud
205255
id: benchmark
206256
with:
@@ -215,16 +265,16 @@ jobs:
215265
cloud_password: ${{ secrets.BENCHMARK_CLOUD_PASSWORD }}
216266
cloud_org: ${{ secrets.BENCHMARK_CLOUD_ORG }}
217267
cloud_endpoint: ${{ secrets.BENCHMARK_CLOUD_ENDPOINT }}
218-
- name: Set github check status to completed
219-
if: always()
220-
uses: Sibz/github-status-action@v1
268+
- name: Set github check status to pending
269+
uses: ./.github/actions/create_check_status
221270
with:
222-
authToken: ${{ secrets.GITHUB_TOKEN }}
223-
context: 'Benchmark Cloud / ${{ matrix.dataset }}(${{ matrix.size }})'
224-
description: 'Completed'
225-
state: ${{ job.status }}
271+
github_token: ${{ secrets.GITHUB_TOKEN }}
226272
sha: ${{ needs.metadata.outputs.sha }}
227-
target_url: https://github.com/datafuselabs/databend/actions/runs/${{ github.run_id }}/jobs/${{ github.job_id }}
273+
name: 'Benchmark Cloud / ${{ matrix.dataset }}(${{ matrix.size }})'
274+
status: completed
275+
conclusion: ${{ job.status }}
276+
title: "Benchmark Cloud for ${{ matrix.dataset }} with ${{ matrix.size }} warehouse"
277+
summary: "status: **running**"
228278

229279
comment_on_pr:
230280
runs-on: [self-hosted, X64, Linux, dev]

0 commit comments

Comments
 (0)