From 991227069458ed6b77bccd46103c85b7e317c046 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sat, 12 Feb 2022 08:35:04 -0600 Subject: [PATCH 01/46] Start work on build matrix for parallel jobs --- .github/workflows/main.yml | 18 +-- .github/workflows/main_matrix.yml | 241 ++++++++++++++++++++++++++++++ bin/build-esp32.sh | 59 ++++++++ bin/build-nrf52.sh | 49 ++++++ 4 files changed, 352 insertions(+), 15 deletions(-) create mode 100644 .github/workflows/main_matrix.yml create mode 100644 bin/build-esp32.sh create mode 100644 bin/build-nrf52.sh diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index db61089057..05e750d0fe 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,20 +1,8 @@ -name: Continuous Integration +name: Continuous Integration (Legacy serial build) on: # Triggers the workflow on push or pull request events but only for the master branch - push: - branches: [ master ] - paths-ignore: - - '**.md' - - '**.yml' - - 'version.properties' - - # Note: This is different from "pull_request". Need to specify ref when doing checkouts. - pull_request_target: - branches: [ master ] - paths-ignore: - - '**.md' - - '**.yml' - + workflow_dispatch: + jobs: ci-check: diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml new file mode 100644 index 0000000000..63914968d7 --- /dev/null +++ b/.github/workflows/main_matrix.yml @@ -0,0 +1,241 @@ +name: Continuous Integration +on: + # Triggers the workflow on push or pull request events but only for the master branch + push: + branches: [ master ] + paths-ignore: + - '**.md' + - '**.yml' + - 'version.properties' + + # Note: This is different from "pull_request". Need to specify ref when doing checkouts. + pull_request_target: + branches: [ master ] + paths-ignore: + - '**.md' + - '**.yml' + +jobs: + + ci-check: + runs-on: ubuntu-latest + steps: + + - name: Checkout code + uses: actions/checkout@v2 + with: + submodules: 'recursive' + ref: ${{github.event.pull_request.head.ref}} + repository: ${{github.event.pull_request.head.repo.full_name}} + + - name: Install cppcheck + run: | + sudo apt-get install -y cppcheck + + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: 3.x + + - name: Cache python libs + uses: actions/cache@v1 + id: cache-pip # needed in if test + with: + path: ~/.cache/pip + key: ${{ runner.os }}-pip + + - name: Upgrade python tools and install platformio + run: | + python -m pip install --upgrade pip + pip install -U platformio + + - name: Upgrade platformio + run: | + pio upgrade + + - name: Check everything + run: bin/check-all.sh + + ci-build-esp32: + strategy: + fail-fast: false + matrix: + os: [rak11200, tlora-v2, tlora-v1, tlora_v1_3, tlora-v2-1-1.6, tbeam, heltec-v1, heltec-v2.0, heltec-v2.1, tbeam0.7, meshtastic-diy-v1] + + runs-on: ubuntu-latest + steps: + + - name: Checkout code + uses: actions/checkout@v2 + with: + submodules: 'recursive' + ref: ${{github.event.pull_request.head.ref}} + repository: ${{github.event.pull_request.head.repo.full_name}} + + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: 3.x + + - name: Cache python libs + uses: actions/cache@v1 + id: cache-pip # needed in if test + with: + path: ~/.cache/pip + key: ${{ runner.os }}-pip + + - name: Upgrade python tools + run: | + python -m pip install --upgrade pip + pip install -U platformio meshtastic adafruit-nrfutil + + - name: Upgrade platformio + run: | + pio upgrade + + - name: Pull web ui + uses: dsaltares/fetch-gh-release-asset@master + with: + repo: "meshtastic/meshtastic-web" + file: "build.tar" + target: "build.tar" + token: ${{ secrets.GITHUB_TOKEN }} + + - name: Unpack web ui + run: | + tar -xf build.tar -C data/static + rm build.tar + + # 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: Cat bin/build-esp32.sh + run: | + cat bin/build-esp32.sh ${{ matrix.board }} + + - name: Build ESP32 + run: bin/build-esp32.sh ${{ matrix.board }} + + - name: Get release version string + run: echo "::set-output name=version::$(./bin/buildinfo.py long)" + id: version + + - name: Store binaries as an artifact + uses: actions/upload-artifact@v2 + with: + name: firmware-${{ steps.version.outputs.version }}.zip + path: release/archive/firmware-${{ steps.version.outputs.version }}.zip + retention-days: 90 + + - name: Store debugging elf files as an artifact + uses: actions/upload-artifact@v2 + with: + name: debug-elfs + path: release/archive/elfs-*.zip + retention-days: 7 + + ci-build-nrf52: + strategy: + fail-fast: false + matrix: + os: [rak4631_5005, rak4631_19003, t-echo] + + runs-on: ubuntu-latest + steps: + + - name: Checkout code + uses: actions/checkout@v2 + with: + submodules: 'recursive' + ref: ${{github.event.pull_request.head.ref}} + repository: ${{github.event.pull_request.head.repo.full_name}} + + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: 3.x + + - name: Cache python libs + uses: actions/cache@v1 + id: cache-pip # needed in if test + with: + path: ~/.cache/pip + key: ${{ runner.os }}-pip + + - name: Upgrade python tools + run: | + python -m pip install --upgrade pip + pip install -U platformio meshtastic adafruit-nrfutil + + - name: Upgrade platformio + run: | + pio upgrade + + - name: Pull web ui + uses: dsaltares/fetch-gh-release-asset@master + with: + repo: "meshtastic/meshtastic-web" + file: "build.tar" + target: "build.tar" + token: ${{ secrets.GITHUB_TOKEN }} + + - name: Unpack web ui + run: | + tar -xf build.tar -C data/static + rm build.tar + + # 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: Cat bin/build-nrf52.sh + run: | + cat bin/build-nrf52.sh ${{ matrix.board }} + + - name: Build NRF52 + run: bin/build-nrf52.sh ${{ matrix.board }} + + - name: Get release version string + run: echo "::set-output name=version::$(./bin/buildinfo.py long)" + id: version + + - name: Store binaries as an artifact + uses: actions/upload-artifact@v2 + with: + name: firmware-${{ steps.version.outputs.version }}.zip + path: release/archive/firmware-${{ steps.version.outputs.version }}.zip + retention-days: 90 + + - name: Store debugging elf files as an artifact + uses: actions/upload-artifact@v2 + with: + name: debug-elfs + path: release/archive/elfs-*.zip + retention-days: 7 + # - name: Download firmware.zip + # uses: actions/download-artifact@master + # with: + # name: firmware-${{ steps.version.outputs.version }}.zip + # path: ./ + + # - name: Pull request artifacts + # if: ${{ github.event_name == 'pull_request_target' || github.event_name == 'pull_request' }} + # uses: gavv/pull-request-artifacts@v1.0.0 + # with: + # commit: ${{ (github.event.pull_request_target || github.event.pull_request).head.sha }} + # repo-token: ${{ secrets.GITHUB_TOKEN }} + # artifacts-branch: artifacts + # artifacts: ./firmware-${{ steps.version.outputs.version }}.zip diff --git a/bin/build-esp32.sh b/bin/build-esp32.sh new file mode 100644 index 0000000000..d194518968 --- /dev/null +++ b/bin/build-esp32.sh @@ -0,0 +1,59 @@ +#!/usr/bin/env bash + +set -e + +VERSION=`bin/buildinfo.py long` +SHORT_VERSION=`bin/buildinfo.py short` + +OUTDIR=release/latest + +# We keep all old builds (and their map files in the archive dir) +ARCHIVEDIR=release/archive + +rm -f $OUTDIR/firmware* + +mkdir -p $OUTDIR/bins $ARCHIVEDIR +rm -r $OUTDIR/bins/* || true +mkdir -p $OUTDIR/bins/universal $OUTDIR/elfs/universal + +# Make sure our submodules are current +git submodule update + +# Important to pull latest version of libs into all device flavors, otherwise some devices might be stale +platformio lib update + +BOARD=$1 + +echo "Building for $BOARD with $PLATFORMIO_BUILD_FLAGS" +rm -f .pio/build/$BOARD/firmware.* + +# The shell vars the build tool expects to find +export APP_VERSION=$VERSION + +# Are we building a universal/regionless rom? +export HW_VERSION="1.0" +basename=universal/firmware-$BOARD-$VERSION + +pio run --environment $BOARD # -v +SRCELF=.pio/build/$BOARD/firmware.elf +cp $SRCELF $OUTDIR/elfs/$basename.elf + +echo "Copying ESP32 bin file" +SRCBIN=.pio/build/$BOARD/firmware.bin +cp $SRCBIN $OUTDIR/bins/$basename.bin + +echo "Building SPIFFS for ESP32 targets" +pio run --environment tbeam -t buildfs +cp .pio/build/tbeam/spiffs.bin $OUTDIR/bins/universal/spiffs-$VERSION.bin + +# keep the bins in archive also +cp $OUTDIR/bins/universal/spiffs* $OUTDIR/bins/universal/firmware* $OUTDIR/elfs/universal/firmware* $ARCHIVEDIR + +echo Generating $ARCHIVEDIR/firmware-$VERSION.zip +rm -f $ARCHIVEDIR/firmware-$VERSION.zip +zip --junk-paths $ARCHIVEDIR/firmware-$VERSION.zip $ARCHIVEDIR/spiffs-$VERSION.bin $OUTDIR/bins/universal/firmware-*-$VERSION.* $OUTDIR/bins/universal/meshtasticd* images/system-info.bin bin/device-install.* bin/device-update.* +echo Generating $ARCHIVEDIR/elfs-$VERSION.zip +rm -f $ARCHIVEDIR/elfs-$VERSION.zip +zip --junk-paths $ARCHIVEDIR/elfs-$VERSION.zip $OUTDIR/elfs/universal/firmware-*-$VERSION.* + +echo BUILT ALL diff --git a/bin/build-nrf52.sh b/bin/build-nrf52.sh new file mode 100644 index 0000000000..965f763236 --- /dev/null +++ b/bin/build-nrf52.sh @@ -0,0 +1,49 @@ +#!/usr/bin/env bash + +set -e + +VERSION=`bin/buildinfo.py long` +SHORT_VERSION=`bin/buildinfo.py short` + +OUTDIR=release/latest + +ARCHIVEDIR=release/archive + +rm -f $OUTDIR/firmware* + +mkdir -p $OUTDIR/bins $ARCHIVEDIR +rm -r $OUTDIR/bins/* || true +mkdir -p $OUTDIR/bins/universal $OUTDIR/elfs/universal + +# Make sure our submodules are current +git submodule update + +# Important to pull latest version of libs into all device flavors, otherwise some devices might be stale +platformio lib update + +BOARD=$1 + +echo "Building for $BOARD with $PLATFORMIO_BUILD_FLAGS" +rm -f .pio/build/$BOARD/firmware.* + +# The shell vars the build tool expects to find +export APP_VERSION=$VERSION + +# Are we building a universal/regionless rom? +export HW_VERSION="1.0" +basename=universal/firmware-$BOARD-$VERSION + +pio run --environment $BOARD # -v +SRCELF=.pio/build/$BOARD/firmware.elf +cp $SRCELF $OUTDIR/elfs/$basename.elf + +echo "Generating NRF52 uf2 file" +SRCHEX=.pio/build/$BOARD/firmware.hex +bin/uf2conv.py $SRCHEX -c -o $OUTDIR/bins/$basename.uf2 -f 0xADA52840 + +echo Generating $ARCHIVEDIR/firmware-$VERSION.zip +rm -f $ARCHIVEDIR/firmware-$VERSION.zip +zip --junk-paths $ARCHIVEDIR/firmware-$VERSION.zip $ARCHIVEDIR/spiffs-$VERSION.bin $OUTDIR/bins/universal/firmware-*-$VERSION.* $OUTDIR/bins/universal/meshtasticd* images/system-info.bin bin/device-install.* bin/device-update.* +echo Generating $ARCHIVEDIR/elfs-$VERSION.zip +rm -f $ARCHIVEDIR/elfs-$VERSION.zip +zip --junk-paths $ARCHIVEDIR/elfs-$VERSION.zip $OUTDIR/elfs/universal/firmware-*-$VERSION.* From 759bd306f90f4b2b2389a78c1316c34c938a3ec3 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sat, 12 Feb 2022 09:27:17 -0600 Subject: [PATCH 02/46] Ignore master for right now --- .github/workflows/main_matrix.yml | 37 ++++++------------------------- 1 file changed, 7 insertions(+), 30 deletions(-) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index 63914968d7..096dbe00c3 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -1,12 +1,12 @@ name: Continuous Integration on: - # Triggers the workflow on push or pull request events but only for the master branch - push: - branches: [ master ] - paths-ignore: - - '**.md' - - '**.yml' - - 'version.properties' + # # Triggers the workflow on push or pull request events but only for the master branch + # push: + # branches: [ master ] + # paths-ignore: + # - '**.md' + # - '**.yml' + # - 'version.properties' # Note: This is different from "pull_request". Need to specify ref when doing checkouts. pull_request_target: @@ -178,29 +178,6 @@ jobs: run: | pio upgrade - - name: Pull web ui - uses: dsaltares/fetch-gh-release-asset@master - with: - repo: "meshtastic/meshtastic-web" - file: "build.tar" - target: "build.tar" - token: ${{ secrets.GITHUB_TOKEN }} - - - name: Unpack web ui - run: | - tar -xf build.tar -C data/static - rm build.tar - - # 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: Cat bin/build-nrf52.sh run: | cat bin/build-nrf52.sh ${{ matrix.board }} From acfd97cb510f2a1fd55b10babb8075e9bd850464 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sat, 12 Feb 2022 13:24:54 -0600 Subject: [PATCH 03/46] Index --- .github/workflows/main_matrix.yml | 12 ++++++------ bin/build-esp32.sh | 0 bin/build-nrf52.sh | 0 3 files changed, 6 insertions(+), 6 deletions(-) mode change 100644 => 100755 bin/build-esp32.sh mode change 100644 => 100755 bin/build-nrf52.sh diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index 096dbe00c3..3abf8030b1 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -1,12 +1,12 @@ name: Continuous Integration on: # # Triggers the workflow on push or pull request events but only for the master branch - # push: - # branches: [ master ] - # paths-ignore: - # - '**.md' - # - '**.yml' - # - 'version.properties' + push: + branches: [ master ] + paths-ignore: + - '**.md' + - '**.yml' + - 'version.properties' # Note: This is different from "pull_request". Need to specify ref when doing checkouts. pull_request_target: diff --git a/bin/build-esp32.sh b/bin/build-esp32.sh old mode 100644 new mode 100755 diff --git a/bin/build-nrf52.sh b/bin/build-nrf52.sh old mode 100644 new mode 100755 From 7259a381b3795a2a9f76cf284fff1e00434f8aaf Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sat, 12 Feb 2022 13:27:38 -0600 Subject: [PATCH 04/46] Boards --- .github/workflows/main_matrix.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index 3abf8030b1..4ad225c240 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -60,7 +60,7 @@ jobs: strategy: fail-fast: false matrix: - os: [rak11200, tlora-v2, tlora-v1, tlora_v1_3, tlora-v2-1-1.6, tbeam, heltec-v1, heltec-v2.0, heltec-v2.1, tbeam0.7, meshtastic-diy-v1] + boards: [rak11200, tlora-v2, tlora-v1, tlora_v1_3, tlora-v2-1-1.6, tbeam, heltec-v1, heltec-v2.0, heltec-v2.1, tbeam0.7, meshtastic-diy-v1] runs-on: ubuntu-latest steps: @@ -145,7 +145,7 @@ jobs: strategy: fail-fast: false matrix: - os: [rak4631_5005, rak4631_19003, t-echo] + boards: [rak4631_5005, rak4631_19003, t-echo] runs-on: ubuntu-latest steps: From b435f39d563650745c85dbfc80b87e584ea513a5 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sat, 12 Feb 2022 13:37:15 -0600 Subject: [PATCH 05/46] Build args --- bin/build-esp32.sh | 14 ++++++-------- bin/build-nrf52.sh | 14 ++++++-------- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/bin/build-esp32.sh b/bin/build-esp32.sh index d194518968..48e61f3009 100755 --- a/bin/build-esp32.sh +++ b/bin/build-esp32.sh @@ -22,24 +22,22 @@ git submodule update # Important to pull latest version of libs into all device flavors, otherwise some devices might be stale platformio lib update -BOARD=$1 - -echo "Building for $BOARD with $PLATFORMIO_BUILD_FLAGS" -rm -f .pio/build/$BOARD/firmware.* +echo "Building for $1 with $PLATFORMIO_BUILD_FLAGS" +rm -f .pio/build/$1/firmware.* # The shell vars the build tool expects to find export APP_VERSION=$VERSION # Are we building a universal/regionless rom? export HW_VERSION="1.0" -basename=universal/firmware-$BOARD-$VERSION +basename=universal/firmware-$1-$VERSION -pio run --environment $BOARD # -v -SRCELF=.pio/build/$BOARD/firmware.elf +pio run --environment $1 # -v +SRCELF=.pio/build/$1/firmware.elf cp $SRCELF $OUTDIR/elfs/$basename.elf echo "Copying ESP32 bin file" -SRCBIN=.pio/build/$BOARD/firmware.bin +SRCBIN=.pio/build/$1/firmware.bin cp $SRCBIN $OUTDIR/bins/$basename.bin echo "Building SPIFFS for ESP32 targets" diff --git a/bin/build-nrf52.sh b/bin/build-nrf52.sh index 965f763236..0f4c3d4fdd 100755 --- a/bin/build-nrf52.sh +++ b/bin/build-nrf52.sh @@ -21,24 +21,22 @@ git submodule update # Important to pull latest version of libs into all device flavors, otherwise some devices might be stale platformio lib update -BOARD=$1 - -echo "Building for $BOARD with $PLATFORMIO_BUILD_FLAGS" -rm -f .pio/build/$BOARD/firmware.* +echo "Building for $1 with $PLATFORMIO_BUILD_FLAGS" +rm -f .pio/build/$1/firmware.* # The shell vars the build tool expects to find export APP_VERSION=$VERSION # Are we building a universal/regionless rom? export HW_VERSION="1.0" -basename=universal/firmware-$BOARD-$VERSION +basename=universal/firmware-$1-$VERSION -pio run --environment $BOARD # -v -SRCELF=.pio/build/$BOARD/firmware.elf +pio run --environment $1 # -v +SRCELF=.pio/build/$1/firmware.elf cp $SRCELF $OUTDIR/elfs/$basename.elf echo "Generating NRF52 uf2 file" -SRCHEX=.pio/build/$BOARD/firmware.hex +SRCHEX=.pio/build/$1/firmware.hex bin/uf2conv.py $SRCHEX -c -o $OUTDIR/bins/$basename.uf2 -f 0xADA52840 echo Generating $ARCHIVEDIR/firmware-$VERSION.zip From 250a95db9ac793c47ddf96d8c7bd352d74607ab3 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sat, 12 Feb 2022 13:49:45 -0600 Subject: [PATCH 06/46] Matrix syntax --- .github/workflows/main_matrix.yml | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index 4ad225c240..10ddcb961c 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -60,7 +60,18 @@ jobs: strategy: fail-fast: false matrix: - boards: [rak11200, tlora-v2, tlora-v1, tlora_v1_3, tlora-v2-1-1.6, tbeam, heltec-v1, heltec-v2.0, heltec-v2.1, tbeam0.7, meshtastic-diy-v1] + include: + - board: rak11200 + - board: tlora-v2 + - board: tlora-v1 + - board: tlora_v1_3 + - board: tlora-v2-1-1.6 + - board: tbeam + - board: heltec-v1 + - board: heltec-v2.0 + - board: heltec-v2.1 + - board: tbeam0.7 + - board: meshtastic-diy-v1 runs-on: ubuntu-latest steps: @@ -116,10 +127,6 @@ jobs: echo "Simulator started, launching python test..." python3 -c 'from meshtastic.test import testSimulator; testSimulator()' - - name: Cat bin/build-esp32.sh - run: | - cat bin/build-esp32.sh ${{ matrix.board }} - - name: Build ESP32 run: bin/build-esp32.sh ${{ matrix.board }} @@ -145,7 +152,10 @@ jobs: strategy: fail-fast: false matrix: - boards: [rak4631_5005, rak4631_19003, t-echo] + include: + - board: rak4631_5005 + - board: rak4631_19003 + - board: t-echo runs-on: ubuntu-latest steps: @@ -178,10 +188,6 @@ jobs: run: | pio upgrade - - name: Cat bin/build-nrf52.sh - run: | - cat bin/build-nrf52.sh ${{ matrix.board }} - - name: Build NRF52 run: bin/build-nrf52.sh ${{ matrix.board }} From f0fc43db31f5ef077a593235414b9b60d626bb5a Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sat, 12 Feb 2022 14:05:34 -0600 Subject: [PATCH 07/46] Artifacts --- .github/workflows/main_matrix.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index 10ddcb961c..2ab1b4746b 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -137,14 +137,14 @@ jobs: - name: Store binaries as an artifact uses: actions/upload-artifact@v2 with: - name: firmware-${{ steps.version.outputs.version }}.zip + name: ${{ matrix.board }}-firmware-${{ steps.version.outputs.version }}.zip path: release/archive/firmware-${{ steps.version.outputs.version }}.zip retention-days: 90 - name: Store debugging elf files as an artifact uses: actions/upload-artifact@v2 with: - name: debug-elfs + name: ${{ matrix.board }}-debug-elfs path: release/archive/elfs-*.zip retention-days: 7 @@ -198,16 +198,17 @@ jobs: - name: Store binaries as an artifact uses: actions/upload-artifact@v2 with: - name: firmware-${{ steps.version.outputs.version }}.zip + name: ${{ matrix.board }}-firmware-${{ steps.version.outputs.version }}.zip path: release/archive/firmware-${{ steps.version.outputs.version }}.zip retention-days: 90 - name: Store debugging elf files as an artifact uses: actions/upload-artifact@v2 with: - name: debug-elfs + name: ${{ matrix.board }}-debug-elfs path: release/archive/elfs-*.zip retention-days: 7 + # - name: Download firmware.zip # uses: actions/download-artifact@master # with: From 9b40dd16e71946947c83cf19f18e1a56b49dae73 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sat, 12 Feb 2022 14:31:41 -0600 Subject: [PATCH 08/46] More breaking apart --- .github/workflows/main_matrix.yml | 56 +++++++++++++++++++++++++++ bin/build-all.sh | 63 ------------------------------- bin/build-esp32.sh | 2 - bin/build-native.sh | 34 +++++++++++++++++ 4 files changed, 90 insertions(+), 65 deletions(-) create mode 100644 bin/build-native.sh diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index 2ab1b4746b..76b1533c0f 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -209,6 +209,62 @@ jobs: path: release/archive/elfs-*.zip retention-days: 7 + ci-build-native: + runs-on: ubuntu-latest + steps: + + - name: Checkout code + uses: actions/checkout@v2 + with: + submodules: 'recursive' + ref: ${{github.event.pull_request.head.ref}} + repository: ${{github.event.pull_request.head.repo.full_name}} + + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: 3.x + + - name: Cache python libs + uses: actions/cache@v1 + id: cache-pip # needed in if test + with: + path: ~/.cache/pip + key: ${{ runner.os }}-pip + + - name: Upgrade python tools + run: | + python -m pip install --upgrade pip + pip install -U platformio meshtastic adafruit-nrfutil + + - name: Upgrade platformio + run: | + pio upgrade + + - name: Build Native + run: bin/build-native.sh + + - name: Get release version string + run: echo "::set-output name=version::$(./bin/buildinfo.py long)" + id: version + + - name: Store binaries as an artifact + uses: actions/upload-artifact@v2 + with: + name: ${{ matrix.board }}-firmware-${{ steps.version.outputs.version }}.zip + path: release/archive/firmware-${{ steps.version.outputs.version }}.zip + retention-days: 90 + + gather-artifacts: + needs: [ci-build-esp32, ci-build-nrf52, ci-build-native] + steps: + - name: Checkout code + uses: actions/checkout@v2 + with: + submodules: 'recursive' + ref: ${{github.event.pull_request.head.ref}} + repository: ${{github.event.pull_request.head.repo.full_name}} + # - name: Download firmware.zip # uses: actions/download-artifact@master # with: diff --git a/bin/build-all.sh b/bin/build-all.sh index ed537f8f46..37609933e0 100755 --- a/bin/build-all.sh +++ b/bin/build-all.sh @@ -5,13 +5,6 @@ set -e VERSION=`bin/buildinfo.py long` SHORT_VERSION=`bin/buildinfo.py short` -BOARDS_ESP32="rak11200 tlora-v2 tlora-v1 tlora_v1_3 tlora-v2-1-1.6 tbeam heltec-v1 heltec-v2.0 heltec-v2.1 tbeam0.7 meshtastic-diy-v1" -#BOARDS_ESP32=tbeam - -# FIXME note nrf52840dk build is for some reason only generating a BIN file but not a HEX file nrf52840dk-geeksville is fine -BOARDS_NRF52="rak4631_5005 rak4631_19003 t-echo" -#BOARDS_NRF52="" - OUTDIR=release/latest # We keep all old builds (and their map files in the archive dir) @@ -23,71 +16,15 @@ mkdir -p $OUTDIR/bins $ARCHIVEDIR rm -r $OUTDIR/bins/* || true mkdir -p $OUTDIR/bins/universal $OUTDIR/elfs/universal -# build the named environment and copy the bins to the release directory -function do_build() { - BOARD=$1 - isNrf=$3 - - echo "Building for $BOARD ($isNrf) with $PLATFORMIO_BUILD_FLAGS" - rm -f .pio/build/$BOARD/firmware.* - - # The shell vars the build tool expects to find - export APP_VERSION=$VERSION - - # Are we building a universal/regionless rom? - export HW_VERSION="1.0" - basename=universal/firmware-$BOARD-$VERSION - - pio run --environment $BOARD # -v - SRCELF=.pio/build/$BOARD/firmware.elf - cp $SRCELF $OUTDIR/elfs/$basename.elf - - if [ "$isNrf" = "false" ] - then - echo "Copying ESP32 bin file" - SRCBIN=.pio/build/$BOARD/firmware.bin - cp $SRCBIN $OUTDIR/bins/$basename.bin - else - echo "Generating NRF52 uf2 file" - SRCHEX=.pio/build/$BOARD/firmware.hex - bin/uf2conv.py $SRCHEX -c -o $OUTDIR/bins/$basename.uf2 -f 0xADA52840 - fi -} - -function do_boards() { - declare boards=$1 - declare isNrf=$2 - for board in $boards; do - # Build universal - echo "about to build $board $isNrf" - do_build $board "" "$isNrf" - done -} - # Make sure our submodules are current git submodule update # Important to pull latest version of libs into all device flavors, otherwise some devices might be stale platformio lib update -do_boards "$BOARDS_ESP32" "false" -do_boards "$BOARDS_NRF52" "true" - pio run --environment native cp .pio/build/native/program $OUTDIR/bins/universal/meshtasticd_linux_amd64 -echo "Building SPIFFS for ESP32 targets" -pio run --environment tbeam -t buildfs -cp .pio/build/tbeam/spiffs.bin $OUTDIR/bins/universal/spiffs-$VERSION.bin - -# keep the bins in archive also -cp $OUTDIR/bins/universal/spiffs* $OUTDIR/bins/universal/firmware* $OUTDIR/elfs/universal/firmware* $ARCHIVEDIR - -echo Updating android bins $OUTDIR/forandroid -rm -rf $OUTDIR/forandroid -mkdir -p $OUTDIR/forandroid -cp -a $OUTDIR/bins/universal/*.bin $OUTDIR/forandroid/ - cat >$OUTDIR/curfirmwareversion.xml < diff --git a/bin/build-esp32.sh b/bin/build-esp32.sh index 48e61f3009..28732e7fcc 100755 --- a/bin/build-esp32.sh +++ b/bin/build-esp32.sh @@ -53,5 +53,3 @@ zip --junk-paths $ARCHIVEDIR/firmware-$VERSION.zip $ARCHIVEDIR/spiffs-$VERSION.b echo Generating $ARCHIVEDIR/elfs-$VERSION.zip rm -f $ARCHIVEDIR/elfs-$VERSION.zip zip --junk-paths $ARCHIVEDIR/elfs-$VERSION.zip $OUTDIR/elfs/universal/firmware-*-$VERSION.* - -echo BUILT ALL diff --git a/bin/build-native.sh b/bin/build-native.sh new file mode 100644 index 0000000000..8bf846d326 --- /dev/null +++ b/bin/build-native.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash + +set -e + +VERSION=`bin/buildinfo.py long` +SHORT_VERSION=`bin/buildinfo.py short` + +OUTDIR=release/latest + +# We keep all old builds (and their map files in the archive dir) +ARCHIVEDIR=release/archive + +rm -f $OUTDIR/firmware* + +mkdir -p $OUTDIR/bins $ARCHIVEDIR +rm -r $OUTDIR/bins/* || true +mkdir -p $OUTDIR/bins/universal $OUTDIR/elfs/universal + +# Make sure our submodules are current +git submodule update + +# Important to pull latest version of libs into all device flavors, otherwise some devices might be stale +platformio lib update + +pio run --environment native +cp .pio/build/native/program $OUTDIR/bins/universal/meshtasticd_linux_amd64 + +echo Generating $ARCHIVEDIR/firmware-$VERSION.zip +rm -f $ARCHIVEDIR/firmware-$VERSION.zip +zip --junk-paths $ARCHIVEDIR/firmware-$VERSION.zip $ARCHIVEDIR/spiffs-$VERSION.bin $OUTDIR/bins/universal/firmware-*-$VERSION.* $OUTDIR/bins/universal/meshtasticd* images/system-info.bin bin/device-install.* bin/device-update.* +echo Generating $ARCHIVEDIR/elfs-$VERSION.zip +rm -f $ARCHIVEDIR/elfs-$VERSION.zip +zip --junk-paths $ARCHIVEDIR/elfs-$VERSION.zip $OUTDIR/elfs/universal/firmware-*-$VERSION.* + From 093ffe02feabfb79269544d9926dcfb459af761f Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sat, 12 Feb 2022 14:32:01 -0600 Subject: [PATCH 09/46] Index --- bin/build-native.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 bin/build-native.sh diff --git a/bin/build-native.sh b/bin/build-native.sh old mode 100644 new mode 100755 From 6c4e6d6fe65478e9de0fb20e494faf27322c4219 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sat, 12 Feb 2022 14:36:53 -0600 Subject: [PATCH 10/46] Syntax --- .github/workflows/main_matrix.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index 76b1533c0f..5f823525f2 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -209,7 +209,7 @@ jobs: path: release/archive/elfs-*.zip retention-days: 7 - ci-build-native: + ci-build-native: runs-on: ubuntu-latest steps: From 3b6bc81840095197bfe7c366994e99bc1650cc15 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sat, 12 Feb 2022 14:40:00 -0600 Subject: [PATCH 11/46] Syntax --- .github/workflows/main_matrix.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index 5f823525f2..999e14e458 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -256,6 +256,7 @@ jobs: retention-days: 90 gather-artifacts: + runs-on: ubuntu-latest needs: [ci-build-esp32, ci-build-nrf52, ci-build-native] steps: - name: Checkout code From 39caf6a1e2cd4e81b934504a6abfc32cbec43305 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sat, 12 Feb 2022 14:44:56 -0600 Subject: [PATCH 12/46] Removed elfs... elves? --- bin/build-native.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/bin/build-native.sh b/bin/build-native.sh index 8bf846d326..42fd6e1787 100755 --- a/bin/build-native.sh +++ b/bin/build-native.sh @@ -28,7 +28,4 @@ cp .pio/build/native/program $OUTDIR/bins/universal/meshtasticd_linux_amd64 echo Generating $ARCHIVEDIR/firmware-$VERSION.zip rm -f $ARCHIVEDIR/firmware-$VERSION.zip zip --junk-paths $ARCHIVEDIR/firmware-$VERSION.zip $ARCHIVEDIR/spiffs-$VERSION.bin $OUTDIR/bins/universal/firmware-*-$VERSION.* $OUTDIR/bins/universal/meshtasticd* images/system-info.bin bin/device-install.* bin/device-update.* -echo Generating $ARCHIVEDIR/elfs-$VERSION.zip -rm -f $ARCHIVEDIR/elfs-$VERSION.zip -zip --junk-paths $ARCHIVEDIR/elfs-$VERSION.zip $OUTDIR/elfs/universal/firmware-*-$VERSION.* From 7bbca3d3acf59007c1cbecfd1a2f9e8ccd7a56b0 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sat, 12 Feb 2022 14:47:40 -0600 Subject: [PATCH 13/46] Dispatch --- .github/workflows/main_matrix.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index 999e14e458..93d3203f6b 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -15,6 +15,8 @@ on: - '**.md' - '**.yml' + workflow_dispatch: + jobs: ci-check: From 716a6617bdd0b7ae800b3970e146fc52176eab7b Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sat, 12 Feb 2022 15:52:50 -0600 Subject: [PATCH 14/46] Download --- .github/workflows/main_matrix.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index 93d3203f6b..95e1d4b647 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -146,7 +146,7 @@ jobs: - name: Store debugging elf files as an artifact uses: actions/upload-artifact@v2 with: - name: ${{ matrix.board }}-debug-elfs + name: ${{ matrix.board }}-debug-elfs.zip path: release/archive/elfs-*.zip retention-days: 7 @@ -207,7 +207,7 @@ jobs: - name: Store debugging elf files as an artifact uses: actions/upload-artifact@v2 with: - name: ${{ matrix.board }}-debug-elfs + name: ${{ matrix.board }}-debug-elfs.zip path: release/archive/elfs-*.zip retention-days: 7 @@ -253,7 +253,7 @@ jobs: - name: Store binaries as an artifact uses: actions/upload-artifact@v2 with: - name: ${{ matrix.board }}-firmware-${{ steps.version.outputs.version }}.zip + name: native-firmware-${{ steps.version.outputs.version }}.zip path: release/archive/firmware-${{ steps.version.outputs.version }}.zip retention-days: 90 @@ -268,6 +268,7 @@ jobs: ref: ${{github.event.pull_request.head.ref}} repository: ${{github.event.pull_request.head.repo.full_name}} + - uses: actions/download-artifact@v2 # - name: Download firmware.zip # uses: actions/download-artifact@master # with: From 2d9fa82ca3e6099b5863db7d957211d03daa4e29 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sat, 12 Feb 2022 17:57:48 -0600 Subject: [PATCH 15/46] Dont package zips in zips --- .github/workflows/main_matrix.yml | 16 ++++++++-------- bin/build-esp32.sh | 12 ++++++------ bin/build-native.sh | 6 +++--- bin/build-nrf52.sh | 12 ++++++------ 4 files changed, 23 insertions(+), 23 deletions(-) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index 95e1d4b647..00f9c57fa7 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -19,7 +19,7 @@ on: jobs: - ci-check: + check: runs-on: ubuntu-latest steps: @@ -58,7 +58,7 @@ jobs: - name: Check everything run: bin/check-all.sh - ci-build-esp32: + build-esp32: strategy: fail-fast: false matrix: @@ -140,7 +140,7 @@ jobs: uses: actions/upload-artifact@v2 with: name: ${{ matrix.board }}-firmware-${{ steps.version.outputs.version }}.zip - path: release/archive/firmware-${{ steps.version.outputs.version }}.zip + path: release/archive/ retention-days: 90 - name: Store debugging elf files as an artifact @@ -150,7 +150,7 @@ jobs: path: release/archive/elfs-*.zip retention-days: 7 - ci-build-nrf52: + build-nrf52: strategy: fail-fast: false matrix: @@ -201,7 +201,7 @@ jobs: uses: actions/upload-artifact@v2 with: name: ${{ matrix.board }}-firmware-${{ steps.version.outputs.version }}.zip - path: release/archive/firmware-${{ steps.version.outputs.version }}.zip + path: release/archive/ retention-days: 90 - name: Store debugging elf files as an artifact @@ -211,7 +211,7 @@ jobs: path: release/archive/elfs-*.zip retention-days: 7 - ci-build-native: + build-native: runs-on: ubuntu-latest steps: @@ -254,12 +254,12 @@ jobs: uses: actions/upload-artifact@v2 with: name: native-firmware-${{ steps.version.outputs.version }}.zip - path: release/archive/firmware-${{ steps.version.outputs.version }}.zip + path: release/archive/ retention-days: 90 gather-artifacts: runs-on: ubuntu-latest - needs: [ci-build-esp32, ci-build-nrf52, ci-build-native] + needs: [build-esp32, build-nrf52, build-native] steps: - name: Checkout code uses: actions/checkout@v2 diff --git a/bin/build-esp32.sh b/bin/build-esp32.sh index 28732e7fcc..30672ac234 100755 --- a/bin/build-esp32.sh +++ b/bin/build-esp32.sh @@ -47,9 +47,9 @@ cp .pio/build/tbeam/spiffs.bin $OUTDIR/bins/universal/spiffs-$VERSION.bin # keep the bins in archive also cp $OUTDIR/bins/universal/spiffs* $OUTDIR/bins/universal/firmware* $OUTDIR/elfs/universal/firmware* $ARCHIVEDIR -echo Generating $ARCHIVEDIR/firmware-$VERSION.zip -rm -f $ARCHIVEDIR/firmware-$VERSION.zip -zip --junk-paths $ARCHIVEDIR/firmware-$VERSION.zip $ARCHIVEDIR/spiffs-$VERSION.bin $OUTDIR/bins/universal/firmware-*-$VERSION.* $OUTDIR/bins/universal/meshtasticd* images/system-info.bin bin/device-install.* bin/device-update.* -echo Generating $ARCHIVEDIR/elfs-$VERSION.zip -rm -f $ARCHIVEDIR/elfs-$VERSION.zip -zip --junk-paths $ARCHIVEDIR/elfs-$VERSION.zip $OUTDIR/elfs/universal/firmware-*-$VERSION.* +# echo Generating $ARCHIVEDIR/firmware-$VERSION.zip +# rm -f $ARCHIVEDIR/firmware-$VERSION.zip +# zip --junk-paths $ARCHIVEDIR/firmware-$VERSION.zip $ARCHIVEDIR/spiffs-$VERSION.bin $OUTDIR/bins/universal/firmware-*-$VERSION.* $OUTDIR/bins/universal/meshtasticd* images/system-info.bin bin/device-install.* bin/device-update.* +# echo Generating $ARCHIVEDIR/elfs-$VERSION.zip +# rm -f $ARCHIVEDIR/elfs-$VERSION.zip +# zip --junk-paths $ARCHIVEDIR/elfs-$VERSION.zip $OUTDIR/elfs/universal/firmware-*-$VERSION.* diff --git a/bin/build-native.sh b/bin/build-native.sh index 42fd6e1787..de35f76e45 100755 --- a/bin/build-native.sh +++ b/bin/build-native.sh @@ -25,7 +25,7 @@ platformio lib update pio run --environment native cp .pio/build/native/program $OUTDIR/bins/universal/meshtasticd_linux_amd64 -echo Generating $ARCHIVEDIR/firmware-$VERSION.zip -rm -f $ARCHIVEDIR/firmware-$VERSION.zip -zip --junk-paths $ARCHIVEDIR/firmware-$VERSION.zip $ARCHIVEDIR/spiffs-$VERSION.bin $OUTDIR/bins/universal/firmware-*-$VERSION.* $OUTDIR/bins/universal/meshtasticd* images/system-info.bin bin/device-install.* bin/device-update.* +# echo Generating $ARCHIVEDIR/firmware-$VERSION.zip +# rm -f $ARCHIVEDIR/firmware-$VERSION.zip +# zip --junk-paths $ARCHIVEDIR/firmware-$VERSION.zip $ARCHIVEDIR/spiffs-$VERSION.bin $OUTDIR/bins/universal/firmware-*-$VERSION.* $OUTDIR/bins/universal/meshtasticd* images/system-info.bin bin/device-install.* bin/device-update.* diff --git a/bin/build-nrf52.sh b/bin/build-nrf52.sh index 0f4c3d4fdd..c6149dabe3 100755 --- a/bin/build-nrf52.sh +++ b/bin/build-nrf52.sh @@ -39,9 +39,9 @@ echo "Generating NRF52 uf2 file" SRCHEX=.pio/build/$1/firmware.hex bin/uf2conv.py $SRCHEX -c -o $OUTDIR/bins/$basename.uf2 -f 0xADA52840 -echo Generating $ARCHIVEDIR/firmware-$VERSION.zip -rm -f $ARCHIVEDIR/firmware-$VERSION.zip -zip --junk-paths $ARCHIVEDIR/firmware-$VERSION.zip $ARCHIVEDIR/spiffs-$VERSION.bin $OUTDIR/bins/universal/firmware-*-$VERSION.* $OUTDIR/bins/universal/meshtasticd* images/system-info.bin bin/device-install.* bin/device-update.* -echo Generating $ARCHIVEDIR/elfs-$VERSION.zip -rm -f $ARCHIVEDIR/elfs-$VERSION.zip -zip --junk-paths $ARCHIVEDIR/elfs-$VERSION.zip $OUTDIR/elfs/universal/firmware-*-$VERSION.* +# echo Generating $ARCHIVEDIR/firmware-$VERSION.zip +# rm -f $ARCHIVEDIR/firmware-$VERSION.zip +# zip --junk-paths $ARCHIVEDIR/firmware-$VERSION.zip $ARCHIVEDIR/spiffs-$VERSION.bin $OUTDIR/bins/universal/firmware-*-$VERSION.* $OUTDIR/bins/universal/meshtasticd* images/system-info.bin bin/device-install.* bin/device-update.* +# echo Generating $ARCHIVEDIR/elfs-$VERSION.zip +# rm -f $ARCHIVEDIR/elfs-$VERSION.zip +# zip --junk-paths $ARCHIVEDIR/elfs-$VERSION.zip $OUTDIR/elfs/universal/firmware-*-$VERSION.* From 0ef75f01aeb3cbdcac112e4574c06f65e4ca42e2 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sat, 12 Feb 2022 18:38:23 -0600 Subject: [PATCH 16/46] Wildcard gathers --- .github/workflows/main_matrix.yml | 27 ++++++++++----------------- bin/build-esp32.sh | 17 ++--------------- bin/build-native.sh | 10 +++------- bin/build-nrf52.sh | 11 +---------- 4 files changed, 16 insertions(+), 49 deletions(-) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index 00f9c57fa7..316e479ff2 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -140,16 +140,11 @@ jobs: uses: actions/upload-artifact@v2 with: name: ${{ matrix.board }}-firmware-${{ steps.version.outputs.version }}.zip - path: release/archive/ + path: + - release/**/*.bin + - release/**/*.elf retention-days: 90 - - name: Store debugging elf files as an artifact - uses: actions/upload-artifact@v2 - with: - name: ${{ matrix.board }}-debug-elfs.zip - path: release/archive/elfs-*.zip - retention-days: 7 - build-nrf52: strategy: fail-fast: false @@ -201,16 +196,11 @@ jobs: uses: actions/upload-artifact@v2 with: name: ${{ matrix.board }}-firmware-${{ steps.version.outputs.version }}.zip - path: release/archive/ + path: + - release/**/*.uf2 + - release/**/*.elf retention-days: 90 - - name: Store debugging elf files as an artifact - uses: actions/upload-artifact@v2 - with: - name: ${{ matrix.board }}-debug-elfs.zip - path: release/archive/elfs-*.zip - retention-days: 7 - build-native: runs-on: ubuntu-latest steps: @@ -254,7 +244,10 @@ jobs: uses: actions/upload-artifact@v2 with: name: native-firmware-${{ steps.version.outputs.version }}.zip - path: release/archive/ + path: + - release/**/*firmware* + - release/**/*.sh + - release/**/*.bat retention-days: 90 gather-artifacts: diff --git a/bin/build-esp32.sh b/bin/build-esp32.sh index 30672ac234..fa143617a1 100755 --- a/bin/build-esp32.sh +++ b/bin/build-esp32.sh @@ -7,12 +7,9 @@ SHORT_VERSION=`bin/buildinfo.py short` OUTDIR=release/latest -# We keep all old builds (and their map files in the archive dir) -ARCHIVEDIR=release/archive - rm -f $OUTDIR/firmware* -mkdir -p $OUTDIR/bins $ARCHIVEDIR +mkdir -p $OUTDIR/bins rm -r $OUTDIR/bins/* || true mkdir -p $OUTDIR/bins/universal $OUTDIR/elfs/universal @@ -42,14 +39,4 @@ cp $SRCBIN $OUTDIR/bins/$basename.bin echo "Building SPIFFS for ESP32 targets" pio run --environment tbeam -t buildfs -cp .pio/build/tbeam/spiffs.bin $OUTDIR/bins/universal/spiffs-$VERSION.bin - -# keep the bins in archive also -cp $OUTDIR/bins/universal/spiffs* $OUTDIR/bins/universal/firmware* $OUTDIR/elfs/universal/firmware* $ARCHIVEDIR - -# echo Generating $ARCHIVEDIR/firmware-$VERSION.zip -# rm -f $ARCHIVEDIR/firmware-$VERSION.zip -# zip --junk-paths $ARCHIVEDIR/firmware-$VERSION.zip $ARCHIVEDIR/spiffs-$VERSION.bin $OUTDIR/bins/universal/firmware-*-$VERSION.* $OUTDIR/bins/universal/meshtasticd* images/system-info.bin bin/device-install.* bin/device-update.* -# echo Generating $ARCHIVEDIR/elfs-$VERSION.zip -# rm -f $ARCHIVEDIR/elfs-$VERSION.zip -# zip --junk-paths $ARCHIVEDIR/elfs-$VERSION.zip $OUTDIR/elfs/universal/firmware-*-$VERSION.* +cp .pio/build/tbeam/spiffs.bin $OUTDIR/bins/universal/spiffs-$VERSION.bin \ No newline at end of file diff --git a/bin/build-native.sh b/bin/build-native.sh index de35f76e45..67abea6b28 100755 --- a/bin/build-native.sh +++ b/bin/build-native.sh @@ -7,12 +7,9 @@ SHORT_VERSION=`bin/buildinfo.py short` OUTDIR=release/latest -# We keep all old builds (and their map files in the archive dir) -ARCHIVEDIR=release/archive - rm -f $OUTDIR/firmware* -mkdir -p $OUTDIR/bins $ARCHIVEDIR +mkdir -p $OUTDIR/bins rm -r $OUTDIR/bins/* || true mkdir -p $OUTDIR/bins/universal $OUTDIR/elfs/universal @@ -25,7 +22,6 @@ platformio lib update pio run --environment native cp .pio/build/native/program $OUTDIR/bins/universal/meshtasticd_linux_amd64 -# echo Generating $ARCHIVEDIR/firmware-$VERSION.zip -# rm -f $ARCHIVEDIR/firmware-$VERSION.zip -# zip --junk-paths $ARCHIVEDIR/firmware-$VERSION.zip $ARCHIVEDIR/spiffs-$VERSION.bin $OUTDIR/bins/universal/firmware-*-$VERSION.* $OUTDIR/bins/universal/meshtasticd* images/system-info.bin bin/device-install.* bin/device-update.* +cp bin/device-install.* $OUTDIR +cp bin/device-update.* $OUTDIR diff --git a/bin/build-nrf52.sh b/bin/build-nrf52.sh index c6149dabe3..401275f9a1 100755 --- a/bin/build-nrf52.sh +++ b/bin/build-nrf52.sh @@ -7,11 +7,9 @@ SHORT_VERSION=`bin/buildinfo.py short` OUTDIR=release/latest -ARCHIVEDIR=release/archive - rm -f $OUTDIR/firmware* -mkdir -p $OUTDIR/bins $ARCHIVEDIR +mkdir -p $OUTDIR/bins rm -r $OUTDIR/bins/* || true mkdir -p $OUTDIR/bins/universal $OUTDIR/elfs/universal @@ -38,10 +36,3 @@ cp $SRCELF $OUTDIR/elfs/$basename.elf echo "Generating NRF52 uf2 file" SRCHEX=.pio/build/$1/firmware.hex bin/uf2conv.py $SRCHEX -c -o $OUTDIR/bins/$basename.uf2 -f 0xADA52840 - -# echo Generating $ARCHIVEDIR/firmware-$VERSION.zip -# rm -f $ARCHIVEDIR/firmware-$VERSION.zip -# zip --junk-paths $ARCHIVEDIR/firmware-$VERSION.zip $ARCHIVEDIR/spiffs-$VERSION.bin $OUTDIR/bins/universal/firmware-*-$VERSION.* $OUTDIR/bins/universal/meshtasticd* images/system-info.bin bin/device-install.* bin/device-update.* -# echo Generating $ARCHIVEDIR/elfs-$VERSION.zip -# rm -f $ARCHIVEDIR/elfs-$VERSION.zip -# zip --junk-paths $ARCHIVEDIR/elfs-$VERSION.zip $OUTDIR/elfs/universal/firmware-*-$VERSION.* From bcb2f3c468e3adfc5e48b20f3f6ba80f793b973e Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sat, 12 Feb 2022 18:42:54 -0600 Subject: [PATCH 17/46] Wildcard gathers --- .github/workflows/main_matrix.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index 316e479ff2..eba930eded 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -140,9 +140,9 @@ jobs: uses: actions/upload-artifact@v2 with: name: ${{ matrix.board }}-firmware-${{ steps.version.outputs.version }}.zip - path: - - release/**/*.bin - - release/**/*.elf + path: | + release/**/*.bin + release/**/*.elf retention-days: 90 build-nrf52: @@ -196,9 +196,9 @@ jobs: uses: actions/upload-artifact@v2 with: name: ${{ matrix.board }}-firmware-${{ steps.version.outputs.version }}.zip - path: - - release/**/*.uf2 - - release/**/*.elf + path: | + release/**/*.uf2 + release/**/*.elf retention-days: 90 build-native: @@ -244,10 +244,10 @@ jobs: uses: actions/upload-artifact@v2 with: name: native-firmware-${{ steps.version.outputs.version }}.zip - path: - - release/**/*firmware* - - release/**/*.sh - - release/**/*.bat + path: | + release/**/*firmware* + release/**/*.sh + release/**/*.bat retention-days: 90 gather-artifacts: From cda1fd9d11ea02f0b1972d1dc3a849fd5102376d Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sat, 12 Feb 2022 19:03:03 -0600 Subject: [PATCH 18/46] Wildcard gathers --- .github/workflows/main_matrix.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index eba930eded..25583120c1 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -139,7 +139,7 @@ jobs: - name: Store binaries as an artifact uses: actions/upload-artifact@v2 with: - name: ${{ matrix.board }}-firmware-${{ steps.version.outputs.version }}.zip + name: firmware-${{ matrix.board }}-${{ steps.version.outputs.version }}.zip path: | release/**/*.bin release/**/*.elf @@ -195,7 +195,7 @@ jobs: - name: Store binaries as an artifact uses: actions/upload-artifact@v2 with: - name: ${{ matrix.board }}-firmware-${{ steps.version.outputs.version }}.zip + name: firmware-${{ matrix.board }}-${{ steps.version.outputs.version }}.zip path: | release/**/*.uf2 release/**/*.elf @@ -243,7 +243,7 @@ jobs: - name: Store binaries as an artifact uses: actions/upload-artifact@v2 with: - name: native-firmware-${{ steps.version.outputs.version }}.zip + name: firmware-native-${{ steps.version.outputs.version }}.zip path: | release/**/*firmware* release/**/*.sh From 4d905fbc65218391bbcde3c8385c182c489a3eab Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sat, 12 Feb 2022 19:47:01 -0600 Subject: [PATCH 19/46] Wildcard gathers --- .github/workflows/main_matrix.yml | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index 25583120c1..f27d2d6796 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -141,8 +141,8 @@ jobs: with: name: firmware-${{ matrix.board }}-${{ steps.version.outputs.version }}.zip path: | - release/**/*.bin - release/**/*.elf + release/latest/bins/universal/*.bin + release/latest/elfs/universal/*.elf retention-days: 90 build-nrf52: @@ -261,18 +261,14 @@ jobs: ref: ${{github.event.pull_request.head.ref}} repository: ${{github.event.pull_request.head.repo.full_name}} - - uses: actions/download-artifact@v2 - # - name: Download firmware.zip - # uses: actions/download-artifact@master - # with: - # name: firmware-${{ steps.version.outputs.version }}.zip - # path: ./ - - # - name: Pull request artifacts - # if: ${{ github.event_name == 'pull_request_target' || github.event_name == 'pull_request' }} - # uses: gavv/pull-request-artifacts@v1.0.0 - # with: - # commit: ${{ (github.event.pull_request_target || github.event.pull_request).head.sha }} - # repo-token: ${{ secrets.GITHUB_TOKEN }} - # artifacts-branch: artifacts - # artifacts: ./firmware-${{ steps.version.outputs.version }}.zip + - name: Unzip all firmware + run: for z in *.zip; do unzip "$z"; done + + - name: Create request artifacts + if: ${{ github.event_name == 'pull_request_target' || github.event_name == 'pull_request' }} + uses: gavv/pull-request-artifacts@v1.0.0 + with: + commit: ${{ (github.event.pull_request_target || github.event.pull_request).head.sha }} + repo-token: ${{ secrets.GITHUB_TOKEN }} + artifacts-branch: artifacts + artifacts: ./firmware-${{ steps.version.outputs.version }}.zip From 168fe75864f527e747a817dd2aa7e9f0bd601cb8 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sat, 12 Feb 2022 20:25:48 -0600 Subject: [PATCH 20/46] Flatten folders --- .github/workflows/main_matrix.yml | 24 ++++++++++++------------ bin/build-esp32.sh | 16 ++++++++-------- bin/build-native.sh | 9 ++++----- bin/build-nrf52.sh | 14 +++++++------- 4 files changed, 31 insertions(+), 32 deletions(-) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index f27d2d6796..55b784d64f 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -119,16 +119,6 @@ jobs: tar -xf build.tar -C data/static rm build.tar - # 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 ESP32 run: bin/build-esp32.sh ${{ matrix.board }} @@ -233,6 +223,16 @@ jobs: run: | pio upgrade + # 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 Native run: bin/build-native.sh @@ -260,9 +260,9 @@ jobs: submodules: 'recursive' ref: ${{github.event.pull_request.head.ref}} repository: ${{github.event.pull_request.head.repo.full_name}} - + - uses: actions/download-artifact@v2 - name: Unzip all firmware - run: for z in *.zip; do unzip "$z"; done + run: for z in *.zip; do unzip "$z" -j; done - name: Create request artifacts if: ${{ github.event_name == 'pull_request_target' || github.event_name == 'pull_request' }} diff --git a/bin/build-esp32.sh b/bin/build-esp32.sh index fa143617a1..5525c4eaa2 100755 --- a/bin/build-esp32.sh +++ b/bin/build-esp32.sh @@ -5,13 +5,10 @@ set -e VERSION=`bin/buildinfo.py long` SHORT_VERSION=`bin/buildinfo.py short` -OUTDIR=release/latest +OUTDIR=release/ rm -f $OUTDIR/firmware* - -mkdir -p $OUTDIR/bins -rm -r $OUTDIR/bins/* || true -mkdir -p $OUTDIR/bins/universal $OUTDIR/elfs/universal +rm -r $OUTDIR/* || true # Make sure our submodules are current git submodule update @@ -31,12 +28,15 @@ basename=universal/firmware-$1-$VERSION pio run --environment $1 # -v SRCELF=.pio/build/$1/firmware.elf -cp $SRCELF $OUTDIR/elfs/$basename.elf +cp $SRCELF $OUTDIR/$basename.elf echo "Copying ESP32 bin file" SRCBIN=.pio/build/$1/firmware.bin -cp $SRCBIN $OUTDIR/bins/$basename.bin +cp $SRCBIN $OUTDIR/$basename.bin echo "Building SPIFFS for ESP32 targets" pio run --environment tbeam -t buildfs -cp .pio/build/tbeam/spiffs.bin $OUTDIR/bins/universal/spiffs-$VERSION.bin \ No newline at end of file +cp .pio/build/tbeam/spiffs.bin $OUTDIR/spiffs-$VERSION.bin + +cp bin/device-install.* $OUTDIR +cp bin/device-update.* $OUTDIR diff --git a/bin/build-native.sh b/bin/build-native.sh index 67abea6b28..31ef011559 100755 --- a/bin/build-native.sh +++ b/bin/build-native.sh @@ -5,13 +5,12 @@ set -e VERSION=`bin/buildinfo.py long` SHORT_VERSION=`bin/buildinfo.py short` -OUTDIR=release/latest +OUTDIR=release/ rm -f $OUTDIR/firmware* -mkdir -p $OUTDIR/bins -rm -r $OUTDIR/bins/* || true -mkdir -p $OUTDIR/bins/universal $OUTDIR/elfs/universal +mkdir -p $OUTDIR/ +rm -r $OUTDIR/* || true # Make sure our submodules are current git submodule update @@ -20,7 +19,7 @@ git submodule update platformio lib update pio run --environment native -cp .pio/build/native/program $OUTDIR/bins/universal/meshtasticd_linux_amd64 +cp .pio/build/native/program $OUTDIR/meshtasticd_linux_amd64 cp bin/device-install.* $OUTDIR cp bin/device-update.* $OUTDIR diff --git a/bin/build-nrf52.sh b/bin/build-nrf52.sh index 401275f9a1..86dde251a9 100755 --- a/bin/build-nrf52.sh +++ b/bin/build-nrf52.sh @@ -5,13 +5,10 @@ set -e VERSION=`bin/buildinfo.py long` SHORT_VERSION=`bin/buildinfo.py short` -OUTDIR=release/latest +OUTDIR=release/ rm -f $OUTDIR/firmware* - -mkdir -p $OUTDIR/bins -rm -r $OUTDIR/bins/* || true -mkdir -p $OUTDIR/bins/universal $OUTDIR/elfs/universal +rm -r $OUTDIR/* || true # Make sure our submodules are current git submodule update @@ -31,8 +28,11 @@ basename=universal/firmware-$1-$VERSION pio run --environment $1 # -v SRCELF=.pio/build/$1/firmware.elf -cp $SRCELF $OUTDIR/elfs/$basename.elf +cp $SRCELF $OUTDIR/$basename.elf echo "Generating NRF52 uf2 file" SRCHEX=.pio/build/$1/firmware.hex -bin/uf2conv.py $SRCHEX -c -o $OUTDIR/bins/$basename.uf2 -f 0xADA52840 +bin/uf2conv.py $SRCHEX -c -o $OUTDIR/$basename.uf2 -f 0xADA52840 + +cp bin/device-install.* $OUTDIR +cp bin/device-update.* $OUTDIR From a7624fbe779b287c750f45c086290ddff0660ce9 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sat, 12 Feb 2022 20:25:56 -0600 Subject: [PATCH 21/46] Flatten folders --- .github/workflows/main_matrix.yml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index 55b784d64f..0616bbb02e 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -254,16 +254,14 @@ jobs: runs-on: ubuntu-latest needs: [build-esp32, build-nrf52, build-native] steps: - - name: Checkout code - uses: actions/checkout@v2 - with: - submodules: 'recursive' - ref: ${{github.event.pull_request.head.ref}} - repository: ${{github.event.pull_request.head.repo.full_name}} - uses: actions/download-artifact@v2 + - name: Unzip all firmware run: for z in *.zip; do unzip "$z" -j; done + - name: Unzip all firmware + run: zip firmware-${{ steps.version.outputs.version }}.zip firmware* -r -k + - name: Create request artifacts if: ${{ github.event_name == 'pull_request_target' || github.event_name == 'pull_request' }} uses: gavv/pull-request-artifacts@v1.0.0 From 8ee4b3c09a883c92b0402a400637f96c220e9102 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sat, 12 Feb 2022 20:42:51 -0600 Subject: [PATCH 22/46] Flatten folders again --- .github/workflows/main_matrix.yml | 4 ++-- bin/build-esp32.sh | 2 +- bin/build-nrf52.sh | 3 +-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index 0616bbb02e..99792f78c9 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -131,8 +131,8 @@ jobs: with: name: firmware-${{ matrix.board }}-${{ steps.version.outputs.version }}.zip path: | - release/latest/bins/universal/*.bin - release/latest/elfs/universal/*.elf + release/*.bin + release/*.elf retention-days: 90 build-nrf52: diff --git a/bin/build-esp32.sh b/bin/build-esp32.sh index 5525c4eaa2..2bf4db2c3f 100755 --- a/bin/build-esp32.sh +++ b/bin/build-esp32.sh @@ -24,7 +24,7 @@ export APP_VERSION=$VERSION # Are we building a universal/regionless rom? export HW_VERSION="1.0" -basename=universal/firmware-$1-$VERSION +basename=firmware-$1-$VERSION pio run --environment $1 # -v SRCELF=.pio/build/$1/firmware.elf diff --git a/bin/build-nrf52.sh b/bin/build-nrf52.sh index 86dde251a9..243a440274 100755 --- a/bin/build-nrf52.sh +++ b/bin/build-nrf52.sh @@ -22,9 +22,8 @@ rm -f .pio/build/$1/firmware.* # The shell vars the build tool expects to find export APP_VERSION=$VERSION -# Are we building a universal/regionless rom? export HW_VERSION="1.0" -basename=universal/firmware-$1-$VERSION +basename=firmware-$1-$VERSION pio run --environment $1 # -v SRCELF=.pio/build/$1/firmware.elf From ae9f3c1af0ecc64d2b1dce326923572e2c993f8c Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sun, 13 Feb 2022 07:34:08 -0600 Subject: [PATCH 23/46] Unzip artifacts --- .github/workflows/main_matrix.yml | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index 99792f78c9..4f63a7b505 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -1,6 +1,6 @@ name: Continuous Integration on: - # # Triggers the workflow on push or pull request events but only for the master branch + # # Triggers the workflow on push but only for the master branch push: branches: [ master ] paths-ignore: @@ -245,9 +245,9 @@ jobs: with: name: firmware-native-${{ steps.version.outputs.version }}.zip path: | - release/**/*firmware* - release/**/*.sh - release/**/*.bat + release/meshtasticd_linux_amd64 + release/device-install.sh + release/device-install.bat retention-days: 90 gather-artifacts: @@ -256,10 +256,14 @@ jobs: steps: - uses: actions/download-artifact@v2 - - name: Unzip all firmware - run: for z in *.zip; do unzip "$z" -j; done + - name: Unzip all firmware zips + run: unzip *.zip --j - - name: Unzip all firmware + # For diagnostics + - name: Show artifacts + run: ls -lR + + - name: Repackage in single zip run: zip firmware-${{ steps.version.outputs.version }}.zip firmware* -r -k - name: Create request artifacts From e22958bd768ed6c7c04157936d07127078aff6d5 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sun, 13 Feb 2022 07:42:46 -0600 Subject: [PATCH 24/46] Artifacts repackaging --- .github/workflows/main_matrix.yml | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index 4f63a7b505..dd5b366a5f 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -187,8 +187,8 @@ jobs: with: name: firmware-${{ matrix.board }}-${{ steps.version.outputs.version }}.zip path: | - release/**/*.uf2 - release/**/*.elf + release/*.uf2 + release/*.elf retention-days: 90 build-native: @@ -248,6 +248,8 @@ jobs: release/meshtasticd_linux_amd64 release/device-install.sh release/device-install.bat + release/device-update.sh + release/device-update.bat retention-days: 90 gather-artifacts: @@ -263,8 +265,26 @@ jobs: - name: Show artifacts run: ls -lR - - name: Repackage in single zip - run: zip firmware-${{ steps.version.outputs.version }}.zip firmware* -r -k + - name: Repackage in single firmware zip + uses: actions/upload-artifact@v2 + with: + name: firmware-${{ steps.version.outputs.version }}.zip + path: | + ./*.bin + ./*.uf2 + meshtasticd_linux_amd64 + device-install.sh + device-install.bat + device-update.sh + device-update.bat + retention-days: 90 + + - name: Repackage in single elfs zip + uses: actions/upload-artifact@v2 + with: + name: debug-elfs-${{ steps.version.outputs.version }}.zip + path: ./*.elf + retention-days: 90 - name: Create request artifacts if: ${{ github.event_name == 'pull_request_target' || github.event_name == 'pull_request' }} From 058c8966e8a388c18e809e978342323ebd2304ea Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sun, 13 Feb 2022 07:53:25 -0600 Subject: [PATCH 25/46] Download to root --- .github/workflows/main_matrix.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index dd5b366a5f..13fb30e98a 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -257,14 +257,16 @@ jobs: needs: [build-esp32, build-nrf52, build-native] steps: - uses: actions/download-artifact@v2 - - - name: Unzip all firmware zips - run: unzip *.zip --j + with: + path: ./ # For diagnostics - name: Show artifacts run: ls -lR + - name: Unzip all firmware zips + run: unzip *.zip --j + - name: Repackage in single firmware zip uses: actions/upload-artifact@v2 with: From 350995a99e7f7fa2b4706f911bb365e265460068 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sun, 13 Feb 2022 08:11:14 -0600 Subject: [PATCH 26/46] No need to repackage --- .github/workflows/main_matrix.yml | 23 ++++++++--------------- bin/build-esp32.sh | 1 + 2 files changed, 9 insertions(+), 15 deletions(-) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index 13fb30e98a..05fc4aedb1 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -246,10 +246,8 @@ jobs: name: firmware-native-${{ steps.version.outputs.version }}.zip path: | release/meshtasticd_linux_amd64 - release/device-install.sh - release/device-install.bat - release/device-update.sh - release/device-update.bat + release/device-*.sh + release/device-*.bat retention-days: 90 gather-artifacts: @@ -264,28 +262,23 @@ jobs: - name: Show artifacts run: ls -lR - - name: Unzip all firmware zips - run: unzip *.zip --j - - name: Repackage in single firmware zip uses: actions/upload-artifact@v2 with: name: firmware-${{ steps.version.outputs.version }}.zip path: | - ./*.bin - ./*.uf2 - meshtasticd_linux_amd64 - device-install.sh - device-install.bat - device-update.sh - device-update.bat + ./**/*.bin + ./**/*.uf2 + ./**/meshtasticd_linux_amd64 + ./**/device-*.sh + ./**/device-*.bat retention-days: 90 - name: Repackage in single elfs zip uses: actions/upload-artifact@v2 with: name: debug-elfs-${{ steps.version.outputs.version }}.zip - path: ./*.elf + path: ./**/*.elf retention-days: 90 - name: Create request artifacts diff --git a/bin/build-esp32.sh b/bin/build-esp32.sh index 2bf4db2c3f..3f87b79f3b 100755 --- a/bin/build-esp32.sh +++ b/bin/build-esp32.sh @@ -37,6 +37,7 @@ cp $SRCBIN $OUTDIR/$basename.bin echo "Building SPIFFS for ESP32 targets" pio run --environment tbeam -t buildfs cp .pio/build/tbeam/spiffs.bin $OUTDIR/spiffs-$VERSION.bin +cp images/system-info.bin $OUTDIR/system-info.bin cp bin/device-install.* $OUTDIR cp bin/device-update.* $OUTDIR From 9b4446bd161d21f09acb2a86b2286e9b985ed0d8 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sun, 13 Feb 2022 08:16:41 -0600 Subject: [PATCH 27/46] Check in parallel --- .github/workflows/main_matrix.yml | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index 05fc4aedb1..fd1615d35f 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -20,6 +20,25 @@ on: jobs: check: + strategy: + fail-fast: false + matrix: + include: + - board: rak11200 + - board: tlora-v2 + - board: tlora-v1 + - board: tlora_v1_3 + - board: tlora-v2-1-1.6 + - board: tbeam + - board: heltec-v1 + - board: heltec-v2.0 + - board: heltec-v2.1 + - board: tbeam0.7 + - board: meshtastic-diy-v1 + - board: rak4631_5005 + - board: rak4631_19003 + - board: t-echo + runs-on: ubuntu-latest steps: @@ -56,7 +75,7 @@ jobs: pio upgrade - name: Check everything - run: bin/check-all.sh + run: bin/check-all.sh ${{ matrix.board }} build-esp32: strategy: From 28a35812ba4f38caa8f6523aee05eccdbb4fab43 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sun, 13 Feb 2022 08:24:29 -0600 Subject: [PATCH 28/46] Check in parallel --- .github/workflows/main_matrix.yml | 36 +++++++++++++++---------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index fd1615d35f..6218692359 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -21,24 +21,24 @@ jobs: check: strategy: - fail-fast: false - matrix: - include: - - board: rak11200 - - board: tlora-v2 - - board: tlora-v1 - - board: tlora_v1_3 - - board: tlora-v2-1-1.6 - - board: tbeam - - board: heltec-v1 - - board: heltec-v2.0 - - board: heltec-v2.1 - - board: tbeam0.7 - - board: meshtastic-diy-v1 - - board: rak4631_5005 - - board: rak4631_19003 - - board: t-echo - + fail-fast: false + matrix: + include: + - board: rak11200 + - board: tlora-v2 + - board: tlora-v1 + - board: tlora_v1_3 + - board: tlora-v2-1-1.6 + - board: tbeam + - board: heltec-v1 + - board: heltec-v2.0 + - board: heltec-v2.1 + - board: tbeam0.7 + - board: meshtastic-diy-v1 + - board: rak4631_5005 + - board: rak4631_19003 + - board: t-echo + runs-on: ubuntu-latest steps: From c9fb50b9b703b2eb57f8fa7204686be94e0ebb2e Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sun, 13 Feb 2022 08:35:18 -0600 Subject: [PATCH 29/46] Move assets up one dir --- .github/workflows/main_matrix.yml | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index 6218692359..5342e1dbb3 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -74,7 +74,7 @@ jobs: run: | pio upgrade - - name: Check everything + - name: Check ${{ matrix.board }} run: bin/check-all.sh ${{ matrix.board }} build-esp32: @@ -281,23 +281,30 @@ jobs: - name: Show artifacts run: ls -lR + - name: Get release version string + run: echo "::set-output name=version::$(./bin/buildinfo.py long)" + id: version + + - name: Move files up + run: mv -t ./ ./**/*.bin ./**/*.uf2 ./**/*.elf ./**/meshtasticd_linux_amd64 ./**/*device-*.sh ./**/*device-*.bat + - name: Repackage in single firmware zip uses: actions/upload-artifact@v2 with: name: firmware-${{ steps.version.outputs.version }}.zip path: | - ./**/*.bin - ./**/*.uf2 - ./**/meshtasticd_linux_amd64 - ./**/device-*.sh - ./**/device-*.bat + ./*.bin + ./*.uf2 + ./meshtasticd_linux_amd64 + ./device-*.sh + ./device-*.bat retention-days: 90 - name: Repackage in single elfs zip uses: actions/upload-artifact@v2 with: name: debug-elfs-${{ steps.version.outputs.version }}.zip - path: ./**/*.elf + path: ./*.elf retention-days: 90 - name: Create request artifacts From 7721812e73ed8e016a251f768d60b308e666e7d5 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sun, 13 Feb 2022 08:52:00 -0600 Subject: [PATCH 30/46] Attempt to ignore colissions --- .github/workflows/main_matrix.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index 5342e1dbb3..fe1cb4d4e5 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -286,7 +286,7 @@ jobs: id: version - name: Move files up - run: mv -t ./ ./**/*.bin ./**/*.uf2 ./**/*.elf ./**/meshtasticd_linux_amd64 ./**/*device-*.sh ./**/*device-*.bat + run: mv -b -t ./ ./**/*.bin ./**/*.uf2 ./**/*.elf ./**/meshtasticd_linux_amd64 ./**/*device-*.sh ./**/*device-*.bat - name: Repackage in single firmware zip uses: actions/upload-artifact@v2 From 4e54ef9aaf542d36e451f5c98fb59ae130b01c00 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sun, 13 Feb 2022 09:06:11 -0600 Subject: [PATCH 31/46] Copy spiffs and system separately --- .github/workflows/main_matrix.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index fe1cb4d4e5..63bdd2d0b6 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -286,7 +286,7 @@ jobs: id: version - name: Move files up - run: mv -b -t ./ ./**/*.bin ./**/*.uf2 ./**/*.elf ./**/meshtasticd_linux_amd64 ./**/*device-*.sh ./**/*device-*.bat + run: mv -b -t ./ ./*tbeam-*/spiffs*.bin ./*tbeam-*/system-info.bin ./**/firware*.bin ./**/*.uf2 ./**/*.elf ./**/meshtasticd_linux_amd64 ./*native/*device-*.sh ./*native/*device-*.bat - name: Repackage in single firmware zip uses: actions/upload-artifact@v2 From 4747d5c23282c29188a07ad0ec553e2568eb93a0 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sun, 13 Feb 2022 09:13:22 -0600 Subject: [PATCH 32/46] Fix glob --- .github/workflows/main_matrix.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index 63bdd2d0b6..c50e2a460f 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -286,7 +286,7 @@ jobs: id: version - name: Move files up - run: mv -b -t ./ ./*tbeam-*/spiffs*.bin ./*tbeam-*/system-info.bin ./**/firware*.bin ./**/*.uf2 ./**/*.elf ./**/meshtasticd_linux_amd64 ./*native/*device-*.sh ./*native/*device-*.bat + run: mv -b -t ./ ./*tbeam-*/spiffs*.bin ./*tbeam-*/system-info.bin ./**/firmware*.bin ./**/*.uf2 ./**/*.elf ./**/meshtasticd_linux_amd64 ./*native*/*device-*.sh ./*native*/*device-*.bat - name: Repackage in single firmware zip uses: actions/upload-artifact@v2 From 9ab224602506e7b2b42feb36a8b2973b1bd5dcb0 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sun, 13 Feb 2022 09:34:39 -0600 Subject: [PATCH 33/46] Generate version --- .github/workflows/main_matrix.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index c50e2a460f..5d15b391be 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -273,6 +273,13 @@ jobs: runs-on: ubuntu-latest needs: [build-esp32, build-nrf52, build-native] steps: + + - name: Checkout code + uses: actions/checkout@v2 + with: + ref: ${{github.event.pull_request.head.ref}} + repository: ${{github.event.pull_request.head.repo.full_name}} + - uses: actions/download-artifact@v2 with: path: ./ From 744889144270a832677f9ef558d82f1614e7a693 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sun, 13 Feb 2022 09:57:09 -0600 Subject: [PATCH 34/46] Path --- .github/workflows/main_matrix.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index 5d15b391be..73f937acfa 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -273,7 +273,7 @@ jobs: runs-on: ubuntu-latest needs: [build-esp32, build-nrf52, build-native] steps: - + - name: Checkout code uses: actions/checkout@v2 with: @@ -298,7 +298,7 @@ jobs: - name: Repackage in single firmware zip uses: actions/upload-artifact@v2 with: - name: firmware-${{ steps.version.outputs.version }}.zip + name: ./firmware-${{ steps.version.outputs.version }}.zip path: | ./*.bin ./*.uf2 From 2356cde5b282fbc4cdf540e71b07cdabea01eeb0 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sun, 13 Feb 2022 10:05:37 -0600 Subject: [PATCH 35/46] Download artifact as zip --- .github/workflows/main_matrix.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index 73f937acfa..3656f07e44 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -307,6 +307,11 @@ jobs: ./device-*.bat retention-days: 90 + - uses: actions/download-artifact@v2 + with: + name: firmware-${{ steps.version.outputs.version }}.zip + path: ./ + - name: Repackage in single elfs zip uses: actions/upload-artifact@v2 with: From b114f4384e5824dc110c103994e503b3e46cb127 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sun, 13 Feb 2022 10:13:46 -0600 Subject: [PATCH 36/46] Artifact name --- .github/workflows/main_matrix.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index 3656f07e44..c46b5b1dc5 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -326,4 +326,4 @@ jobs: commit: ${{ (github.event.pull_request_target || github.event.pull_request).head.sha }} repo-token: ${{ secrets.GITHUB_TOKEN }} artifacts-branch: artifacts - artifacts: ./firmware-${{ steps.version.outputs.version }}.zip + artifacts: firmware-${{ steps.version.outputs.version }}.zip From 2de13e1e2b9a7c0706fe7ab0b4a0d29cbbb7a237 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sun, 13 Feb 2022 10:26:55 -0600 Subject: [PATCH 37/46] Artifact name --- .github/workflows/main_matrix.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index c46b5b1dc5..e65a230be1 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -298,7 +298,7 @@ jobs: - name: Repackage in single firmware zip uses: actions/upload-artifact@v2 with: - name: ./firmware-${{ steps.version.outputs.version }}.zip + name: firmware-${{ steps.version.outputs.version }}.zip path: | ./*.bin ./*.uf2 From bc2532df133f511069de41f48fe3057863cf69c7 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sun, 13 Feb 2022 10:34:30 -0600 Subject: [PATCH 38/46] Artifact name upload --- .github/workflows/main_matrix.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index e65a230be1..a56a7f5839 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -326,4 +326,4 @@ jobs: commit: ${{ (github.event.pull_request_target || github.event.pull_request).head.sha }} repo-token: ${{ secrets.GITHUB_TOKEN }} artifacts-branch: artifacts - artifacts: firmware-${{ steps.version.outputs.version }}.zip + artifacts: ./firmware-${{ steps.version.outputs.version }}.zip From 9d73ad87812c24e29746a10b5de76132a86b9865 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sun, 13 Feb 2022 11:26:27 -0600 Subject: [PATCH 39/46] Update main_matrix.yml --- .github/workflows/main_matrix.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index a56a7f5839..788f66b363 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -310,7 +310,7 @@ jobs: - uses: actions/download-artifact@v2 with: name: firmware-${{ steps.version.outputs.version }}.zip - path: ./ + path: ./output - name: Repackage in single elfs zip uses: actions/upload-artifact@v2 @@ -326,4 +326,4 @@ jobs: commit: ${{ (github.event.pull_request_target || github.event.pull_request).head.sha }} repo-token: ${{ secrets.GITHUB_TOKEN }} artifacts-branch: artifacts - artifacts: ./firmware-${{ steps.version.outputs.version }}.zip + artifacts: ./output/firmware-${{ steps.version.outputs.version }}.zip From 1991f858d013ebd32d45b62a77be8e4e2111aec6 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sun, 13 Feb 2022 12:28:06 -0600 Subject: [PATCH 40/46] Zip artifact download --- .github/workflows/main_matrix.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index 788f66b363..8ef376a0fa 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -298,7 +298,7 @@ jobs: - name: Repackage in single firmware zip uses: actions/upload-artifact@v2 with: - name: firmware-${{ steps.version.outputs.version }}.zip + name: firmware-${{ steps.version.outputs.version }} path: | ./*.bin ./*.uf2 @@ -309,9 +309,12 @@ jobs: - uses: actions/download-artifact@v2 with: - name: firmware-${{ steps.version.outputs.version }}.zip + name: firmware-${{ steps.version.outputs.version }} path: ./output - + + - name: Move files up + run: zip -r firmware-${{ steps.version.outputs.version }}.zip ./output/firmware-${{ steps.version.outputs.version }} + - name: Repackage in single elfs zip uses: actions/upload-artifact@v2 with: From 965304571bbe9552f9484bcf10a59091e0349ffc Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sun, 13 Feb 2022 12:46:36 -0600 Subject: [PATCH 41/46] Path --- .github/workflows/main_matrix.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index 8ef376a0fa..40782cf77a 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -310,11 +310,11 @@ jobs: - uses: actions/download-artifact@v2 with: name: firmware-${{ steps.version.outputs.version }} - path: ./output + path: /output - - name: Move files up - run: zip -r firmware-${{ steps.version.outputs.version }}.zip ./output/firmware-${{ steps.version.outputs.version }} - + - name: Zip firmware + run: zip -r firmware-${{ steps.version.outputs.version }}.zip /output/firmware-${{ steps.version.outputs.version }} + - name: Repackage in single elfs zip uses: actions/upload-artifact@v2 with: @@ -329,4 +329,4 @@ jobs: commit: ${{ (github.event.pull_request_target || github.event.pull_request).head.sha }} repo-token: ${{ secrets.GITHUB_TOKEN }} artifacts-branch: artifacts - artifacts: ./output/firmware-${{ steps.version.outputs.version }}.zip + artifacts: /output/firmware-${{ steps.version.outputs.version }}.zip From d73ddd957363afedce30feaea684c26d8d0c2b8d Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sun, 13 Feb 2022 12:54:36 -0600 Subject: [PATCH 42/46] Diagnostics --- .github/workflows/main_matrix.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index 40782cf77a..1ca7fad398 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -284,10 +284,6 @@ jobs: with: path: ./ - # For diagnostics - - name: Show artifacts - run: ls -lR - - name: Get release version string run: echo "::set-output name=version::$(./bin/buildinfo.py long)" id: version @@ -311,7 +307,11 @@ jobs: with: name: firmware-${{ steps.version.outputs.version }} path: /output - + + # For diagnostics + - name: Show artifacts + run: ls -lR + - name: Zip firmware run: zip -r firmware-${{ steps.version.outputs.version }}.zip /output/firmware-${{ steps.version.outputs.version }} From 818bfbcc7f30e3de8285dd0e5a26e2cd88866d6e Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sun, 13 Feb 2022 12:55:18 -0600 Subject: [PATCH 43/46] Diagnostics --- .github/workflows/main_matrix.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index 1ca7fad398..b528973673 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -306,14 +306,14 @@ jobs: - uses: actions/download-artifact@v2 with: name: firmware-${{ steps.version.outputs.version }} - path: /output + path: ./output # For diagnostics - name: Show artifacts run: ls -lR - name: Zip firmware - run: zip -r firmware-${{ steps.version.outputs.version }}.zip /output/firmware-${{ steps.version.outputs.version }} + run: zip -r firmware-${{ steps.version.outputs.version }}.zip ./output/firmware-${{ steps.version.outputs.version }} - name: Repackage in single elfs zip uses: actions/upload-artifact@v2 @@ -329,4 +329,4 @@ jobs: commit: ${{ (github.event.pull_request_target || github.event.pull_request).head.sha }} repo-token: ${{ secrets.GITHUB_TOKEN }} artifacts-branch: artifacts - artifacts: /output/firmware-${{ steps.version.outputs.version }}.zip + artifacts: ./output/firmware-${{ steps.version.outputs.version }}.zip From 670c22d724ad7fea30a8a52b21bf2d5171342157 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sun, 13 Feb 2022 13:12:07 -0600 Subject: [PATCH 44/46] Zip --- .github/workflows/main_matrix.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index b528973673..26fdf38d1a 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -313,7 +313,7 @@ jobs: run: ls -lR - name: Zip firmware - run: zip -r firmware-${{ steps.version.outputs.version }}.zip ./output/firmware-${{ steps.version.outputs.version }} + run: zip -r firmware-${{ steps.version.outputs.version }}.zip ./output - name: Repackage in single elfs zip uses: actions/upload-artifact@v2 From c1cc76d3f926bee3d040fb7835fffe3cc6646a01 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sun, 13 Feb 2022 13:20:18 -0600 Subject: [PATCH 45/46] Zip correct dir --- .github/workflows/main_matrix.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main_matrix.yml b/.github/workflows/main_matrix.yml index 26fdf38d1a..7198417240 100644 --- a/.github/workflows/main_matrix.yml +++ b/.github/workflows/main_matrix.yml @@ -313,7 +313,7 @@ jobs: run: ls -lR - name: Zip firmware - run: zip -r firmware-${{ steps.version.outputs.version }}.zip ./output + run: zip -r ./firmware-${{ steps.version.outputs.version }}.zip ./output - name: Repackage in single elfs zip uses: actions/upload-artifact@v2 @@ -329,4 +329,4 @@ jobs: commit: ${{ (github.event.pull_request_target || github.event.pull_request).head.sha }} repo-token: ${{ secrets.GITHUB_TOKEN }} artifacts-branch: artifacts - artifacts: ./output/firmware-${{ steps.version.outputs.version }}.zip + artifacts: ./firmware-${{ steps.version.outputs.version }}.zip From 5fea1ff8ad9d36632663e4c05adc505c711ff3a4 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sun, 13 Feb 2022 13:20:38 -0600 Subject: [PATCH 46/46] Update suppressions.txt --- suppressions.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/suppressions.txt b/suppressions.txt index cdf8587531..b0ef6c9929 100644 --- a/suppressions.txt +++ b/suppressions.txt @@ -12,6 +12,7 @@ duplInheritedMember // in src/mesh/MemoryPool.h memsetClassFloat + knownConditionTrueFalse // no real downside/harm in these