-
-
Notifications
You must be signed in to change notification settings - Fork 16
98 lines (95 loc) · 3.89 KB
/
benchmark.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
name: JupyterLab Benchmark Tests
on:
workflow_dispatch:
inputs:
challenger:
description: "JupyterLab Git repository with the challenger version (format {owner}/{repo})"
required: true
challenger_branch:
description: "Git repository reference to the challenger branch"
required: true
challenger_project:
description: "Playwright project to execute (windowingMode JupyterLab 4; renderCellOnIdle: JupyterLab 2.3 or 3.x)"
required: false
default: "jupyterlab"
type: choice
options:
- jupyterlab
- jupyterlab-renderCellOnIdle-on
- jupyterlab-renderCellOnIdle-off
- jupyterlab-windowingMode-full
- jupyterlab-windowingMode-defer
- jupyterlab-windowingMode-none
- jupyterlab-1-2
- retrolab
- testing
reference_branch:
description: "Reference branch on the JupyterLab repository (default: master)"
required: false
default: "master"
reference_project:
description: "Playwright project to execute on the reference version"
required: false
default: ""
type: choice
options:
- jupyterlab
- jupyterlab-renderCellOnIdle-on
- jupyterlab-renderCellOnIdle-off
- jupyterlab-windowingMode-full
- jupyterlab-windowingMode-defer
- jupyterlab-windowingMode-none
- jupyterlab-1-2
- retrolab
- testing
browser:
description: "Which browser to use (default 'chromium')"
required: false
default: "chromium"
type: choice
options:
- chromium
- firefox
- webkit
samples:
description: "Number of samples to compute"
required: false
default: "100"
tests:
description: 'List of test notebooks to include (available ["codeNotebook", "mdNotebook", "largeMetadata", "largePlotly", "longOutput", "manyPlotly", "manyOutputs", "errorOutputs"])'
required: false
default: '["codeNotebook", "mdNotebook", "longOutput"]'
test_steps:
description: 'List of test steps for each notebook (available ["open", "switch-with-copy", "switch-with-txt", "search", "start-debug", "close"])'
required: false
default: '["open", "switch-with-copy", "switch-with-txt", "close"]'
size:
description: "Test files size (bigger means larger test files)"
required: false
default: "100"
permissions:
issues: write
jobs:
test:
# uses: jupyterlab/benchmarks/.github/workflows/run-benchmark.yml@master
uses: ./.github/workflows/run-benchmark.yml
with:
event: ${{ github.event_name }}
# Repository to clone for scheduled benchmark
challenger: ${{ github.event.inputs.challenger || 'jupyterlab/jupyterlab' }}
# Branch to checkout for scheduled benchmark
challenger_branch: ${{ github.event.inputs.challenger_branch || 'master' }}
challenger_project: ${{ github.event.inputs.challenger_project || 'jupyterlab' }}
reference_branch: ${{ github.event.inputs.reference_branch || 'master' }}
reference_project: ${{ github.event.inputs.reference_project || 'jupyterlab' }}
# Which browser to use (one of 'chromium', 'firefox', 'webkit')
browser: ${{ github.event.inputs.browser || 'chromium' }}
# How many samples to compute the statistical distribution
samples: ${{ github.event.inputs.samples || '100' }}
# Notebooks to test
tests: ${{ github.event.inputs.tests || '["codeNotebook", "mdNotebook", "longOutput"]' }}
# Test steps to measure on each test notebook
test_steps: ${{ github.event.inputs.test_steps || '["open", "switch-with-copy", "switch-with-txt", "close"]' }}
# The test notebook size
size: ${{ github.event.inputs.size || '100' }}
artifacts_name: 'benchmarks-report'