Skip to content

Update clang format #240

Update clang format

Update clang format #240

Workflow file for this run

name: Build CI
on:
pull_request:
types: [opened, reopened]
push:
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.x
- name: Checkout Current Repo
uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0
- name: Install dependencies
# cmake ships with the ubuntu-latest runner
run: |
sudo apt-get install python3-dev
python3 -m pip install -r docs/requirements.txt -r requirements.txt -r requirements-dev.txt
- name: Run cpp-linter as a py pkg
id: linter
run: |
sudo apt-get install clang-format-14
cpp-linter \
--version=14 \
--style=file \
--tidy-checks='-*' \
--lines-changed-only=true \
--ignore='!src|' \
--format-review=true \
--file-annotations=false
- name: C++ Linter checks failed?
if: steps.linter.outputs.checks-failed > 0
run: exit 1
- name: Build package for docs extraction and linting examples
run: |
python3 setup.py sdist bdist_wheel
python3 -m pip install dist/pyrf24-*.whl
- name: check python typing
run: mypy src
- name: check python examples PEP8 compliance
# duplicate-code error gets flagged because some examples use similar code snippets
run: pylint examples/*.py src/pyrf24/*.py --disable=duplicate-code --output-format=json:pylint.json
- name: Match pylint problems to diff via github annotations
run: python ./.github/workflows/pylint_matcher.py pylint.json
- name: Get doc dependencies
run: |-
sudo apt-get update
sudo apt-get install -y libgl-dev libglvnd-dev libxkbcommon-x11-0 graphviz
- name: Build docs
working-directory: docs
env:
# required for pySide6 on headless linux (as used by sphinx-social-cards extension)
QT_QPA_PLATFORM: offscreen
run: sphinx-build -E -W -b html . _build/html
- name: Save built docs as artifact
uses: actions/upload-artifact@v4
with:
name: "pyRF24_docs"
path: ${{ github.workspace }}/docs/_build/html
- name: upload to github pages
if: github.ref == 'refs/heads/main'
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./docs/_build/html
- name: Save distributable wheels as artifacts
uses: actions/upload-artifact@v4
with:
name: "pyRF24_pkg_dist"
path: ${{ github.workspace }}/dist
- name: Validate distribution
run: |
python3 -m pip install twine
python3 -m twine check dist/*