mirror of
https://github.com/ratspeak/ratdeck.git
synced 2026-07-02 12:21:48 +00:00
rsdeck: dual-boot launcher, RNode mode, build pipeline
This commit is contained in:
@@ -7,6 +7,9 @@ on:
|
||||
pull_request:
|
||||
branches: [main]
|
||||
|
||||
env:
|
||||
ARDUINO_CLI_VERSION: 1.4.1
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -57,8 +60,40 @@ jobs:
|
||||
MANIFEST
|
||||
cd ratdeck-firmware && zip -r ../ratdeck-firmware.zip . && cd ..
|
||||
|
||||
package:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: '3.12'
|
||||
|
||||
- name: Install Arduino CLI
|
||||
run: |
|
||||
mkdir -p "$RUNNER_TEMP/arduino-cli"
|
||||
curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh \
|
||||
| BINDIR="$RUNNER_TEMP/arduino-cli" sh -s "$ARDUINO_CLI_VERSION"
|
||||
echo "$RUNNER_TEMP/arduino-cli" >> "$GITHUB_PATH"
|
||||
|
||||
- name: Install Python tools
|
||||
run: pip install platformio esptool
|
||||
|
||||
- name: Prepare RNode Arduino dependencies
|
||||
run: make prep-tdeck
|
||||
|
||||
- name: Build dual-boot package
|
||||
run: make package
|
||||
|
||||
- name: Upload firmware artifacts
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: rsdeck-dist
|
||||
path: dist/*
|
||||
|
||||
release:
|
||||
needs: build
|
||||
needs: [build, package]
|
||||
if: startsWith(github.ref, 'refs/tags/v')
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
@@ -110,6 +145,19 @@ jobs:
|
||||
MANIFEST
|
||||
cd ratdeck-firmware && zip -r ../ratdeck-firmware.zip . && cd ..
|
||||
|
||||
- name: Install Arduino CLI
|
||||
run: |
|
||||
mkdir -p "$RUNNER_TEMP/arduino-cli"
|
||||
curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh \
|
||||
| BINDIR="$RUNNER_TEMP/arduino-cli" sh -s "$ARDUINO_CLI_VERSION"
|
||||
echo "$RUNNER_TEMP/arduino-cli" >> "$GITHUB_PATH"
|
||||
|
||||
- name: Prepare RNode Arduino dependencies
|
||||
run: make prep-tdeck
|
||||
|
||||
- name: Build dual-boot package
|
||||
run: make package
|
||||
|
||||
- name: Create Release
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
@@ -119,8 +167,9 @@ jobs:
|
||||
release_args+=(--prerelease)
|
||||
fi
|
||||
|
||||
assets=(ratdeck-firmware.zip ratdeck-merged.bin dist/*)
|
||||
if gh release view "$GITHUB_REF_NAME" >/dev/null 2>&1; then
|
||||
gh release upload "$GITHUB_REF_NAME" ratdeck-firmware.zip ratdeck-merged.bin --clobber
|
||||
gh release upload "$GITHUB_REF_NAME" "${assets[@]}" --clobber
|
||||
else
|
||||
gh release create "$GITHUB_REF_NAME" ratdeck-firmware.zip ratdeck-merged.bin "${release_args[@]}"
|
||||
gh release create "$GITHUB_REF_NAME" "${assets[@]}" "${release_args[@]}"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user