Skip to content

Added more linters (cmakelint & prettier) (#341) #363

Added more linters (cmakelint & prettier) (#341)

Added more linters (cmakelint & prettier) (#341) #363

Workflow file for this run

---
name: Lint
on:
pull_request:
push:
jobs:
astyle:
name: Lint with `Artistic Style`
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Provision environment
uses: ./.github/actions/dependencies/install/apt-get
with:
packages: astyle
- name: Check if any modifications were made by `astyle`
env:
ASTYLE_CMD: >-
astyle
--break-blocks
--indent-switches
--indent=force-tab=8
--lineend=linux
--options=none
--pad-header
--pad-oper
--style=1tbs
--suffix=none
--unpad-paren
includes/*.h includes/*.hpp src/*.c src/*.cpp
run: |
ASTYLE_OUTPUT=$(${ASTYLE_CMD} --dry-run)
if [ -n "$(echo "${ASTYLE_OUTPUT}" | grep -v "Unchanged")" ]; then
echo "The following files are in need of formatting:"
echo "${ASTYLE_OUTPUT}" | grep -v "Unchanged" | awk '{print "\t"$2}'
echo "Run the following command before submitting a pull request:"
printf "\t${ASTYLE_CMD}\n" | tr -s ' '
exit 1
fi
cmakelint:
name: Lint with `CMakeLint`
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Provision environment
run: pip install --user cmakelint
- name: Run linter
run: |
cmakelint --linelength=125 \
CMakeLists.txt \
*/CMakeLists.txt \
*/*.cmake
prettier:
name: Lint with `Prettier`
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Provision environment
run: npm install prettier
- name: Run linter
run: |
npx prettier --check .