mirror of
https://github.com/torlando-tech/pyxis.git
synced 2026-09-25 06:04:51 +00:00
The pyxis-pytest job checks out the microReticulum reference for the NomadNet x86 client, whose CMake manifest attests the exact commit (921b3aa, endpoint hot-path read gate). The workflow still pointed at cd0338e, so the client configure aborted on the attestation check and the pytest job failed before running tests. The native17 job (submodule) is unaffected and already green.
110 lines
3.7 KiB
YAML
110 lines
3.7 KiB
YAML
name: Test
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
branches: [main]
|
|
|
|
jobs:
|
|
pyxis-pytest:
|
|
name: Pyxis pytest suite (build_scripts + native)
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Checkout pinned microReticulum reference
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: torlando-tech/microReticulum
|
|
ref: 921b3aa030525f819671d99eff1d1f28350c9b69
|
|
path: .ci/microReticulum
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.11'
|
|
|
|
- name: Install test dependencies
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y libbz2-dev
|
|
pip install pytest platformio rns==1.4.2 nomadnet==1.2.8
|
|
|
|
- name: Resolve and attest pinned LVGL dependency
|
|
env:
|
|
PYXIS_PLATFORMIO_BIN: ${{ env.pythonLocation }}/bin/pio
|
|
run: python tools/resolve_lvgl.py --root "$PWD"
|
|
|
|
- name: Build NomadNet real-peer client
|
|
run: |
|
|
cmake -S tests/native/nomadnet_x86_flow \
|
|
-B build/nomadnet-x86-flow \
|
|
-DRNS_SOURCE="$PWD/.ci/microReticulum"
|
|
cmake --build build/nomadnet-x86-flow --parallel
|
|
|
|
- name: Run pytest
|
|
env:
|
|
PYXIS_PLATFORMIO_BIN: ${{ env.pythonLocation }}/bin/pio
|
|
PYXIS_NOMADNET_X86_CLIENT: ${{ github.workspace }}/build/nomadnet-x86-flow/pyxis_nomadnet_x86_flow
|
|
PYXIS_NOMADNET_RNS_PYTHON: ${{ env.pythonLocation }}/bin/python
|
|
PYXIS_NOMADNET_REFERENCE_SOURCE: ${{ env.pythonLocation }}/lib/python3.11/site-packages
|
|
run: pytest tests/build_scripts tests/native -v
|
|
|
|
microreticulum-native:
|
|
name: microReticulum native unit tests (PlatformIO native17)
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.11'
|
|
|
|
- name: Cache PlatformIO
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
~/.cache/pip
|
|
~/.platformio/.cache
|
|
key: ${{ runner.os }}-pio-mrn-${{ hashFiles('deps/microReticulum/platformio.ini') }}
|
|
|
|
- name: Install PlatformIO
|
|
run: pip install --upgrade platformio
|
|
|
|
# microReticulum native17 vendors libbz2 sources but link_bz2.py
|
|
# links against system libbz2 — needs libbz2-dev on Ubuntu.
|
|
# apt-get update first: the ubuntu-latest runner's apt index can be
|
|
# stale, and installing the pinned libbz2-dev from a stale index 404s
|
|
# against the security mirror (the pyxis-pytest job above already
|
|
# updates before its install).
|
|
- name: Install libbz2-dev
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y libbz2-dev
|
|
|
|
# Run only suites that build cleanly under native17 in the fork.
|
|
# Erroring suites (test_ble, test_tdeck, test_lxmf, test_ratchets, etc.)
|
|
# are tracked separately — see pyxis MEMORY.md.
|
|
- name: Run native17 tests
|
|
working-directory: deps/microReticulum
|
|
run: |
|
|
pio test -e native17 -f test_os
|
|
pio test -e native17 -f test_bytes
|
|
pio test -e native17 -f test_msgpack
|
|
pio test -e native17 -f test_crypto
|
|
pio test -e native17 -f test_filesystem
|
|
pio test -e native17 -f test_objects
|
|
pio test -e native17 -f test_general
|
|
pio test -e native17 -f test_reference
|
|
pio test -e native17 -f test_example
|
|
pio test -e native17 -f test_collections
|
|
pio test -e native17 -f test_interop
|