Skip to content

Implement CMakePresets file #1070

Implement CMakePresets file

Implement CMakePresets file #1070

Workflow file for this run

name: "P4CP lint checks"
on:
push:
branches:
- main
- ipdk_v*
- mev-ts*
pull_request:
branches:
- main
- ipdk_v*
- mev-ts*
concurrency:
# If workflow is currently running, stop it and start a new one.
group: lint-${{ github.ref }}
cancel-in-progress: true
permissions: read-all
jobs:
#---------------------------------------------------------------------
# 1-markdownlint
#---------------------------------------------------------------------
markdownlint:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Clone networking-recipe
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get changed markdown files
id: changed
uses: tj-actions/changed-files@v45
with:
files: |
**.md
- name: Lint markdown files
if: steps.changed.outputs.any_changed == 'true'
uses: nosborn/[email protected]
with:
files: ${{ steps.changed.outputs.all_changed_files }}
config_file: .markdownlint.json
#---------------------------------------------------------------------
# 2-rstdoc8
#---------------------------------------------------------------------
rstdoc8:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Clone networking-recipe
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install linter
run: |
pip3 install doc8
- name: Get changed restructured text files
id: changed
uses: tj-actions/changed-files@v45
with:
files: |
**.rst
- name: Lint restructured text files
if: steps.changed.outputs.any_changed == 'true'
run: |
doc8 --ignore D001 ${{ steps.changed.outputs.all_changed_files }}
#---------------------------------------------------------------------
# 3-rstcheck
#---------------------------------------------------------------------
rstcheck:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Clone networking-recipe
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install linter
run: |
pip3 install rstcheck
- name: Get changed restructured text files
id: changed
uses: tj-actions/changed-files@v45
with:
files: |
**.rst
- name: Check restructured text files
if: steps.changed.outputs.any_changed == 'true'
run: |
rstcheck ${{ steps.changed.outputs.all_changed_files }}
#---------------------------------------------------------------------
# 4-py_bandit_check
#---------------------------------------------------------------------
py_bandit_check:
timeout-minutes: 5
runs-on: ubuntu-latest
steps:
- name: Clone networking-recipe
uses: actions/checkout@v4
- name: Check Python files
uses: tj-actions/[email protected]
with:
targets: | # or a single string "."
**/**.py
clients/p4rt-ctl/p4rt-ctl.in
options: "-v"
#---------------------------------------------------------------------
# 5-clang_format_check
#---------------------------------------------------------------------
clang_format_check:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Check out repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get list of changed files
id: changed
uses: tj-actions/changed-files@v45
with:
files: |
**.c
**.cc
**.h
- name: Check for formatting errors
if: steps.changed.outputs.any_changed == 'true'
run: |
clang-format -n -Werror ${{ steps.changed.outputs.all_changed_files }}
#---------------------------------------------------------------------
# 6-shellcheck
#---------------------------------------------------------------------
shellcheck:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Check out repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get list of changed files
id: changed
uses: tj-actions/changed-files@v45
with:
files: |
**.sh
- name: Check for bash errors
if: steps.changed.outputs.any_changed == 'true'
run: |
shellcheck ${{ steps.changed.outputs.all_changed_files }}