@@ -8,28 +8,31 @@ name: Build and test
88# time we only run the full system tests on Ubuntu (although this can easily be
99# changed).
1010
11-
1211on :
1312 push :
1413 branches : ["main"]
1514 pull_request :
1615 merge_group :
16+ schedule :
17+ - cron : " 0 9 15 * *"
1718 workflow_dispatch :
1819
19-
2020concurrency :
2121 # Skip intermediate builds: always.
2222 # Cancel intermediate builds: always.
2323 group : ${{ github.workflow }}-${{ github.ref }}
2424 cancel-in-progress : true
2525
26-
2726jobs :
2827 linting :
2928 name : Linting checks with pre-commit
3029 runs-on : ubuntu-latest
3130 steps :
32- - uses : ucl/composite-actions/pre-commit@v1
31+ - uses : actions/checkout@v4
32+ - uses : actions/setup-python@v4
33+ - name : Check clang-format version
34+ run : clang-format --version
35+ - uses : pre-commit/action@v3.0.1
3336
3437 build :
3538 name : ${{ matrix.build_type }} build on ${{ matrix.os }} with build testing ${{ matrix.build_testing }}
3841 strategy :
3942 fail-fast : false
4043 matrix :
41- os : [ubuntu-latest, ubuntu-20.04, windows-latest, macos-latest]
44+ os : [ubuntu-latest, windows-latest, macos-latest]
4245 build_type : [Debug, Release]
4346 build_testing : [ON, OFF]
4447 exclude :
@@ -49,15 +52,15 @@ jobs:
4952
5053 steps :
5154 - name : Check out repository
52- uses : actions/checkout@v3
55+ uses : actions/checkout@v4
5356
5457 - name : Set up MATLAB
55- uses : matlab-actions/setup-matlab@v1.2.3
58+ uses : matlab-actions/setup-matlab@v2.5.0
5659
5760 - name : Setup Python
5861 uses : actions/setup-python@v4
5962 with :
60- python-version : ' 3.9'
63+ python-version : " 3.9"
6164
6265 # -------------------------------------------------------------------------------
6366 # Ubuntu
8992 # MacOS
9093 - name : Install dependencies for MacOS
9194 if : ${{ contains(matrix.os, 'macos') }}
92- run : brew install fftw hdf5
95+ run : brew install fftw hdf5 libomp
9396
9497 - name : Fix omp headers not linked on MacOS
9598 if : ${{ contains(matrix.os, 'macos') }}
@@ -148,7 +151,7 @@ jobs:
148151 # Unit tests
149152 - name : Produce MATLAB unit test data
150153 if : matrix.build_testing == 'ON'
151- uses : matlab-actions/run-command@v1
154+ uses : matlab-actions/run-command@v2
152155 with :
153156 command : cd('tdms/tests/unit/benchmark_scripts/'), setup_unit_tests
154157
@@ -175,8 +178,8 @@ jobs:
175178 lcov --capture --directory ${{ runner.workspace }}/build/CMakeFiles/tdms_tests.dir/src --output-file coverage.info
176179 lcov --remove coverage.info '/usr/*' --output-file coverage.info
177180 lcov --remove coverage.info '*/_deps/*' --output-file coverage.info
178- lcov --remove coverage.info '/Library/*' --output-file coverage.info
179- lcov --remove coverage.info '/Applications/*' --output-file coverage.info
181+ lcov --ignore-errors unused -- remove coverage.info '/Library/*' --output-file coverage.info
182+ lcov --ignore-errors unused -- remove coverage.info '/Applications/*' --output-file coverage.info
180183 lcov --list coverage.info
181184
182185 - name : Upload coverage reports to Codecov
@@ -196,7 +199,7 @@ jobs:
196199 if : matrix.build_testing == 'OFF' && matrix.build_type == 'Debug'
197200 # If we use the build with testing ON, we'd also need to copy over (and
198201 # install) the libtdms.so so use the OFF build for simplicity.
199- uses : actions/upload-artifact@v3
202+ uses : actions/upload-artifact@v4
200203 with :
201204 name : tdms_build_${{ matrix.os }}
202205 path : ${{ runner.workspace }}/build/tdms_build.tar
@@ -218,7 +221,7 @@ jobs:
218221 uses : actions/checkout@v3
219222
220223 - name : Set up MATLAB
221- uses : matlab-actions/setup-matlab@v1.2.3
224+ uses : matlab-actions/setup-matlab@v2.5.0
222225
223226 - name : Install HDF5 libraries for Ubuntu
224227 if : ${{ contains(matrix.os, 'ubuntu') }}
@@ -232,7 +235,7 @@ jobs:
232235 python3 -m pip install -r ${GITHUB_WORKSPACE}/tdms/tests/requirements.txt
233236
234237 - name : Download build result
235- uses : actions/download-artifact@v3
238+ uses : actions/download-artifact@v4
236239 with :
237240 name : tdms_build_${{ matrix.os }}
238241 path : ${{ runner.workspace }}
@@ -244,7 +247,7 @@ jobs:
244247
245248 - name : Setup cache of test data
246249 id : cache-test-data
247- uses : actions/cache@v3
250+ uses : actions/cache@v4
248251 with :
249252 path : ${{ github.workspace }}/tdms/tests/system/data
250253 key : test_data
0 commit comments