ci: run PR benchmark jobs on cloud runners#2123
Conversation
7111987 to
1f551ae
Compare
coriolinus
left a comment
There was a problem hiding this comment.
I'm approving because farming out the PR's benchmark jobs to GH cloud machines will be a huge immediate DX win. But there are a few things that might be improved.
| default: true | ||
| runs_on: | ||
| description: JSON string or array to use for the benchmark runner | ||
| required: false |
There was a problem hiding this comment.
If you set required: true, then wouldn't it always use the default if the user doesn't manually set it? Then we could avoid the ${{ fromJSON(inputs.runs_on || '["self-hosted", "benchmark"]') }} syntax later one.
There was a problem hiding this comment.
The this weird syntax to handle manual invocations of the workflow, If we don't care about them we can remove it.
There was a problem hiding this comment.
Pushed a change to avoid this syntax, we repeat the runs-on a few times but it's less confusing now I think.
| benchmark: | ||
| name: Performance regression check | ||
| runs-on: [self-hosted, benchmark] | ||
| runs-on: ${{ fromJSON(inputs.runs_on || '["self-hosted", "benchmark"]') }} |
There was a problem hiding this comment.
I don't love this syntax; it took a minute to figure out. (In part because I'm not familiar with using an array in runs-on.)
docs say that using an array matches only machines for which all tags apply. Do our self-hosted runners have the benchmark tag?
There was a problem hiding this comment.
yes one our self host runners have the benchmark tag so that we always run it on the same machine
| default: true | ||
| runs_on: | ||
| description: JSON string or array to use for the benchmark runner | ||
| required: false |
There was a problem hiding this comment.
Same comments from the other file also apply here.
| default: true | ||
| runs_on: | ||
| description: JSON string or array to use for the benchmark runner | ||
| required: false |
There was a problem hiding this comment.
Same comments from the other file also apply here.
| @@ -57,7 +62,7 @@ permissions: | |||
| jobs: | |||
| benchmark: | |||
| name: Performance regression check | |||
There was a problem hiding this comment.
This name will appear also in the pipeline, right? I think that's confusing, and I wonder if we could rename this to something like "Check benchmarks" in the pipeline.
There was a problem hiding this comment.
That doesn't work because this workflow is flow is also used for the real benchmarks.
There was a problem hiding this comment.
I mean can rename them of course but it needs to work for benchmark.yml and pipeline.yml
There was a problem hiding this comment.
Is it possible to specify the name at the usage site, i.e. in pipeline.yml?
56ba743 to
abc037b
Compare
abc037b to
999ddd5
Compare
What's new in this PR
run PR benchmark jobs on cloud runners
PR Submission Checklist for internal contributors
SQPIT-764feat(conversation-list): Sort conversations by most emojis in the title #SQPIT-764.