@@ -13,26 +13,41 @@ jobs:
13
13
runs-on : ubuntu-latest
14
14
continue-on-error : false
15
15
16
- outputs :
17
- zipfile-id : ${{ steps.zip_step.outputs.artifact-id }}
16
+ strategy :
17
+ matrix :
18
+ build :
19
+ # main (full) code
20
+ - name : ' esp-box'
21
+ target : esp32s3
22
+ command : |
23
+ idf.py -DSDKCONFIG_DEFAULTS="sdkconfig.defaults;sdkconfig.defaults.esp-box" build
24
+ - name : ' t-deck'
25
+ target : esp32s3
26
+ command : |
27
+ idf.py -DSDKCONFIG_DEFAULTS="sdkconfig.defaults;sdkconfig.defaults.t-deck" build
28
+ - name : ' wrover-kit'
29
+ target : esp32
30
+ command : |
31
+ idf.py -DSDKCONFIG_DEFAULTS="sdkconfig.defaults;sdkconfig.defaults.wrover-kit" build
18
32
19
33
steps :
20
34
- name : Checkout repo
21
35
uses : actions/checkout@v4
36
+ with :
37
+ fetch-tags : true
22
38
23
39
- name : Build Main Code
24
40
uses : espressif/esp-idf-ci-action@v1
25
41
with :
26
42
esp_idf_version : release-v5.4
27
- target : esp32s3
43
+ target : ${{ matrix.build.target }}
28
44
path : ' .'
29
- command : ' idf.py build'
45
+ command : ${{ matrix. build.command }}
30
46
31
47
- name : Upload Build Outputs
32
48
uses : actions/upload-artifact@v4
33
- id : zip_step
34
49
with :
35
- name : build-artifacts
50
+ name : ${{ matrix.build.name }}- build-artifacts
36
51
path : |
37
52
build/*.bin
38
53
build/*.elf
@@ -41,27 +56,35 @@ jobs:
41
56
build/flasher_args.json
42
57
build/flash_args
43
58
59
+ - name : Zip up build files for release using matrix build name + release tag name
60
+ if : ${{ github.event.release && github.event.action == 'published' }}
61
+ shell : bash
62
+ run : |
63
+ # zip up just the files we uploaded for the release
64
+ zip_name="wireless-debug-display-${{ matrix.build.name }}_$(git describe --tags --dirty).zip"
65
+ cd ${{ matrix.build.path }}
66
+ zip -r -j $zip_name build/*.bin build/*.elf build/bootloader/bootloader.bin build/partition_table/partition-table.bin build/flasher_args.json build/flash_args
67
+ echo "artifact_path=${{ matrix.build.path }}/$zip_name" >> "$GITHUB_ENV"
68
+
44
69
- name : Attach files to release
45
70
uses : softprops/action-gh-release@v2
46
71
if : ${{ github.event.release && github.event.action == 'published' }}
47
72
with :
48
- files : |
49
- build/*.bin
50
- build/*.elf
51
- build/bootloader/bootloader.bin
52
- build/partition_table/partition-table.bin
53
- build/flasher_args.json
54
- build/flash_args
73
+ files : ${{ env.artifact_path }}
55
74
56
75
package :
57
76
name : Package the binaries into an executables for Windows, MacOS, and Linux (Ubuntu)
58
77
needs : build
59
78
strategy :
60
79
matrix :
61
80
os : [windows-latest, macos-latest, ubuntu-latest]
81
+ build :
82
+ - name : ' esp-box'
83
+ - name : ' t-deck'
84
+ - name : ' wrover-kit'
62
85
runs-on : ${{ matrix.os }}
63
86
steps :
64
87
65
88
with :
66
- zipfile-id : ${{ needs .build.outputs.zipfile-id }}
67
- programmer-name : ' wireless-debug-display_programmer '
89
+ zipfile-name : ' ${{ matrix .build.name }}-build-artifacts '
90
+ programmer-name : ' wireless-debug-display-${{ matrix.build.name }}_programmer '
0 commit comments