Skip to content

V 2.3.0

V 2.3.0 #2

name: Push Firmware to BLLED-Flasher
on:
release:
types: [published, edited]
jobs:
push-firmware:
runs-on: ubuntu-latest
steps:
- name: Checkout BLLEDController-NG
uses: actions/checkout@v3
- name: Download .bin from current release
uses: actions/github-script@v6
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const fs = require('fs');
const owner = context.repo.owner;
const repo = context.repo.repo;
const release = context.payload.release;
const tag = release.tag_name;
const assets = release.assets.filter(a => a.name.endsWith('.bin'));
if (assets.length === 0) {
core.setFailed("No .bin files found in release");
return;
}
fs.mkdirSync('firmware', { recursive: true });
for (const asset of assets) {
const dl = await github.rest.repos.getReleaseAsset({
owner,
repo,
asset_id: asset.id,
headers: { Accept: 'application/octet-stream' }
});
fs.writeFileSync(`firmware/${asset.name}`, Buffer.from(dl.data));
console.log(`✅ Downloaded: ${asset.name}`);
}
- name: Clone BLLED-Flasher repo
run: |
git clone https://x-access-token:${{ secrets.BLLED_FLASHER_TOKEN }}@github.com/softwarecrash/BLLED-Flasher.git flasher
cp firmware/*.bin flasher/firmware/
- name: Generate firmware.json + manifests
run: |
cd flasher
node generateRelease.js
- name: Commit and Push to BLLED-Flasher
run: |
cd flasher
git config user.name "BLLED Release Bot"
git config user.email "actions@github.com"
git fetch origin
git add firmware/
if git diff --cached --quiet; then
echo "✅ Keine Änderungen – kein Push."
else
git commit -m "📦 Add firmware from release ${{ github.event.release.tag_name }}"
git push
fi