diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index df072c2..bbadd7d 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -33,17 +33,10 @@ jobs: 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 }} + build-heltec-v3: + name: Build heltec_v3 runs-on: ubuntu-latest needs: [ verify ] - strategy: - fail-fast: false - matrix: - target: - - heltec_v3 - - seeed_xiao_s3_wio_sx1262 - steps: - uses: actions/checkout@v4 @@ -59,22 +52,53 @@ jobs: uses: actions/cache@v3 with: path: ~/.platformio - key: ${{ runner.os }}-platformio-${{ hashFiles('**/platformio.ini') }} + key: ${{ runner.os }}-platformio-heltec-v3-${{ hashFiles('**/platformio.ini') }} - - name: Build ${{ matrix.target }} - run: pio run -e ${{ matrix.target }} + - name: Build heltec_v3 + run: pio run -e heltec_v3 - name: Upload firmware artifact uses: actions/upload-artifact@v4 with: - name: firmware-${{ matrix.target }} - path: .pio/build/${{ matrix.target }}/firmware.bin + name: firmware-heltec_v3 + path: .pio/build/heltec_v3/firmware.bin + retention-days: 5 + + build-seeed-xiao: + name: Build seeed_xiao_s3_wio_sx1262 + runs-on: ubuntu-latest + needs: [ verify ] + steps: + - uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.11' + + - name: Install PlatformIO + run: pip install platformio + + - name: Cache PlatformIO + uses: actions/cache@v3 + with: + path: ~/.platformio + key: ${{ runner.os }}-platformio-seeed-xiao-${{ hashFiles('**/platformio.ini') }} + + - name: Build seeed_xiao_s3_wio_sx1262 + run: pio run -e seeed_xiao_s3_wio_sx1262 + + - name: Upload firmware artifact + uses: actions/upload-artifact@v4 + with: + name: firmware-seeed_xiao_s3_wio_sx1262 + path: .pio/build/seeed_xiao_s3_wio_sx1262/firmware.bin retention-days: 5 publish-packages: name: Publish Packages runs-on: ubuntu-latest - needs: [ build ] + needs: [ build-heltec-v3, build-seeed-xiao ] if: github.event_name == 'push' && github.ref == 'refs/heads/main' steps: - uses: actions/download-artifact@v4 @@ -109,12 +133,12 @@ jobs: summary: name: Build Summary runs-on: ubuntu-latest - needs: [ verify, build, publish-packages ] + needs: [ verify, build-heltec-v3, build-seeed-xiao, publish-packages ] if: always() steps: - name: Check status run: | - if [ "${{ needs.verify.result }}" = "failure" ] || [ "${{ needs.build.result }}" = "failure" ]; then + if [ "${{ needs.verify.result }}" = "failure" ] || [ "${{ needs.build-heltec-v3.result }}" = "failure" ] || [ "${{ needs.build-seeed-xiao.result }}" = "failure" ]; then echo "❌ CI failed" exit 1 fi