Skip to content

Commit ee6ea4b

Browse files
committed
Meshtastic build manifest
1 parent fe2e275 commit ee6ea4b

25 files changed

+299
-126
lines changed

.clusterfuzzlite/build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ for f in .clusterfuzzlite/*_fuzzer.cpp; do
5151
fuzzer=$(basename "$f" .cpp)
5252
cp -f "$f" src/fuzzer.cpp
5353
pio run -vvv --environment "$PIO_ENV"
54-
program="$PLATFORMIO_WORKSPACE_DIR/build/$PIO_ENV/program"
54+
program="$PLATFORMIO_WORKSPACE_DIR/build/$PIO_ENV/meshtasticd"
5555
cp "$program" "$OUT/$fuzzer"
5656

5757
# Copy shared libraries used by the fuzzer.

.github/actions/build-variant/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ runs:
102102
- name: Store binaries as an artifact
103103
uses: actions/upload-artifact@v4
104104
with:
105-
name: firmware-${{ inputs.arch }}-${{ inputs.board }}-${{ steps.version.outputs.long }}.zip
105+
name: firmware-${{ inputs.arch }}-${{ inputs.board }}-${{ steps.version.outputs.long }}
106106
overwrite: true
107107
path: |
108108
${{ inputs.artifact-paths }}

.github/workflows/build_firmware.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,12 @@ jobs:
5959
uses: actions/upload-artifact@v4
6060
id: upload
6161
with:
62-
name: firmware-${{ inputs.platform }}-${{ inputs.pio_env }}-${{ inputs.version }}.zip
62+
name: firmware-${{ inputs.platform }}-${{ inputs.pio_env }}-${{ inputs.version }}
6363
overwrite: true
6464
path: |
65+
release/*.mt.json
6566
release/*.bin
6667
release/*.elf
6768
release/*.uf2
6869
release/*.hex
69-
release/*-ota.zip
70+
release/*.zip

.github/workflows/build_one_arch.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ jobs:
190190
./firmware-*.bin
191191
./firmware-*.uf2
192192
./firmware-*.hex
193-
./firmware-*-ota.zip
193+
./firmware-*.zip
194194
./device-*.sh
195195
./device-*.bat
196196
./littlefs-*.bin
@@ -219,7 +219,7 @@ jobs:
219219
- name: Repackage in single elfs zip
220220
uses: actions/upload-artifact@v4
221221
with:
222-
name: debug-elfs-${{inputs.arch}}-${{ needs.version.outputs.long }}.zip
222+
name: debug-elfs-${{inputs.arch}}-${{ needs.version.outputs.long }}
223223
overwrite: true
224224
path: ./*.elf
225225
retention-days: 30

.github/workflows/build_one_target.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ jobs:
196196
./firmware-*.bin
197197
./firmware-*.uf2
198198
./firmware-*.hex
199-
./firmware-*-ota.zip
199+
./firmware-*.zip
200200
./device-*.sh
201201
./device-*.bat
202202
./littlefs-*.bin

.github/workflows/main_matrix.yml

Lines changed: 4 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ on:
2727

2828
jobs:
2929
setup:
30-
if: github.repository == 'meshtastic/firmware'
3130
strategy:
3231
fail-fast: true
3332
matrix:
@@ -42,10 +41,6 @@ jobs:
4241
python-version: 3.x
4342
cache: pip
4443
- run: pip install -U platformio
45-
- name: Uncomment build epoch
46-
shell: bash
47-
run: |
48-
sed -i 's/#-DBUILD_EPOCH=$UNIX_TIME/-DBUILD_EPOCH=$UNIX_TIME/' platformio.ini
4944
- name: Generate matrix
5045
id: jsonStep
5146
run: |
@@ -62,7 +57,6 @@ jobs:
6257
check: ${{ steps.jsonStep.outputs.check }}
6358

6459
version:
65-
if: github.repository == 'meshtastic/firmware'
6660
runs-on: ubuntu-latest
6761
steps:
6862
- uses: actions/checkout@v5
@@ -226,10 +220,11 @@ jobs:
226220
name: firmware-${{matrix.arch}}-${{ needs.version.outputs.long }}
227221
overwrite: true
228222
path: |
223+
./firmware-*.mt.json
229224
./firmware-*.bin
230225
./firmware-*.uf2
231226
./firmware-*.hex
232-
./firmware-*-ota.zip
227+
./firmware-*.zip
233228
./device-*.sh
234229
./device-*.bat
235230
./littlefs-*.bin
@@ -258,7 +253,7 @@ jobs:
258253
- name: Repackage in single elfs zip
259254
uses: actions/upload-artifact@v4
260255
with:
261-
name: debug-elfs-${{matrix.arch}}-${{ needs.version.outputs.long }}.zip
256+
name: debug-elfs-${{matrix.arch}}-${{ needs.version.outputs.long }}
262257
overwrite: true
263258
path: ./*.elf
264259
retention-days: 30
@@ -284,11 +279,6 @@ jobs:
284279
- name: Checkout
285280
uses: actions/checkout@v5
286281

287-
- name: Setup Python
288-
uses: actions/setup-python@v6
289-
with:
290-
python-version: 3.x
291-
292282
- name: Create release
293283
uses: softprops/action-gh-release@v2
294284
id: create_release
@@ -353,11 +343,6 @@ jobs:
353343
- name: Checkout
354344
uses: actions/checkout@v5
355345

356-
- name: Setup Python
357-
uses: actions/setup-python@v6
358-
with:
359-
python-version: 3.x
360-
361346
- uses: actions/download-artifact@v5
362347
with:
363348
pattern: firmware-${{matrix.arch}}-${{ needs.version.outputs.long }}
@@ -377,7 +362,7 @@ jobs:
377362

378363
- uses: actions/download-artifact@v5
379364
with:
380-
name: debug-elfs-${{matrix.arch}}-${{ needs.version.outputs.long }}.zip
365+
name: debug-elfs-${{matrix.arch}}-${{ needs.version.outputs.long }}
381366
merge-multiple: true
382367
path: ./elfs
383368

@@ -408,11 +393,6 @@ jobs:
408393
- name: Checkout
409394
uses: actions/checkout@v5
410395

411-
- name: Setup Python
412-
uses: actions/setup-python@v6
413-
with:
414-
python-version: 3.x
415-
416396
- uses: actions/download-artifact@v5
417397
with:
418398
pattern: firmware-{${{ env.targets }}}-${{ needs.version.outputs.long }}

.github/workflows/merge_queue.yml

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ jobs:
196196
./firmware-*.bin
197197
./firmware-*.uf2
198198
./firmware-*.hex
199-
./firmware-*-ota.zip
199+
./firmware-*.zip
200200
./device-*.sh
201201
./device-*.bat
202202
./littlefs-*.bin
@@ -225,7 +225,7 @@ jobs:
225225
- name: Repackage in single elfs zip
226226
uses: actions/upload-artifact@v4
227227
with:
228-
name: debug-elfs-${{matrix.arch}}-${{ needs.version.outputs.long }}.zip
228+
name: debug-elfs-${{matrix.arch}}-${{ needs.version.outputs.long }}
229229
overwrite: true
230230
path: ./*.elf
231231
retention-days: 30
@@ -251,11 +251,6 @@ jobs:
251251
- name: Checkout
252252
uses: actions/checkout@v5
253253

254-
- name: Setup Python
255-
uses: actions/setup-python@v6
256-
with:
257-
python-version: 3.x
258-
259254
- name: Create release
260255
uses: softprops/action-gh-release@v2
261256
id: create_release
@@ -320,11 +315,6 @@ jobs:
320315
- name: Checkout
321316
uses: actions/checkout@v5
322317

323-
- name: Setup Python
324-
uses: actions/setup-python@v6
325-
with:
326-
python-version: 3.x
327-
328318
- uses: actions/download-artifact@v5
329319
with:
330320
pattern: firmware-${{matrix.arch}}-${{ needs.version.outputs.long }}
@@ -344,7 +334,7 @@ jobs:
344334

345335
- uses: actions/download-artifact@v5
346336
with:
347-
name: debug-elfs-${{matrix.arch}}-${{ needs.version.outputs.long }}.zip
337+
name: debug-elfs-${{matrix.arch}}-${{ needs.version.outputs.long }}
348338
merge-multiple: true
349339
path: ./elfs
350340

@@ -375,11 +365,6 @@ jobs:
375365
- name: Checkout
376366
uses: actions/checkout@v5
377367

378-
- name: Setup Python
379-
uses: actions/setup-python@v6
380-
with:
381-
python-version: 3.x
382-
383368
- uses: actions/download-artifact@v5
384369
with:
385370
pattern: firmware-{${{ env.targets }}}-${{ needs.version.outputs.long }}

.github/workflows/pr_tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ jobs:
5252
if: needs.native-tests.result != 'skipped'
5353
uses: actions/download-artifact@v5
5454
with:
55-
name: platformio-test-report-${{ steps.version.outputs.long }}.zip
55+
name: platformio-test-report-${{ steps.version.outputs.long }}
5656
merge-multiple: true
5757

5858
- name: Parse test results and create detailed summary

.github/workflows/test_native.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
4141
- name: Integration test
4242
run: |
43-
.pio/build/coverage/program -s &
43+
.pio/build/coverage/meshtasticd -s &
4444
PID=$!
4545
timeout 20 bash -c "until ls -al /proc/$PID/fd | grep socket; do sleep 1; done"
4646
echo "Simulator started, launching python test..."
@@ -62,7 +62,7 @@ jobs:
6262
uses: actions/upload-artifact@v4
6363
if: always() # run this step even if previous step failed
6464
with:
65-
name: lcov-coverage-info-native-simulator-test-${{ steps.version.outputs.long }}.zip
65+
name: lcov-coverage-info-native-simulator-test-${{ steps.version.outputs.long }}
6666
overwrite: true
6767
path: ./coverage_*.info
6868

@@ -96,7 +96,7 @@ jobs:
9696
if: always() # run this step even if previous step failed
9797
uses: actions/upload-artifact@v4
9898
with:
99-
name: platformio-test-report-${{ steps.version.outputs.long }}.zip
99+
name: platformio-test-report-${{ steps.version.outputs.long }}
100100
overwrite: true
101101
path: ./testreport.xml
102102

@@ -111,7 +111,7 @@ jobs:
111111
uses: actions/upload-artifact@v4
112112
if: always() # run this step even if previous step failed
113113
with:
114-
name: lcov-coverage-info-native-platformio-tests-${{ steps.version.outputs.long }}.zip
114+
name: lcov-coverage-info-native-platformio-tests-${{ steps.version.outputs.long }}
115115
overwrite: true
116116
path: ./coverage_*.info
117117

@@ -139,7 +139,7 @@ jobs:
139139
- name: Download test artifacts
140140
uses: actions/download-artifact@v5
141141
with:
142-
name: platformio-test-report-${{ steps.version.outputs.long }}.zip
142+
name: platformio-test-report-${{ steps.version.outputs.long }}
143143
merge-multiple: true
144144

145145
- name: Test Report
@@ -152,7 +152,7 @@ jobs:
152152
- name: Download coverage artifacts
153153
uses: actions/download-artifact@v5
154154
with:
155-
pattern: lcov-coverage-info-native-*-${{ steps.version.outputs.long }}.zip
155+
pattern: lcov-coverage-info-native-*-${{ steps.version.outputs.long }}
156156
path: code-coverage-report
157157
merge-multiple: true
158158

@@ -165,5 +165,5 @@ jobs:
165165
- name: Save Code Coverage Report
166166
uses: actions/upload-artifact@v4
167167
with:
168-
name: code-coverage-report-${{ steps.version.outputs.long }}.zip
168+
name: code-coverage-report-${{ steps.version.outputs.long }}
169169
path: code-coverage-report

bin/build-esp32.sh

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ set -e
55
VERSION=`bin/buildinfo.py long`
66
SHORT_VERSION=`bin/buildinfo.py short`
77

8-
OUTDIR=release/
8+
BUILDDIR=.pio/build/$1
9+
OUTDIR=release
910

1011
rm -f $OUTDIR/firmware*
1112
rm -r $OUTDIR/* || true
@@ -14,24 +15,22 @@ rm -r $OUTDIR/* || true
1415
platformio pkg install -e $1
1516

1617
echo "Building for $1 with $PLATFORMIO_BUILD_FLAGS"
17-
rm -f .pio/build/$1/firmware.*
18+
rm -f $BUILDDIR/firmware*
1819

1920
# The shell vars the build tool expects to find
2021
export APP_VERSION=$VERSION
2122

2223
basename=firmware-$1-$VERSION
2324

2425
pio run --environment $1 # -v
25-
SRCELF=.pio/build/$1/firmware.elf
26-
cp $SRCELF $OUTDIR/$basename.elf
26+
27+
cp $BUILDDIR/$basename.elf $OUTDIR/$basename.elf
2728

2829
echo "Copying ESP32 bin file"
29-
SRCBIN=.pio/build/$1/firmware.factory.bin
30-
cp $SRCBIN $OUTDIR/$basename.bin
30+
cp $BUILDDIR/$basename.factory.bin $OUTDIR/$basename.factory.bin
3131

3232
echo "Copying ESP32 update bin file"
33-
SRCBIN=.pio/build/$1/firmware.bin
34-
cp $SRCBIN $OUTDIR/$basename-update.bin
33+
cp $BUILDDIR/$basename.bin $OUTDIR/$basename.bin
3534

3635
echo "Building Filesystem for ESP32 targets"
3736
# If you want to build the webui, uncomment the following lines
@@ -41,6 +40,10 @@ echo "Building Filesystem for ESP32 targets"
4140
# ls -l data/static # Diagnostic list of files
4241
# rm -rf data/static
4342
pio run --environment $1 -t buildfs
44-
cp .pio/build/$1/littlefs.bin $OUTDIR/littlefs-$1-$VERSION.bin
45-
cp bin/device-install.* $OUTDIR
46-
cp bin/device-update.* $OUTDIR
43+
cp $BUILDDIR/littlefs-$1-$VERSION.bin $OUTDIR/littlefs-$1-$VERSION.bin
44+
cp bin/device-install.* $OUTDIR/
45+
cp bin/device-update.* $OUTDIR/
46+
47+
# Generate the manifest file
48+
pio run --environment $1 -t mtjson
49+
cp $BUILDDIR/$basename.mt.json $OUTDIR/$basename.mt.json

0 commit comments

Comments
 (0)