Skip to content

Commit 31787a6

Browse files
committed
.github/workflows: Use gh for release.
1 parent b93a1b6 commit 31787a6

File tree

1 file changed

+28
-74
lines changed

1 file changed

+28
-74
lines changed

.github/workflows/release.yml

Lines changed: 28 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -6,31 +6,23 @@ on:
66
name: Upload Release Assets
77

88
env:
9-
MAKEOPTS: -j2
9+
MAKEOPTS: -j
10+
11+
permissions:
12+
contents: write
1013

1114
jobs:
1215
upload_release:
1316
name: Upload Release Assets
14-
runs-on: ubuntu-20.04
17+
runs-on: ubuntu-22.04
1518
steps:
16-
- name: Check cache
17-
id: check-cache
18-
uses: actions/cache@v2
19-
with:
20-
path: ${{ runner.tool_cache }}/gcc-arm-10-2020-q4
21-
key: gcc-arm-10-2020-q4
22-
- name: Download
23-
if: steps.check-cache.outputs.cache-hit != 'true'
24-
uses: dlech/arm-none-eabi-gcc@master
25-
with:
26-
release: '10-2020-q4'
27-
directory: ${{ runner.tool_cache }}/gcc-arm-10-2020-q4
28-
- name: Add cross-compiler to path
29-
run: echo ${{ runner.tool_cache }}/gcc-arm-10-2020-q4/bin >> $GITHUB_PATH
19+
- name: Install cross-compiler
20+
run: sudo apt-get update && sudo apt-get install --yes gcc-arm-none-eabi
3021
- name: Checkout code
3122
uses: actions/checkout@v3
3223
with:
3324
submodules: true
25+
fetch-depth: 0
3426
- name: Build firmware
3527
run: |
3628
make $MAKEOPTS -C micropython/mpy-cross
@@ -41,63 +33,25 @@ jobs:
4133
make $MAKEOPTS -C bricks/essentialhub
4234
- name: Get tag
4335
run: echo "GITHUB_TAG=${GITHUB_REF#*refs/tags/}" >> $GITHUB_ENV
44-
- name: Create Release
45-
id: create_release
46-
uses: actions/create-release@v1
47-
env:
48-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
49-
with:
50-
tag_name: ${{ github.ref }}
51-
release_name: Release ${{ github.ref }}
52-
draft: false
53-
prerelease: ${{ contains(env.GITHUB_TAG, 'a') || contains(env.GITHUB_TAG, 'b') || contains(env.GITHUB_TAG, 'c') }}
54-
- name: Upload movehub firmware
55-
id: upload-movehub
56-
uses: actions/upload-release-asset@v1
57-
env:
58-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
59-
with:
60-
upload_url: ${{ steps.create_release.outputs.upload_url }}
61-
asset_path: ./bricks/movehub/build/firmware.zip
62-
asset_name: pybricks-movehub-${{ env.GITHUB_TAG }}.zip
63-
asset_content_type: application/zip
64-
- name: Upload cityhub firmware
65-
id: upload-cityhub
66-
uses: actions/upload-release-asset@v1
67-
env:
68-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
69-
with:
70-
upload_url: ${{ steps.create_release.outputs.upload_url }}
71-
asset_path: ./bricks/cityhub/build/firmware.zip
72-
asset_name: pybricks-cityhub-${{ env.GITHUB_TAG }}.zip
73-
asset_content_type: application/zip
74-
- name: Upload technichub firmware
75-
id: upload-technichub
76-
uses: actions/upload-release-asset@v1
77-
env:
78-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
79-
with:
80-
upload_url: ${{ steps.create_release.outputs.upload_url }}
81-
asset_path: ./bricks/technichub/build/firmware.zip
82-
asset_name: pybricks-technichub-${{ env.GITHUB_TAG }}.zip
83-
asset_content_type: application/zip
84-
- name: Upload primehub firmware
85-
id: upload-primehub
86-
uses: actions/upload-release-asset@v1
36+
- name: Create Release and Upload Assets
8737
env:
8838
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
89-
with:
90-
upload_url: ${{ steps.create_release.outputs.upload_url }}
91-
asset_path: ./bricks/primehub/build/firmware.zip
92-
asset_name: pybricks-primehub-${{ env.GITHUB_TAG }}.zip
93-
asset_content_type: application/zip
94-
- name: Upload essentialhub firmware
95-
id: upload-essentialhub
96-
uses: actions/upload-release-asset@v1
97-
env:
98-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
99-
with:
100-
upload_url: ${{ steps.create_release.outputs.upload_url }}
101-
asset_path: ./bricks/essentialhub/build/firmware.zip
102-
asset_name: pybricks-essentialhub-${{ env.GITHUB_TAG }}.zip
103-
asset_content_type: application/zip
39+
tag: ${{ github.ref_name }}
40+
run: |
41+
if [[ "${{ contains(env.GITHUB_TAG, 'a') || contains(env.GITHUB_TAG, 'b') || contains(env.GITHUB_TAG, 'c') }}" == "true" ]]; then
42+
PRERELEASE_FLAG="--prerelease"
43+
else
44+
PRERELEASE_FLAG=""
45+
fi
46+
HUBS="movehub cityhub technichub primehub essentialhub"
47+
for HUB in $HUBS; do
48+
NEW_FILENAME="./bricks/$HUB/build/pybricks-$HUB-${{ env.GITHUB_TAG }}.zip"
49+
mv "./bricks/$HUB/build/firmware.zip" "$NEW_FILENAME"
50+
ASSETS="$ASSETS $NEW_FILENAME"
51+
done
52+
gh release create "$tag" \
53+
--repo="$GITHUB_REPOSITORY" \
54+
--title="${tag#v}" \
55+
-F CHANGELOG.md \
56+
$PRERELEASE_FLAG \
57+
$ASSETS

0 commit comments

Comments
 (0)