mirror of
https://github.com/OpenAMP/open-amp.git
synced 2025-12-11 17:26:22 +08:00
The CI does not consider "check" reported by checkpatch. This commit fixes it by: - rebasing check_compliance.py compliance.yml to integrate Zephyr updates, - add detection of the "check" in the report. Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
71 lines
1.8 KiB
YAML
71 lines
1.8 KiB
YAML
# SPDX-License-Identifier: BSD-3-Clause
|
|
# Copyright (c) 2020 STMicroelectronics
|
|
|
|
name: open-amp lib compliance checks
|
|
|
|
on:
|
|
pull_request:
|
|
branches: [ main ]
|
|
paths-ignore:
|
|
- docs/**
|
|
- cmake/**
|
|
- scripts/**
|
|
|
|
jobs:
|
|
checkpatch_review:
|
|
name: checkpatch review
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout the code
|
|
uses: actions/checkout@v3
|
|
with:
|
|
ref: ${{ github.event.pull_request.head.sha }}
|
|
fetch-depth: 0
|
|
- name: Install python dependencies
|
|
run: |
|
|
pip3 install setuptools
|
|
pip3 install python-magic junitparser gitlint codespell lxml
|
|
- name: Run Compliance Tests
|
|
continue-on-error: true
|
|
id: compliance
|
|
env:
|
|
BASE_REF: ${{ github.base_ref }}
|
|
run: |
|
|
export PATH=$PATH:~/.local/bin
|
|
export PROJECT_BASE=$PWD
|
|
git config --global user.email "you@example.com"
|
|
git config --global user.name "Your Name"
|
|
git rebase origin/${BASE_REF}
|
|
git log --pretty=oneline | head -n 10
|
|
./scripts/ci/check_compliance.py --annotate -c origin/${BASE_REF}..
|
|
|
|
- name: upload-results
|
|
uses: actions/upload-artifact@main
|
|
continue-on-error: True
|
|
with:
|
|
name: compliance.xml
|
|
path: compliance.xml
|
|
|
|
- name: check-warns
|
|
run: |
|
|
if [[ ! -s "compliance.xml" ]]; then
|
|
exit 1;
|
|
fi
|
|
|
|
files=($(./scripts/ci/check_compliance.py -l))
|
|
for file in "${files[@]}"; do
|
|
f="${file}.txt"
|
|
if [[ -s $f ]]; then
|
|
errors=$(cat $f)
|
|
errors="${errors//'%'/'%25'}"
|
|
errors="${errors//$'\n'/'%0A'}"
|
|
errors="${errors//$'\r'/'%0D'}"
|
|
echo "::error file=${f}::$errors"
|
|
exit=1
|
|
fi
|
|
done
|
|
|
|
if [ "${exit}" == "1" ]; then
|
|
exit 1;
|
|
fi
|