2024-09-01 16:33:41 +00:00
|
|
|
name: End to end tests
|
2024-08-19 23:39:26 +00:00
|
|
|
|
|
|
|
on:
|
|
|
|
schedule:
|
|
|
|
- cron: "0 0 * * *" # Run every day at midnight
|
|
|
|
workflow_dispatch: {}
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
test-simulator:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: Install libbluetooth
|
|
|
|
shell: bash
|
|
|
|
run: |
|
|
|
|
sudo apt-get update --fix-missing
|
|
|
|
sudo apt-get install -y libbluetooth-dev libgpiod-dev libyaml-cpp-dev openssl libssl-dev libulfius-dev liborcania-dev
|
|
|
|
|
|
|
|
- name: Checkout code
|
|
|
|
uses: actions/checkout@v4
|
|
|
|
with:
|
|
|
|
submodules: recursive
|
|
|
|
|
|
|
|
- name: Upgrade python tools
|
|
|
|
shell: bash
|
|
|
|
run: |
|
|
|
|
python -m pip install --upgrade pip
|
|
|
|
pip install -U platformio adafruit-nrfutil
|
|
|
|
pip install -U meshtastic --pre
|
|
|
|
|
|
|
|
- name: Upgrade platformio
|
|
|
|
shell: bash
|
|
|
|
run: |
|
|
|
|
pio upgrade
|
|
|
|
|
|
|
|
- name: Build Native
|
|
|
|
run: bin/build-native.sh
|
|
|
|
|
|
|
|
# We now run integration test before other build steps (to quickly see runtime failures)
|
|
|
|
- name: Build for native
|
|
|
|
run: platformio run -e native
|
|
|
|
|
|
|
|
- name: Integration test
|
|
|
|
run: |
|
2024-08-20 00:19:16 +00:00
|
|
|
.pio/build/native/program & sleep 10 # 5 seconds was not enough
|
2024-08-19 23:39:26 +00:00
|
|
|
echo "Simulator started, launching python test..."
|
|
|
|
python3 -c 'from meshtastic.test import testSimulator; testSimulator()'
|
2024-08-20 11:49:54 +00:00
|
|
|
|
|
|
|
- name: PlatformIO Tests
|
2024-08-20 12:17:39 +00:00
|
|
|
run: platformio test -e native --junit-output-path testreport.xml
|
2024-08-20 11:49:54 +00:00
|
|
|
|
|
|
|
- name: Test Report
|
|
|
|
uses: dorny/test-reporter@v1.9.1
|
|
|
|
if: success() || failure() # run this step even if previous step failed
|
|
|
|
with:
|
|
|
|
name: PlatformIO Tests
|
2024-08-20 12:17:39 +00:00
|
|
|
path: testreport.xml
|
2024-08-20 11:49:54 +00:00
|
|
|
reporter: java-junit
|
2024-09-01 16:33:41 +00:00
|
|
|
|
|
|
|
hardware-tests:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
- name: Checkout code
|
|
|
|
uses: actions/checkout@v4
|
|
|
|
|
|
|
|
- name: Upgrade python tools
|
|
|
|
shell: bash
|
|
|
|
run: |
|
|
|
|
python -m pip install --upgrade pip
|
|
|
|
pip install -U --no-build-isolation --no-cache-dir "setuptools<72"
|
|
|
|
pip install -U platformio adafruit-nrfutil --no-build-isolation
|
|
|
|
pip install -U poetry --no-build-isolation
|
|
|
|
pip install -U meshtastic --pre --no-build-isolation
|
|
|
|
|
|
|
|
- name: Upgrade platformio
|
|
|
|
shell: bash
|
|
|
|
run: |
|
|
|
|
pio upgrade
|
|
|
|
|
|
|
|
- name: Setup pnpm
|
2024-09-21 11:13:09 +00:00
|
|
|
uses: pnpm/action-setup@v4
|
2024-09-01 16:33:41 +00:00
|
|
|
with:
|
|
|
|
version: latest
|
|
|
|
|
|
|
|
- name: Install Dependencies
|
|
|
|
run: pnpm install
|
|
|
|
|
|
|
|
- name: Setup devices
|
|
|
|
run: pnpm run setup
|
|
|
|
|
|
|
|
- name: Execute end to end tests on connected hardware
|
|
|
|
run: pnpm run test
|