Skip to content

Attempt to simplify release workflow with matrix strategy. #11

Attempt to simplify release workflow with matrix strategy.

Attempt to simplify release workflow with matrix strategy. #11

Workflow file for this run

name: Release furble
on:
push:
tags:
- 'v*'
env:
FURBLE_VERSION: ${{ github.ref_name }}+${{ github.run_attempt }}
M5STICKC_FIRMWARE: furble-m5stick-c-${{ github.ref_name }}+${{ github.run_attempt }}.bin
M5STICKC_PLUS_FIRMWARE: furble-m5stick-c-plus-${{ github.ref_name }}+${{ github.run_attempt }}.bin
M5STACK_CORE_FIRMWARE: furble-m5stack-core-${{ github.ref_name }}+${{ github.run_attempt }}.bin
M5STACK_CORE2_FIRMWARE: furble-m5stack-core2-${{ github.ref_name }}+${{ github.run_attempt }}.bin
jobs:
build:
strategy:
matrix:
platform:
- m5stick-c
- m5stick-c-plus
- m5stack-core
- m5stack-core2
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
cache: 'pip'
- name: Install Dependencies
run: |
pip install -r requirements.txt
- name: Build furble (${{ matrix.platform }})
run: platformio run -e ${{ matrix.platform }}
- name: Upload binary artifact (${{ matrix.platform }})
uses: actions/upload-artifact@v4
with:
name: furble-${{ matrix.platform }}-${{ github.ref_name }}+${{ github.run_attempt }}.bin
path: .pio/build/${{ matrix.platform }})/firmware.bin
if-no-files-found: error
release:
needs: build
runs-on: ubuntu-latest
steps:
- name: Download binary artifacts
uses: actions/download-artifact@v4
with:
merge-multiple: true
- name: Generate release hashes
run: |
sha256sum furble-*.bin > sha256sum.txt
- name: Release
uses: softprops/action-gh-release@v1
with:
generate_release_notes: true
files: |
furble-*.bin
sha256sum.txt