File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1616 issues : write
1717 pull-requests : write
1818 id-token : write
19+ outputs :
20+ new-release-published : ${{ steps.semantic.outputs.new-release-published }}
21+ new-release-version : ${{ steps.semantic.outputs.new-release-version }}
1922 steps :
2023 - name : Generate token
2124 id : generate_token
3740 - run : npm ci
3841
3942 - name : Run semantic-release
43+ id : semantic
4044 env :
4145 GITHUB_TOKEN : ${{ steps.generate_token.outputs.token }}
4246 HUSKY : " 0"
4347 run : npx semantic-release
48+
49+ firmware :
50+ name : Build and attach firmware
51+ needs : release
52+ if : needs.release.outputs.new-release-published == 'true'
53+ runs-on : ubuntu-latest
54+ permissions :
55+ contents : write
56+ steps :
57+ - name : Generate token
58+ id : generate_token
59+ uses : tibdex/github-app-token@v2
60+ with :
61+ app_id : ${{ secrets.RELEASE_APP_ID }}
62+ private_key : ${{ secrets.RELEASE_APP_SECRET }}
63+
64+ - uses : actions/checkout@v4
65+ with :
66+ ref : v${{ needs.release.outputs.new-release-version }}
67+
68+ - name : Install ARM toolchain
69+ run : |
70+ sudo apt-get update
71+ sudo apt-get install -y --no-install-recommends gcc-arm-none-eabi libnewlib-arm-none-eabi
72+
73+ - name : Build firmware
74+ run : make firmware
75+
76+ - name : Attach firmware to release
77+ env :
78+ GH_TOKEN : ${{ steps.generate_token.outputs.token }}
79+ run : |
80+ VERSION="v${{ needs.release.outputs.new-release-version }}"
81+ BUILD_DIR=".build/micropython-steami/ports/stm32/build-STEAM32_WB55RG"
82+ cp "${BUILD_DIR}/firmware.hex" "steami-firmware-${VERSION}.hex"
83+ cp "${BUILD_DIR}/firmware.bin" "steami-firmware-${VERSION}.bin"
84+ gh release upload "$VERSION" \
85+ "steami-firmware-${VERSION}.hex" \
86+ "steami-firmware-${VERSION}.bin" \
87+ --clobber
Original file line number Diff line number Diff line change 2424 "changelogTitle" : " # Changelog\n\n All notable changes to this project will be documented in this file.\n See [Conventional Commits](https://conventionalcommits.org) for commit guidelines."
2525 }],
2626 [" @semantic-release/exec" , {
27- "prepareCmd" : " sed -i 's/^version = \" .*\" /version = \" ${nextRelease.version}\" /' pyproject.toml"
27+ "prepareCmd" : " sed -i 's/^version = \" .*\" /version = \" ${nextRelease.version}\" /' pyproject.toml" ,
28+ "publishCmd" : " echo new-release-published=true >> $GITHUB_OUTPUT && echo new-release-version=${nextRelease.version} >> $GITHUB_OUTPUT"
2829 }],
2930 [" @semantic-release/git" , {
3031 "assets" : [" CHANGELOG.md" , " pyproject.toml" ],
You can’t perform that action at this time.
0 commit comments