aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Braun <martin.braun@ettus.com>2024-04-09 15:44:49 +0200
committerjoergho <48011876+joergho@users.noreply.github.com>2024-05-15 11:39:15 +0200
commit9c3196e7bc21ff2d07ae69eb1da7c2db1f417022 (patch)
tree55ffc6fb4a2569c7ba04c33bf90bf9dab593379e
parentci: add probe to streaming tests (diff)
downloaduhd-9c3196e7bc21ff2d07ae69eb1da7c2db1f417022.tar.xz
uhd-9c3196e7bc21ff2d07ae69eb1da7c2db1f417022.zip
ci: Add clang-format to changeset analyzer
When a changeset includes a .cpp or .hpp file, the repo is checked for clang-format correctness in a CI run.
-rw-r--r--.ci/templates/job-analyze-changeset.yml33
-rw-r--r--tools/changeset_testlist.yaml7
2 files changed, 38 insertions, 2 deletions
diff --git a/.ci/templates/job-analyze-changeset.yml b/.ci/templates/job-analyze-changeset.yml
index 79033fcfd..e6d496301 100644
--- a/.ci/templates/job-analyze-changeset.yml
+++ b/.ci/templates/job-analyze-changeset.yml
@@ -7,6 +7,9 @@ parameters:
- name: skip_analyze_changeset
type: boolean
default: false
+- name: target_branch
+ type: string
+ default: "origin/master"
jobs:
- job: analyze
@@ -26,8 +29,34 @@ jobs:
fi
python3 -m venv $AGENT_TEMPDIRECTORY/ac_venv
$AGENT_TEMPDIRECTORY/ac_venv/$VENV_BIN_DIR/pip install --upgrade pip
- $AGENT_TEMPDIRECTORY/ac_venv/$VENV_BIN_DIR/pip install ruamel.yaml
+ $AGENT_TEMPDIRECTORY/ac_venv/$VENV_BIN_DIR/pip install ruamel.yaml clang-format==14.0.6 ni-python-styleguide
git branch
- $AGENT_TEMPDIRECTORY/ac_venv/$VENV_BIN_DIR/python3 tools/changeset_testlist.py --target-branch origin/master --set-azdo-var UhdTestList --list-tests
+ set -o xtrace
+ $AGENT_TEMPDIRECTORY/ac_venv/$VENV_BIN_DIR/python3 tools/changeset_testlist.py \
+ --target-branch $TARGET_BRANCH \
+ --set-azdo-var UhdTestList \
+ --list-tests
name: gen_testlist
displayName: Generate Test-List
+ env:
+ TARGET_BRANCH: ${{ parameters.target_branch }}
+ - bash: |
+ if [[ $AGENT_OS == "Windows_NT" ]]; then
+ VENV_BIN_DIR="Scripts"
+ else
+ VENV_BIN_DIR="bin"
+ fi
+ source $AGENT_TEMPDIRECTORY/ac_venv/$VENV_BIN_DIR/activate
+ if [[ $GEN_TESTLIST_UHDTESTLIST =~ "clang-format" ]]; then
+ $AGENT_TEMPDIRECTORY/ac_venv/$VENV_BIN_DIR/python3 \
+ tools/run-clang-format.py . -r --patch-file clang-format.patch \
+ --clang-format-executable `which clang-format`
+ fi
+ name: run_clang_format
+ displayName: Conditionally run clang-format
+
+ - publish: clang-format.patch
+ artifact: clang-format patch file
+ displayName: Publish clang-format patch file
+ condition: failed()
+
diff --git a/tools/changeset_testlist.yaml b/tools/changeset_testlist.yaml
index ece93cf91..c9fe94879 100644
--- a/tools/changeset_testlist.yaml
+++ b/tools/changeset_testlist.yaml
@@ -5,6 +5,13 @@
# - hw.rf.$DEVICE: Run RF tests for $DEVICE.
# - devtest.$DEVICE: Run devtests for $DEVICE.
+###############################################################################
+# STYLE / FORMATTING CHANGES
+###############################################################################
+- re: \.[ch]pp$
+ add:
+ - clang-format
+ stop: False
###############################################################################
# HOST CHANGES (UHD)