5
5
branches :
6
6
- master
7
7
pull_request :
8
- paths :
9
- - ' libs/core/**'
10
- - ' libs/partners/**'
11
-
12
8
workflow_dispatch :
13
9
14
10
env :
20
16
FIREWORKS_API_KEY : foo
21
17
22
18
jobs :
23
- prepare_matrix :
24
- runs-on : ubuntu-latest
25
- steps :
26
- - uses : actions/checkout@v4
27
- - name : Install uv
28
- uses : astral-sh/setup-uv@v6
29
- with :
30
- python-version : " 3.12"
31
- - id : files
32
-
33
- - id : set-matrix
34
- run : |
35
- uv venv
36
- uv pip install packaging requests
37
- uv run .github/scripts/check_diff.py ${{ steps.files.outputs.all }} >> $GITHUB_OUTPUT
38
- outputs :
39
- codspeed : ${{ steps.set-matrix.outputs.codspeed }}
40
19
codspeed :
41
20
name : Run benchmarks
42
- needs : [ prepare_matrix ]
43
- if : ${{ needs.prepare_matrix.outputs.codspeed != '[]' }}
44
21
runs-on : ubuntu-latest
45
22
strategy :
46
23
matrix :
47
- job-configs : ${{ fromJson(needs.prepare_matrix.outputs.codspeed) }}
24
+ include :
25
+ - working-directory : libs/core
26
+ mode : walltime
27
+ - working-directory : libs/partners/openai
28
+ - working-directory : libs/partners/anthropic
29
+ - working-directory : libs/partners/deepseek
30
+ - working-directory : libs/partners/fireworks
31
+ - working-directory : libs/partners/xai
32
+ - working-directory : libs/partners/mistralai
33
+ - working-directory : libs/partners/groq
48
34
fail-fast : false
49
35
50
36
steps :
@@ -54,26 +40,26 @@ jobs:
54
40
- name : Install uv
55
41
uses : astral-sh/setup-uv@v6
56
42
with :
57
- python-version : ${{ matrix.job-configs.python-version }}
43
+ python-version : " 3.12 "
58
44
59
45
- uses : actions/setup-python@v5
60
46
with :
61
- python-version : ${{ matrix.job-configs.python-version }}
47
+ python-version : " 3.12 "
62
48
63
49
- name : Install dependencies
64
50
run : uv sync --group test
65
- working-directory : ${{ matrix.job-configs. working-directory }}
51
+ working-directory : ${{ matrix.working-directory }}
66
52
67
- - name : Run benchmarks ${{ matrix.job-configs. working-directory }}
53
+ - name : Run benchmarks ${{ matrix.working-directory }}
68
54
uses : CodSpeedHQ/action@v3
69
55
with :
70
56
token : ${{ secrets.CODSPEED_TOKEN }}
71
57
run : |
72
- cd ${{ matrix.job-configs. working-directory }}
73
- if [ "${{ matrix.job-configs. working-directory }}" = "libs/core" ]; then
58
+ cd ${{ matrix.working-directory }}
59
+ if [ "${{ matrix.working-directory }}" = "libs/core" ]; then
74
60
uv run --no-sync pytest ./tests/benchmarks --codspeed
75
61
else
76
62
uv run --no-sync pytest ./tests/ --codspeed
77
63
fi
78
- mode : ${{ matrix.job-configs.working-directory == 'libs/core' && 'walltime' || 'instrumentation' }}
64
+ mode : ${{ matrix.mode || 'instrumentation' }}
79
65
0 commit comments