Skip to content

Upload Release Assets #71

Upload Release Assets

Upload Release Assets #71

Workflow file for this run

on:
push:
tags:
- 'v3.*'
name: Upload Release Assets
env:
MAKEOPTS: -j
jobs:
upload_release:
name: Upload Release Assets
runs-on: ubuntu-22.04
steps:
- name: Install cross-compiler
run: sudo apt-get update && sudo apt-get install --yes gcc-arm-none-eabi
- name: Checkout code
uses: actions/checkout@v3
with:
submodules: true
fetch-depth: 0
- name: Build firmware
run: |
make $MAKEOPTS -C micropython/mpy-cross
make $MAKEOPTS -C bricks/movehub
make $MAKEOPTS -C bricks/cityhub
make $MAKEOPTS -C bricks/technichub
make $MAKEOPTS -C bricks/primehub
make $MAKEOPTS -C bricks/essentialhub
- name: Get tag
run: echo "GITHUB_TAG=${GITHUB_REF#*refs/tags/}" >> $GITHUB_ENV
- name: Create Release and Upload Assets
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ github.ref_name }}
run: |
if [[ "${{ contains(env.GITHUB_TAG, 'a') || contains(env.GITHUB_TAG, 'b') || contains(env.GITHUB_TAG, 'c') }}" == "true" ]]; then
PRERELEASE_FLAG="--prerelease"
else
PRERELEASE_FLAG=""
fi
HUBS="movehub cityhub technichub primehub essentialhub"
ASSETS=""
for HUB in $HUBS; do
ASSET_PATH="./bricks/$HUB/build/firmware.zip"
ASSET_LABEL="pybricks-$HUB-${{ env.GITHUB_TAG }}.zip"
ASSETS="$ASSETS $ASSET_PATH#$ASSET_LABEL"
done
echo "ASSETS=$ASSETS"
gh release create "$tag" \
--repo="$GITHUB_REPOSITORY" \
--title="${GITHUB_REPOSITORY#*/} ${tag#v}" \
--generate-notes \
$PRERELEASE_FLAG \
$ASSETS