mirror of
https://github.com/mikecarper/MeshCore.git
synced 2026-10-25 22:39:48 +00:00
Check all small STM32 Companions at release version length in CI
This commit is contained in:
1 parent
d83a6a3ceb
commit
f73ddc8bce
2 files changed
+35
-8
No files matched your search
@@ -118,14 +118,18 @@ jobs:
|
||||
python3 -B test/test_ed25519_compact_field.py -v
|
||||
python3 -B test/test_ed25519_compact.py -v
|
||||
|
||||
- name: Compile ordinary STM32 USB Companion with pinned core and RadioLib
|
||||
run: pio run -e RAK_3x72_companion_radio_usb
|
||||
|
||||
- name: Qualify Wio-E5 Mini Companion at release version length
|
||||
run: >-
|
||||
bash build.sh build-firmware wio-e5-mini_companion_radio_usb
|
||||
--firmware-version v1.17.1.9-halo-keymind-cascade-dev
|
||||
--radio-preset usa-cascade-fixed --profile cascade --require-ota
|
||||
- name: Qualify all small STM32 USB Companions at release version length
|
||||
run: |
|
||||
set -euo pipefail
|
||||
for target in \
|
||||
RAK_3x72_companion_radio_usb \
|
||||
wio-e5-mini_companion_radio_usb \
|
||||
wio-e5_companion_radio_usb \
|
||||
Tiny_Relay_companion_radio_usb; do
|
||||
bash build.sh build-firmware "$target" \
|
||||
--firmware-version v1.18.0.1-halo-keymind-cascade-dev \
|
||||
--radio-preset usa-cascade-fixed --profile cascade --require-ota
|
||||
done
|
||||
|
||||
bootloader-version:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
@@ -8,6 +8,9 @@ fixing its size limit by silently shrinking storage or Companion capacities.
|
||||
import configparser
|
||||
from pathlib import Path
|
||||
import re
|
||||
import shlex
|
||||
import subprocess
|
||||
import textwrap
|
||||
import unittest
|
||||
|
||||
|
||||
@@ -98,5 +101,25 @@ class WioSTM32CompanionProfileTest(STM32CompanionProfileTest):
|
||||
r"-D\s+PIN_USER_BTN=USER_BTN\b")
|
||||
|
||||
|
||||
class STM32CompanionCICoverageTest(unittest.TestCase):
|
||||
def test_every_small_companion_is_linked_serially_at_release_version_length(self):
|
||||
workflow = (ROOT / ".github/workflows/run-unit-tests.yml").read_text()
|
||||
job = re.search(r"^ stm32-companion-smoke:\n(.*?)(?=^ [\w-]+:|\Z)",
|
||||
workflow, re.MULTILINE | re.DOTALL)
|
||||
self.assertIsNotNone(job)
|
||||
script = job[1].replace("\\\n", "")
|
||||
loop = re.search(r"for target in (.*?); do", script, re.DOTALL)
|
||||
self.assertIsNotNone(loop)
|
||||
self.assertEqual(set(shlex.split(loop[1])), {
|
||||
"RAK_3x72_companion_radio_usb", "wio-e5-mini_companion_radio_usb",
|
||||
"wio-e5_companion_radio_usb", "Tiny_Relay_companion_radio_usb"})
|
||||
self.assertIn("set -euo pipefail", script)
|
||||
self.assertIn('bash build.sh build-firmware "$target"', script)
|
||||
self.assertIn("--firmware-version v1.18.0.1-halo-keymind-cascade-dev", script)
|
||||
self.assertNotIn(" &", script)
|
||||
command = textwrap.dedent(job[1].rsplit(" run: |\n", 1)[1])
|
||||
subprocess.run(["bash", "-n"], input=command, text=True, check=True)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in new issue
Block a user