| name: Coding Guidelines |
| |
| on: pull_request |
| |
| jobs: |
| compliance_job: |
| runs-on: ubuntu-22.04 |
| name: Run coding guidelines checks on patch series (PR) |
| steps: |
| - name: Checkout the code |
| uses: actions/checkout@v4 |
| with: |
| ref: ${{ github.event.pull_request.head.sha }} |
| fetch-depth: 0 |
| |
| - name: cache-pip |
| uses: actions/cache@v4 |
| with: |
| path: ~/.cache/pip |
| key: ${{ runner.os }}-pip-${{ hashFiles('.github/workflows/coding_guidelines.yml') }} |
| |
| - name: Install python dependencies |
| run: | |
| pip3 install unidiff |
| pip3 install wheel |
| pip3 install sh |
| |
| - name: Install Packages |
| run: | |
| sudo apt-get update |
| sudo apt-get install coccinelle |
| |
| - name: Run Coding Guildeines Checks |
| continue-on-error: true |
| id: coding_guidelines |
| env: |
| BASE_REF: ${{ github.base_ref }} |
| run: | |
| export ZEPHYR_BASE=$PWD |
| git config --global user.email "actions@zephyrproject.org" |
| git config --global user.name "Github Actions" |
| git remote -v |
| git rebase origin/${BASE_REF} |
| 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 |