@@ -10,133 +10,104 @@ jobs:
10
10
tests :
11
11
runs-on : ubuntu-latest
12
12
steps :
13
- - name : Checkout code
14
- uses : actions/checkout@v3
13
+ - name : Checkout code
14
+ uses : actions/checkout@v3
15
15
16
- - name : Cache build
17
- uses : actions/cache@v3
18
- with :
19
- path : core/build-tests
20
- key : ${{ runner.os }}-build-tests-${{ hashFiles('**/CMakeLists.txt', '**/examples/google_benchmark/** ') }}
16
+ - name : Cache build
17
+ uses : actions/cache@v3
18
+ with :
19
+ path : core/build-tests
20
+ key : ${{ runner.os }}-build-tests-${{ hashFiles('**/CMakeLists.txt') }}
21
21
22
- - name : Create build directory
23
- run : mkdir -p core/build-tests
22
+ - name : Create build directory
23
+ run : mkdir -p core/build-tests
24
24
25
- - name : Build tests
26
- run : |
27
- cd core/build-tests
28
- cmake .. -DENABLE_TESTS=ON
29
- make -j
30
-
31
- - name : Run tests
32
- run : |
33
- cd core/build-tests
34
- GTEST_OUTPUT=json:test-results/ ctest
35
-
36
- - name : Upload test results
37
- uses : actions/upload-artifact@v4
38
- if : failure()
39
- with :
40
- name : test_results
41
- path : ${{runner.workspace}}/core/build-tests/test/test-results/**/*.json
25
+ - name : Build tests
26
+ run : |
27
+ cd core/build-tests
28
+ cmake .. -DENABLE_TESTS=ON
29
+ make -j
30
+
31
+ - name : Run tests
32
+ run : |
33
+ cd core/build-tests
34
+ GTEST_OUTPUT=json:test-results/ ctest
35
+
36
+ - name : Upload test results
37
+ uses : actions/upload-artifact@v4
38
+ if : failure()
39
+ with :
40
+ name : test_results
41
+ path : ${{runner.workspace}}/core/build-tests/test/test-results/**/*.json
42
42
43
43
cmake-integration-tests :
44
44
strategy :
45
45
matrix :
46
- codspeed-mode :
47
- - " instrumentation"
48
- - " off"
49
- runs-on : ubuntu-latest
50
-
46
+ include :
47
+ - codspeed-mode : " instrumentation"
48
+ runner : " ubuntu-latest"
49
+ - codspeed-mode : " walltime"
50
+ runner : " codspeed-macro"
51
+ - codspeed-mode : " off"
52
+ runner : " ubuntu-latest"
53
+ runs-on : ${{ matrix.runner }}
51
54
steps :
52
- - name : Checkout code
53
- uses : actions/checkout@v3
55
+ - name : Checkout code
56
+ uses : actions/checkout@v3
54
57
55
- - name : Cache build
56
- uses : actions/cache@v3
57
- with :
58
- path : examples/google_benchmark_cmake/build
59
- key : ${{ runner.os }}-build-${{ matrix.codspeed-mode }}-${{ hashFiles('**/CMakeLists.txt', '**/examples/google_benchmark_cmake/**') }}
58
+ - name : Cache build
59
+ uses : actions/cache@v3
60
+ with :
61
+ path : examples/google_benchmark_cmake/build
62
+ key : ${{ runner.os }}-build-${{ matrix.codspeed-mode }}-${{ hashFiles('**/CMakeLists.txt', '**/examples/google_benchmark_cmake/**') }}
60
63
61
- - name : Build and run benchmarks
62
- run : |
63
- bazel run //examples/google_benchmark:my_benchmark
64
-
65
- instrumentation :
66
- runs-on : ubuntu-latest
67
-
68
- steps :
69
- - name : Checkout code
70
- uses : actions/checkout@v3
71
-
72
- - name : Cache build
73
- uses : actions/cache@v3
74
- with :
75
- path : examples/google_benchmark/build-instrumentation
76
- key : ${{ runner.os }}-build-instrumentation-${{ hashFiles('**/CMakeLists.txt', '**/examples/google_benchmark/**') }}
77
-
78
- - name : Create build directory
79
- run : mkdir -p examples/google_benchmark/build-instrumentation
80
-
81
- - name : Build instrumentation benchmark example
82
- run : |
83
- cd examples/google_benchmark/build-instrumentation
84
- cmake -DCODSPEED_MODE=instrumentation ..
85
- make -j
86
-
87
- - name : Run the benchmarks
88
- uses : CodSpeedHQ/action@main
89
- with :
90
- run : examples/google_benchmark/build-instrumentation/benchmark_example
91
- token : ${{ secrets.CODSPEED_TOKEN }}
92
-
93
- walltime :
94
- runs-on : codspeed-macro
95
-
96
- steps :
97
- - name : Checkout code
98
- uses : actions/checkout@v3
99
-
100
- - name : Cache build
101
- uses : actions/cache@v3
102
- with :
103
- path : examples/google_benchmark/build-walltime
104
- key : ${{ runner.os }}-build-walltime-${{ hashFiles('**/CMakeLists.txt', '**/examples/google_benchmark/**') }}
105
-
106
- - name : Create build directory
107
- run : mkdir -p examples/google_benchmark/build-walltime
108
-
109
- - name : Build walltime benchmark example
110
- run : |
111
- cd examples/google_benchmark/build-walltime
112
- cmake -DCODSPEED_MODE=walltime ..
113
- make -j
114
-
115
- - name : Run the benchmarks
116
- uses : CodSpeedHQ/action@main
117
- with :
118
- run : examples/google_benchmark/build-walltime/benchmark_example
119
- token : ${{ secrets.CODSPEED_TOKEN }}
120
-
121
-
122
- build-no-codspeed :
123
- runs-on : ubuntu-latest
64
+ - name : Create build directory
65
+ run : mkdir -p examples/google_benchmark_cmake/build
124
66
67
+ - name : Build benchmark example
68
+ run : |
69
+ cd examples/google_benchmark_cmake/build
70
+ cmake -DCODSPEED_MODE=${{ matrix.codspeed-mode }} ..
71
+ make -j
72
+
73
+ - name : Run the benchmarks
74
+ uses : CodSpeedHQ/action@main
75
+ if : matrix.codspeed-mode != 'off'
76
+ with :
77
+ run : examples/google_benchmark_cmake/build/benchmark_example
78
+ token : ${{ secrets.CODSPEED_TOKEN }}
79
+
80
+ bazel-integration-tests :
81
+ strategy :
82
+ matrix :
83
+ include :
84
+ - codspeed-mode : " instrumentation"
85
+ runner : " ubuntu-latest"
86
+ - codspeed-mode : " walltime"
87
+ runner : " codspeed-macro"
88
+ - codspeed-mode : " off"
89
+ runner : " ubuntu-latest"
90
+ runs-on : ${{ matrix.runner }}
125
91
steps :
126
- - name : Checkout code
127
- uses : actions/checkout@v3
128
-
129
- - name : Cache build
130
- uses : actions/cache@v3
131
- with :
132
- path : examples/google_benchmark/build-no-codspeed
133
- key : ${{ runner.os }}-build-no-codspeed-${{ hashFiles('**/CMakeLists.txt', '**/examples/google_benchmark/**') }}
92
+ - uses : actions/checkout@v4
93
+
94
+ - name : Set up Bazel
95
+ uses : bazel-contrib/setup-bazel@0.14.0
96
+ with :
97
+ # Avoid downloading Bazel every time.
98
+ bazelisk-cache : true
99
+ # Store build cache per workflow.
100
+ disk-cache : ${{ github.workflow }}
101
+ # Share repository cache between workflows.
102
+ repository-cache : true
134
103
135
- - name : Create build directory
136
- run : mkdir -p examples/google_benchmark/build-no-codspeed
137
-
138
- - name : Build benchmark example without codspeed
139
- run : |
140
- cd examples/google_benchmark/build-no-codspeed
141
- cmake ..
142
- make -j
104
+ - name : Build and run benchmarks
105
+ run : |
106
+ bazel build //examples/google_benchmark_bazel:my_benchmark --//core:codspeed_mode=${{ matrix.codspeed-mode }} --compilation_mode=dbg --copt=-O2
107
+
108
+ - name : Run the benchmarks
109
+ uses : CodSpeedHQ/action@main
110
+ if : matrix.codspeed-mode != 'off'
111
+ with :
112
+ run : bazel run //examples/google_benchmark_bazel:my_benchmark --//core:codspeed_mode=${{ matrix.codspeed-mode }} --compilation_mode=dbg --copt=-O2
113
+ token : ${{ secrets.CODSPEED_TOKEN }}
0 commit comments