Skip to content

Commit dca9bc9

Browse files
committed
Add integration tests workflow
1 parent 4d001ab commit dca9bc9

1 file changed

Lines changed: 47 additions & 0 deletions

File tree

.github/workflows/integration.yml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: Integration Tests
2+
3+
on:
4+
workflow_dispatch:
5+
6+
jobs:
7+
unit-tests:
8+
runs-on: ubuntu-latest
9+
steps:
10+
- uses: actions/checkout@v4
11+
- uses: actions/setup-python@v5
12+
with:
13+
python-version: '3.13'
14+
- run: pip install -e .
15+
- run: python -m unittest discover tests/ -v
16+
17+
linux-integration:
18+
runs-on: [self-hosted, linux]
19+
needs: unit-tests
20+
strategy:
21+
fail-fast: false
22+
matrix:
23+
device: [ESP32]
24+
steps:
25+
- uses: actions/checkout@v4
26+
- name: Setup venv
27+
run: |
28+
python3 -m venv .venv
29+
.venv/bin/pip install -e .
30+
- name: Load device config
31+
run: |
32+
# Load device paths from runner config
33+
if [ -f ~/.config/mpytool/devices.env ]; then
34+
cat ~/.config/mpytool/devices.env >> $GITHUB_ENV
35+
fi
36+
- name: Integration tests (${{ matrix.device }})
37+
env:
38+
PATH: ${{ github.workspace }}/.venv/bin:$PATH
39+
MPYTOOL_TEST_PORT_RW: ${{ env[format('MPYTOOL_TEST_{0}', matrix.device)] }}
40+
run: |
41+
# Run subset of tests to verify connection works
42+
python -m unittest \
43+
tests.test_integration.TestDeviceConnection \
44+
tests.test_integration.TestDeviceInfo \
45+
tests.test_integration.TestExec \
46+
tests.test_cli.TestCliHelp \
47+
-v

0 commit comments

Comments
 (0)