ci: add coding guideline workflow
Use coccinelle rules to detect coding guideline violations on submitted code. Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This commit is contained in:
parent
184b786fe2
commit
6eb5063ddc
1 changed files with 59 additions and 0 deletions
59
.github/workflows/coding_guidelines.yml
vendored
Normal file
59
.github/workflows/coding_guidelines.yml
vendored
Normal file
|
@ -0,0 +1,59 @@
|
|||
name: Coding Guidelines
|
||||
|
||||
on: pull_request
|
||||
|
||||
jobs:
|
||||
compliance_job:
|
||||
runs-on: ubuntu-latest
|
||||
name: Run coding guidelines checks on patch series (PR)
|
||||
steps:
|
||||
- name: Checkout the code
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
fetch-depth: 0
|
||||
|
||||
- name: cache-pip
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ~/.cache/pip
|
||||
key: ${{ runner.os }}-doc-pip
|
||||
|
||||
- name: Install python dependencies
|
||||
run: |
|
||||
pip3 install unidiff
|
||||
pip3 install wheel
|
||||
pip3 install sh
|
||||
|
||||
- name: Install Packages
|
||||
run: |
|
||||
sudo apt-get install ocaml-base-nox
|
||||
wget https://launchpad.net/~npalix/+archive/ubuntu/coccinelle/+files/coccinelle_1.0.8~20.04npalix1_amd64.deb
|
||||
sudo dpkg -i coccinelle_1.0.8~20.04npalix1_amd64.deb
|
||||
|
||||
- name: Run Coding Guildeines Checks
|
||||
continue-on-error: true
|
||||
id: coding_guidelines
|
||||
env:
|
||||
BASE_REF: ${{ github.base_ref }}
|
||||
run: |
|
||||
export ZEPHYR_BASE=$PWD
|
||||
source zephyr-env.sh
|
||||
# debug
|
||||
ls -la
|
||||
git log --pretty=oneline | head -n 10
|
||||
./scripts/ci/guideline_check.py --output output.txt -c origin/${BASE_REF}..
|
||||
|
||||
- name: check-warns
|
||||
run: |
|
||||
if [[ -s "output.txt" ]]; then
|
||||
errors=$(cat output.txt)
|
||||
errors="${errors//'%'/'%25'}"
|
||||
errors="${errors//$'\n'/'%0A'}"
|
||||
errors="${errors//$'\r'/'%0D'}"
|
||||
echo "::error file=output.txt::$errors"
|
||||
exit=1
|
||||
fi
|
||||
if [ ${exit} == 1 ]; then
|
||||
exit 1;
|
||||
fi
|
Loading…
Add table
Add a link
Reference in a new issue