1- name : ' 🔥 Firmware Build'
1+ name : " 🔥 Firmware Build"
22
33on :
44 push :
55 tags :
6- - ' v*.*.*'
7- branches :
8- - ' master'
6+ - " v*.*.*"
7+ branches :
8+ - " master"
99 paths :
10- - ' src/**'
11- - ' .github/workflows/*.yml'
12- - ' .github/workflows/*.json'
13- - ' !**/README.md'
14- - ' !**.rst'
10+ - " src/**"
11+ - " .github/workflows/*.yml"
12+ - " .github/workflows/*.json"
13+ - " !**/README.md"
14+ - " !**.rst"
1515
1616 pull_request :
17- branches :
18- - ' master'
17+ branches :
18+ - " master"
1919 paths :
20- - ' src/**'
21- - ' .github/workflows/*.yml'
22- - ' .github/workflows/*.json'
23- - ' !**/README.md'
24- - ' !**.rst'
20+ - " src/**"
21+ - " .github/workflows/*.yml"
22+ - " .github/workflows/*.json"
23+ - " !**/README.md"
24+ - " !**.rst"
2525
2626jobs :
2727 build-firmware :
2828 runs-on : ubuntu-20.04
2929 strategy :
3030 matrix :
31- target : [NANO33, ARDUINO_NANO_RP2040_CONNECT]
31+ target : [ARDUINO_NANO_RP2040_CONNECT]
3232 fail-fast : false
3333 steps :
34- - name : ' ⏳ Checkout repository'
35- uses : actions/checkout@v3
36- with :
37- submodules : false
38-
39- - name : ' 🧱 Update submodules'
40- run : source tools/ci.sh && ci_update_submodules
41-
42- - name : ' ♻ Caching dependencies'
43- uses : actions/cache@v3.2.3
44- id : cache
45- with :
46- path : ~/cache/gcc
47- key : ' gcc-arm-none-eabi-10-2020-q4-major'
48-
49- - name : ' 🛠 Install toolchain '
50- if : steps.cache.outputs.cache-hit != 'true'
51- run : source tools/ci.sh && ci_install_arm_gcc
52-
53- - name : ' 🏗 Build firmware'
54- run : source tools/ci.sh && ci_build_target ${{ matrix.target }}
55-
56- - name : ' ⬆ Upload artifacts'
57- if : github.event_name != 'pull_request'
58- uses : actions/upload-artifact@v3
59- with :
60- name : firmware
61- path : firmware
62- if-no-files-found : error
34+ - name : " ⏳ Checkout repository"
35+ uses : actions/checkout@v3
36+ with :
37+ submodules : false
38+
39+ - name : " 🧱 Update submodules"
40+ run : source tools/ci.sh && ci_update_submodules
41+
42+ - name : " ♻ Caching dependencies"
43+ uses : actions/cache@v3.2.3
44+ id : cache
45+ with :
46+ path : ~/cache/gcc
47+ key : " gcc-arm-none-eabi-10-2020-q4-major"
48+
49+ - name : " 🛠 Install toolchain "
50+ if : steps.cache.outputs.cache-hit != 'true'
51+ run : source tools/ci.sh && ci_install_arm_gcc
52+
53+ - name : " 🏗 Build firmware"
54+ run : source tools/ci.sh && ci_build_target ${{ matrix.target }}
55+
56+ - name : " ⬆ Upload artifacts"
57+ if : github.event_name != 'pull_request'
58+ uses : actions/upload-artifact@v3
59+ with :
60+ name : firmware
61+ path : firmware
62+ if-no-files-found : error
6363
6464 stable-release :
6565 needs : build-firmware
6666 runs-on : ubuntu-20.04
6767 if : github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
6868 steps :
69- - name : ' ⏳ Checkout repository'
70- uses : actions/checkout@v3
71- with :
72- submodules : false
73-
74- - name : ' 🤌 Download artifacts'
75- uses : actions/download-artifact@v3
76- with :
77- name : firmware
78- path : firmware
79-
80- - name : ' 📦 Package firmware'
81- run : source tools/ci.sh && ci_package_firmware_release ${{github.ref_name}}
82-
83- - name : " ✏️ Generate release changelog"
84- id : changelog
85- uses : mikepenz/release-changelog-builder-action@v3
86- with :
87- toTag : ${{ github.sha }}
88- configuration : ' .github/workflows/changelog.json'
89- env :
90- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
91-
92- - name : ' 🔥 Create stable release'
93- uses : softprops/action-gh-release@v1
94- with :
95- draft : true
96- files : firmware_*.zip
97- body : ${{steps.changelog.outputs.changelog}}
98- env :
99- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
100-
101- - name : ' 🧹 Remove artifacts'
102- uses : geekyeggo/delete-artifact@v1
103- with :
104- name : firmware
105- failOnError : false
69+ - name : " ⏳ Checkout repository"
70+ uses : actions/checkout@v3
71+ with :
72+ submodules : false
73+
74+ - name : " 🤌 Download artifacts"
75+ uses : actions/download-artifact@v3
76+ with :
77+ name : firmware
78+ path : firmware
79+
80+ - name : " 📦 Package firmware"
81+ run : source tools/ci.sh && ci_package_firmware_release ${{github.ref_name}}
82+
83+ - name : " ✏️ Generate release changelog"
84+ id : changelog
85+ uses : mikepenz/release-changelog-builder-action@v3
86+ with :
87+ toTag : ${{ github.sha }}
88+ configuration : " .github/workflows/changelog.json"
89+ env :
90+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
91+
92+ - name : " 🔥 Create stable release"
93+ uses : softprops/action-gh-release@v1
94+ with :
95+ draft : true
96+ files : firmware_*.zip
97+ body : ${{steps.changelog.outputs.changelog}}
98+ env :
99+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
100+
101+ - name : " 🧹 Remove artifacts"
102+ uses : geekyeggo/delete-artifact@v1
103+ with :
104+ name : firmware
105+ failOnError : false
106106
107107 development-release :
108108 needs : build-firmware
@@ -111,52 +111,52 @@ jobs:
111111 permissions :
112112 contents : write
113113 steps :
114- - name : ' ⏳ Checkout repository'
115- uses : actions/checkout@v3
116- with :
117- submodules : false
118-
119- - name : ' 🤌 Download artifacts'
120- uses : actions/download-artifact@v3
121- with :
122- name : firmware
123- path : firmware
124-
125- - name : ' 📦 Package firmware'
126- run : source tools/ci.sh && ci_package_firmware_development
127-
128- - name : ' 🧹 Delete old release'
129- uses : dev-drprasad/delete-tag-and-release@v0.2.0
130- with :
131- delete_release : true
132- tag_name : development
133- env :
134- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
135-
136- - name : " ✏️ Generate release changelog"
137- id : changelog
138- uses : mikepenz/release-changelog-builder-action@v3
139- with :
140- toTag : ${{ github.sha }}
141- configuration : ' .github/workflows/changelog.json'
142- env :
143- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
144-
145- - name : ' 🔥 Create development release'
146- uses : softprops/action-gh-release@v1
147- with :
148- draft : false
149- name : Development Release
150- tag_name : development
151- body : |
114+ - name : " ⏳ Checkout repository"
115+ uses : actions/checkout@v3
116+ with :
117+ submodules : false
118+
119+ - name : " 🤌 Download artifacts"
120+ uses : actions/download-artifact@v3
121+ with :
122+ name : firmware
123+ path : firmware
124+
125+ - name : " 📦 Package firmware"
126+ run : source tools/ci.sh && ci_package_firmware_development
127+
128+ - name : " 🧹 Delete old release"
129+ uses : dev-drprasad/delete-tag-and-release@v0.2.0
130+ with :
131+ delete_release : true
132+ tag_name : development
133+ env :
134+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
135+
136+ - name : " ✏️ Generate release changelog"
137+ id : changelog
138+ uses : mikepenz/release-changelog-builder-action@v3
139+ with :
140+ toTag : ${{ github.sha }}
141+ configuration : " .github/workflows/changelog.json"
142+ env :
143+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
144+
145+ - name : " 🔥 Create development release"
146+ uses : softprops/action-gh-release@v1
147+ with :
148+ draft : false
149+ name : Development Release
150+ tag_name : development
151+ body : |
152152 **⚠️ This is a development release, and it may be unstable.**
153153 ${{steps.changelog.outputs.changelog}}
154- files : firmware/firmware_*.zip
155- env :
156- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
157-
158- - name : ' 🧹 Remove artifacts'
159- uses : geekyeggo/delete-artifact@v1
160- with :
161- name : firmware
162- failOnError : false
154+ files : firmware/firmware_*.zip
155+ env :
156+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
157+
158+ - name : " 🧹 Remove artifacts"
159+ uses : geekyeggo/delete-artifact@v1
160+ with :
161+ name : firmware
162+ failOnError : false
0 commit comments