Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |