forked from verybadsoldier/esp_rgbww_firmware
-
Notifications
You must be signed in to change notification settings - Fork 0
164 lines (140 loc) · 4.25 KB
/
build_firmware.yml
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
name: Application CI (no cache)
#on:
# workflow_run:
# workflows: ["Application CI - get webapp artifacts"]
# types:
# - completed
jobs:
install_sming:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
with:
ref: develop
- name: Install Sming Framework
run: |
cd /tmp
git clone https://github.com/SmingHub/Sming.git
cd Sming/Sming
git checkout develop
export SMING_HOME=$(pwd)
- name: Save Sming Image
uses: actions/upload-artifact@v4
with:
name: sming-image
path: /tmp/Sming
install_toolchains_esp8266:
runs-on: ubuntu-latest
needs: install_sming
steps:
- name: Download Sming Image
uses: actions/download-artifact@v4
with:
name: sming-image
path: /tmp/Sming
- name: Install ESP8266 Toolchain
run: |
export SMING_HOME=/tmp/Sming/Sming
$SMING_HOME/../Tools/install.sh Esp8266
- name: Save ESP8266 Image
uses: actions/upload-artifact@v4
with:
name: esp8266-image
path: /tmp/Sming
install_toolchains_esp32:
runs-on: ubuntu-latest
needs: install_sming
steps:
- name: Download Sming Image
uses: actions/download-artifact@v4
with:
name: sming-image
path: /tmp/Sming
- name: Install ESP32 Toolchain
run: |
export SMING_HOME=/tmp/Sming/Sming
$SMING_HOME/../Tools/install.sh Esp32
- name: Save ESP32 Image
uses: actions/upload-artifact@v4
with:
name: esp32-image
path: /tmp/Sming
build_firmware_esp8266:
runs-on: ubuntu-latest
needs: install_toolchains_esp8266
strategy:
matrix:
release: [0, 1]
steps:
- name: Download ESP8266 Image
uses: actions/download-artifact@v4
with:
name: esp8266-image
path: /tmp/Sming
- name: Compile Application for ESP8266
env:
SMING_HOME: /tmp/Sming/Sming
SMING_ARCH: Esp8266
SMING_SOC: esp8266
SMING_RELEASE: ${{ matrix.release }}
run: |
source $SMING_HOME/../Tools/export.sh
make
- name: Upload firmware artifact
uses: actions/upload-artifact@v4
with:
name: firmware-esp8266-${{ matrix.release }}
path: out/esp8266/release/firmware/
build_firmware_esp32:
runs-on: ubuntu-latest
needs: install_toolchains_esp32
strategy:
matrix:
soc: [esp32, esp32c3]
release: [0, 1]
steps:
- name: Download ESP32 Image
uses: actions/download-artifact@v4
with:
name: esp32-image
path: /tmp/Sming
- name: Compile Application for ESP32
env:
SMING_HOME: /tmp/Sming/Sming
SMING_SOC: ${{ matrix.soc }}
SMING_RELEASE: ${{ matrix.release }}
run: |
source $SMING_HOME/../Tools/export.sh
make
- name: Upload firmware artifact
uses: actions/upload-artifact@v4
with:
name: firmware-${{ matrix.soc }}-${{ matrix.release }}
path: out/${{ matrix.soc }}/release/firmware/
create_download_page:
runs-on: ubuntu-latest
needs: [build_firmware_esp8266, build_firmware_esp32]
steps:
- name: Create download page
run: |
mkdir -p dist/download
echo "<html><body><h1>Download Firmware Artifacts</h1><ul>" > dist/download/index.html
for soc in esp8266 esp32 esp32c3; do
for release in 0 1; do
if [ $release -eq 1 ]; then
type="release"
else
type="debug"
fi
echo "<li><a href='firmware-${soc}-${release}.zip'>Download firmware for ${soc} (${type})</a></li>" >> dist/download/index.html
done
done
echo "</ul></body></html>" >> dist/download/index.html
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
with:
personal_token: ${{ secrets.pages_token }}
publish_dir: ./dist/download
publish_branch: gh-pages
force_orphan: true