From 2f99b86859f1248e3427526e7e84574284c8eb9d Mon Sep 17 00:00:00 2001 From: OMGeeky Date: Sat, 7 Jun 2025 11:23:40 +0200 Subject: [PATCH] refactor: update MQTT client tests to use mock methods for packet handling --- .github/workflows/ci.yml | 43 ++++++++++++++++++++++++++++++++++++++++ README.md | 10 ++++++++++ requirements.txt | 3 +-- 3 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..62c7c9e --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,43 @@ +name: CI + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + workflow_dispatch: # Allow manual triggering + +jobs: + test: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: Set up Python 3.12 + uses: actions/setup-python@v4 + with: + python-version: '3.12' + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + + - name: Check code formatting with Black + run: | + black --check . + + - name: Run tests with pytest + run: | + python -m pytest + + - name: Run tests with coverage + run: | + python -m pytest --cov=src.esp_sensors --cov-report=xml + + - name: Upload coverage to Codecov + uses: codecov/codecov-action@v3 + with: + file: ./coverage.xml + fail_ci_if_error: false \ No newline at end of file diff --git a/README.md b/README.md index 0ee6db5..32a19db 100644 --- a/README.md +++ b/README.md @@ -102,6 +102,16 @@ pip install -r requirements.txt python -m pytest ``` +### Continuous Integration + +This project uses GitHub Actions for continuous integration. The CI workflow automatically runs on every push to the main branch and on pull requests. It performs the following checks: + +1. Verifies code formatting with Black +2. Runs all tests with pytest +3. Generates test coverage reports + +You can view the CI workflow configuration in `.github/workflows/ci.yml`. + ### Code Style This project uses Black for code formatting: diff --git a/requirements.txt b/requirements.txt index 0720e05..f2cad6d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,5 +5,4 @@ black==24.3.0 # ESP-specific dependencies (these would be used in a real implementation) # micropython-esp32==1.19.1 -micropython-umqtt.simple==1.3.4 -rshell==0.0.31 # For deploying code to ESP devices +#rshell==0.0.31 # For deploying code to ESP devices