Skip to content

Streamline install, diagnostics, and persistent read-only support #199

Streamline install, diagnostics, and persistent read-only support

Streamline install, diagnostics, and persistent read-only support #199

Workflow file for this run

name: CI
permissions:
contents: read
on:
push:
branches:
- main
pull_request:
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install build and quality tooling
run: |
python -m pip install --upgrade pip setuptools wheel
python -m pip install -e . black ruff yamllint shfmt-py shellcheck-py build
- name: Python formatting checks
run: |
black --check src tests
- name: Python lint checks
run: |
ruff check src tests
- name: Python compile checks
run: |
python -m compileall src tests
- name: Python unit tests
run: |
python -m unittest discover -s tests -v
- name: CLI checks
run: |
python -m bluetooth_2_usb --help
python -m bluetooth_2_usb --version
python -m bluetooth_2_usb --validate-env || test $? -eq 3
- name: Shell formatting checks
run: |
shfmt -d -i 2 -ci -bn scripts/*.sh scripts/lib/*.sh
- name: Shell lint checks
run: |
shellcheck -x scripts/*.sh scripts/lib/*.sh
- name: Shell syntax checks
run: |
bash -n scripts/*.sh scripts/lib/*.sh
- name: YAML lint checks
run: |
yamllint .github/workflows/ci.yml
- name: Build checks
run: |
python -m build