@@ -192,3 +192,105 @@ jobs:
192192 path : |
193193 mlonmcu/workspace_kws/temp/sessions/latest/runs/latest/espidf/build/*.bin
194194 retention-days : 30
195+
196+ bump-version :
197+ runs-on : ubuntu-latest
198+ needs : simulate-kws
199+ outputs :
200+ version : ${{ steps.set-version.outputs.VERSION }}
201+ steps :
202+ - name : Checkout repository
203+ uses : actions/checkout@v4
204+ with :
205+ fetch-depth : 0
206+
207+ - name : Bump patch version
208+ id : set-version
209+ run : |
210+ sudo apt-get update && sudo apt-get install -y jq
211+ MAJOR=$(jq -r '.major' version.json)
212+ MINOR=$(jq -r '.minor' version.json)
213+ PATCH=$(jq -r '.patch' version.json)
214+
215+ PATCH=$((PATCH+1))
216+
217+ # Handle rollover: patch -> minor -> major
218+ if [ "$PATCH" -gt 10 ]; then
219+ PATCH=0
220+ MINOR=$((MINOR+1))
221+ fi
222+
223+ if [ "$MINOR" -gt 10 ]; then
224+ MINOR=0
225+ MAJOR=$((MAJOR+1))
226+ fi
227+
228+ # Write back into version.json
229+ jq \
230+ --argjson major $MAJOR \
231+ --argjson minor $MINOR \
232+ --argjson patch $PATCH \
233+ ' {major:$major, minor:$minor, patch:$patch}' \
234+ version.json > version.tmp && mv version.tmp version.json
235+
236+ # Export version string
237+ VERSION="$MAJOR.$MINOR.$PATCH"
238+ echo "VERSION=$VERSION" >> "$GITHUB_OUTPUT"
239+
240+ - name : Commit updated version.json
241+ run : |
242+ git config user.name "Hai Chu"
243+ git config user.email "[email protected] " 244+ git add version.json
245+ git commit -m "Bump version to ${{ steps.set-version.outputs.VERSION }} [skip ci]"
246+ git push
247+
248+ create-upload-deploy-artifact :
249+ runs-on : ubuntu-latest
250+ needs : bump-version
251+ container :
252+ image : mendersoftware/mender-ci-tools:master
253+ env :
254+ MENDER_SERVER_URL : https://eu.hosted.mender.io
255+ MENDER_API_TOKEN : ${{ secrets.MENDER_API_TOKEN }}
256+ VERSION : ${{ needs.bump-version.outputs.version }}
257+ APP_NAME : esp32c3-tumkws
258+ DEVICE : esp32
259+ DEVICE_TYPE : esp32c3-kws
260+ DEVICE_GROUP : cicd-kws
261+ steps :
262+ - name : Download firmware artifacts
263+ uses : actions/download-artifact@v4
264+ with :
265+ name : esp32-firmware
266+ path : build
267+
268+ - name : List downloaded files
269+ run : |
270+ echo "Files in build directory:"
271+ ls -laR build/
272+
273+ - name : Create Mender artifact
274+ run : |
275+ mender-artifact write module-image \
276+ --artifact-name "${{env.APP_NAME}}-v${{ env.VERSION }}" \
277+ --device-type "${{env.DEVICE_TYPE}}" \
278+ --type "${{env.DEVICE}}" \
279+ --file build/app.bin \
280+ --output-path build/${APP_NAME}-v${VERSION}.mender
281+
282+ - name : Upload Mender Artifact to Mender server
283+ uses :
mendersoftware/[email protected] 284+ with :
285+ mender_pat : ${{ env.MENDER_API_TOKEN }}
286+ mender_artifact : build/${{env.APP_NAME}}-v${{env.VERSION}}.mender
287+ mender_uri : ${{ env.MENDER_SERVER_URL }}
288+
289+ - name : Create deployment
290+ uses :
mendersoftware/[email protected] 291+ with :
292+ mender_pat : ${{ env.MENDER_API_TOKEN }}
293+ mender_deployment_name : " ${{env.APP_NAME}}-v${{env.VERSION}}-deployment"
294+ mender_release_name : " ${{env.APP_NAME}}-v${{env.VERSION}}"
295+ mender_devices_group : ${{ env.DEVICE_GROUP }}
296+ mender_uri : ${{ env.MENDER_SERVER_URL }}
0 commit comments