-
Notifications
You must be signed in to change notification settings - Fork 25
107 lines (105 loc) · 3.45 KB
/
Copy pathtest-all-builds.yml
File metadata and controls
107 lines (105 loc) · 3.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
name: Test All Builds
on:
push:
branches: [master]
pull_request:
branches: [master]
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
container: espressif/idf:v6.0.2
strategy:
fail-fast: false
matrix:
board: [wave_4b, wave_35, wave_5, wave_43, crowpanel, wave_7b]
name: build (${{ matrix.board }})
steps:
- name: Checkout repo
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Build (${{ matrix.board }})
run: |
git config --global --add safe.directory "$GITHUB_WORKSPACE"
. $IDF_PATH/export.sh
idf.py -B build_${{ matrix.board }} \
-D SDKCONFIG=build_${{ matrix.board }}/sdkconfig \
-D 'SDKCONFIG_DEFAULTS=sdkconfig.defaults;sdkconfig.defaults.${{ matrix.board }}' \
build all size-components size
- name: Stage flashable firmware (${{ matrix.board }})
run: |
STAGE="firmware_${{ matrix.board }}"
BUILD="build_${{ matrix.board }}"
mkdir -p "$STAGE"
cp "$BUILD"/bootloader/bootloader.bin "$STAGE"/
cp "$BUILD"/partition_table/partition-table.bin "$STAGE"/
cp "$BUILD"/flasher_args.json "$STAGE"/
cp "$BUILD"/*.bin "$STAGE"/ 2>/dev/null || true
cp "$BUILD"/flash_args "$STAGE"/ 2>/dev/null || true
cp "$BUILD"/*.elf "$STAGE"/ 2>/dev/null || true
cp "$BUILD"/*.map "$STAGE"/ 2>/dev/null || true
- name: Upload firmware artifact (${{ matrix.board }})
uses: actions/upload-artifact@v4
with:
name: firmware-${{ matrix.board }}
path: firmware_${{ matrix.board }}/
if-no-files-found: error
retention-days: 30
deploy-site:
needs: [build]
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/master' && github.event_name == 'push'
permissions:
contents: read
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Checkout site sources
uses: actions/checkout@v4
- name: Download wave_4b firmware
uses: actions/download-artifact@v4.1.3
with:
name: firmware-wave_4b
path: site/flash/firmware/wave_4b
- name: Download wave_35 firmware
uses: actions/download-artifact@v4.1.3
with:
name: firmware-wave_35
path: site/flash/firmware/wave_35
- name: Download wave_5 firmware
uses: actions/download-artifact@v4.1.3
with:
name: firmware-wave_5
path: site/flash/firmware/wave_5
- name: Download wave_43 firmware
uses: actions/download-artifact@v4.1.3
with:
name: firmware-wave_43
path: site/flash/firmware/wave_43
- name: Download crowpanel firmware
uses: actions/download-artifact@v4.1.3
with:
name: firmware-crowpanel
path: site/flash/firmware/crowpanel
- name: Download wave_7b firmware
uses: actions/download-artifact@v4.1.3
with:
name: firmware-wave_7b
path: site/flash/firmware/wave_7b
- name: Stage branding assets
run: cp -r branding site/branding
- name: Upload Pages artifact
uses: actions/upload-pages-artifact@v3
with:
path: site/
name: github-pages-${{ github.run_attempt }}
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
with:
artifact_name: github-pages-${{ github.run_attempt }}