name: Continuous Integration on: # Triggers the workflow on push or pull request events but only for the master branch push: branches: [ master ] pull_request: branches: [ master ] jobs: setup: runs-on: ubuntu-latest steps: - name: Startup run: echo "No action setup currently needed, skipping..." build: needs: setup runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v2 with: submodules: 'recursive' - uses: ./.github/actions/initbuild # 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: | .pio/build/native/program & sleep 20 # 5 seconds was not enough echo "Simulator started, launching python test..." python3 -c 'from meshtastic.test import testSimulator; testSimulator()' # - name: Build for tbeam # run: platformio run -e tbeam # - name: Build for heltec # run: platformio run -e heltec # - name: Build for wisblock RAK4631 # run: platformio run -e rak4631 - name: Build everything run: bin/build-all.sh - name: Store release zip as an artifact uses: actions/upload-artifact@v2 with: name: built path: release/archive/firmware-*.zip retention-days: 30