From a72e2f01ff38362444b23a367658799dc86bd7af Mon Sep 17 00:00:00 2001 From: Maze X Date: Fri, 27 Mar 2026 18:02:27 +0100 Subject: [PATCH] =?UTF-8?q?Update=20CI=20pipeline:=20enforce=20lint=20?= =?UTF-8?q?=E2=86=92=20test=20=E2=86=92=20build=20order=20and=20reduce=20t?= =?UTF-8?q?argets?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Reorder CI jobs to run sequentially: lint, then test, then build - Remove all unimplemented build targets, keeping only heltec_v3 and seeed_xiao_s3_wio_sx1262 - Update job dependencies with 'needs' to ensure proper execution order --- .gitea/workflows/build-matrix.yml | 79 ------------------------------- .gitea/workflows/ci.yml | 71 ++++++++++----------------- 2 files changed, 25 insertions(+), 125 deletions(-) diff --git a/.gitea/workflows/build-matrix.yml b/.gitea/workflows/build-matrix.yml index fe48888..8b6b49d 100644 --- a/.gitea/workflows/build-matrix.yml +++ b/.gitea/workflows/build-matrix.yml @@ -29,85 +29,6 @@ jobs: description: "Seeed XIAO ESP32-S3 + Wio SX1262" chip: esp32s3 - # ESP32 targets (Heltec v2, LilyGo T-Beam variants) - - target: heltec_v2 - description: "Heltec WiFi LoRa 32 V2 (ESP32, SX1276)" - chip: esp32 - - - target: lilygo_t_beam_1w - description: "LilyGo T-Beam 1W (ESP32, SX1262)" - chip: esp32 - - - target: lilygo_t_beam_sx1262 - description: "LilyGo T-Beam SX1262 (ESP32, SX1262)" - chip: esp32 - - - target: lilygo_t_beam_sx1276 - description: "LilyGo T-Beam SX1276 (ESP32, SX1276)" - chip: esp32 - - - target: lilygo_t_beam_supreme - description: "LilyGo T-Beam Supreme (ESP32-S3, SX1262)" - chip: esp32s3 - - # nRF52 targets (RAK Wireless) - - target: rak_rak4631 - description: "RAK4631 WisBlock (nRF52840, SX1262)" - chip: nrf52 - - - target: rak_rak3112 - description: "RAK3112 (nRF52840, SX1262)" - chip: nrf52 - - - target: rak_rak3401 - description: "RAK3401 (nRF52840, SX1262)" - chip: nrf52 - - - target: rak_rak3x72 - description: "RAK3x72 (nRF52840, SX1262)" - chip: nrf52 - - - target: rak_rak11310 - description: "RAK11310 (RP2040, SX1262)" - chip: rp2040 - - # Additional Heltec variants - - target: heltec_v4 - description: "Heltec WiFi LoRa 32 V4 (ESP32-S3, SX1262)" - chip: esp32s3 - - - target: heltec_t114 - description: "Heltec T114 (ESP32-S3, SX1262)" - chip: esp32s3 - - - target: heltec_ct62 - description: "Heltec CT62 (ESP32, SX1262)" - chip: esp32 - - - target: heltec_e213 - description: "Heltec E213 (ESP32, SX1262)" - chip: esp32 - - - target: heltec_e290 - description: "Heltec E290 (ESP32, SX1262)" - chip: esp32 - - - target: heltec_mesh_solar - description: "Heltec Mesh Solar (ESP32, SX1262)" - chip: esp32 - - - target: heltec_t190 - description: "Heltec T190 (ESP32, SX1262)" - chip: esp32 - - - target: heltec_tracker - description: "Heltec Tracker (ESP32-S3, SX1262)" - chip: esp32s3 - - - target: heltec_tracker_v2 - description: "Heltec Tracker V2 (ESP32-S3, SX1262)" - chip: esp32s3 - steps: - uses: actions/checkout@v4 diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 57e138b..1503d04 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -24,37 +24,37 @@ jobs: - name: Run pre-commit run: pre-commit run --all-files + test: + name: Unit Tests + runs-on: ubuntu-latest + needs: [ lint ] + steps: + - uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.11' + + - name: Install dependencies + run: | + pip install pyserial pytest + + - name: Run integration tests (client validation) + run: | + cd test + python -m pytest kiss_client.py -v 2>/dev/null || echo "Note: Full integration tests require simulator" + continue-on-error: true + build: name: Build ${{ matrix.target }} runs-on: ubuntu-latest + needs: [ test ] strategy: fail-fast: false matrix: target: - # Heltec boards (11 targets) - - heltec_t114 - - heltec_ct62 - - heltec_e213 - - heltec_e290 - - heltec_mesh_solar - - heltec_t190 - - heltec_tracker - - heltec_tracker_v2 - - heltec_v2 - heltec_v3 - - heltec_v4 - # LilyGo boards (4 targets) - - lilygo_t_beam_1w - - lilygo_t_beam_supreme - - lilygo_t_beam_sx1262 - - lilygo_t_beam_sx1276 - # RAK boards (5 targets) - - rak_rak11310 - - rak_rak3112 - - rak_rak3401 - - rak_rak3x72 - - rak_rak4631 - # Seeed boards (1 target) - seeed_xiao_s3_wio_sx1262 steps: @@ -77,36 +77,15 @@ jobs: - name: Build ${{ matrix.target }} run: pio run -e ${{ matrix.target }} - test: - name: Unit Tests - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: '3.11' - - - name: Install dependencies - run: | - pip install pyserial pytest - - - name: Run integration tests (client validation) - run: | - cd test - python -m pytest kiss_client.py -v 2>/dev/null || echo "Note: Full integration tests require simulator" - continue-on-error: true - summary: name: Build Summary runs-on: ubuntu-latest - needs: [ lint, build, test ] + needs: [ lint, test, build ] if: always() steps: - name: Check status run: | - if [ "${{ needs.lint.result }}" = "failure" ] || [ "${{ needs.build.result }}" = "failure" ]; then + if [ "${{ needs.lint.result }}" = "failure" ] || [ "${{ needs.test.result }}" = "failure" ] || [ "${{ needs.build.result }}" = "failure" ]; then echo "❌ CI failed" exit 1 fi