From 51ca049b9752637c4facb258fac42357b0675bb9 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Sun, 9 Aug 2026 04:23:16 +0300 Subject: [PATCH] Download binaries to docs site --- .github/workflows/build.yml | 6 ++++-- .github/workflows/docs.yml | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d9a2153..d05a8c0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,14 +10,16 @@ on: jobs: build_linux: runs-on: ubuntu-latest + env: + ARDUINO_SKETCH_ALWAYS_EXPORT_BINARIES: 1 steps: - uses: actions/checkout@v4 - name: Install Arduino CLI run: curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | BINDIR=/usr/local/bin sh - name: Build firmware - env: - ARDUINO_SKETCH_ALWAYS_EXPORT_BINARIES: 1 run: make + - name: Build firmware for ESP32 Dev Module + run: make BOARD=esp32:esp32:esp32 - name: Build firmware for ESP32-C3 run: make BOARD=esp32:esp32:esp32c3 - name: Build firmware for ESP32-S3 diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 038e4ef..3203cd3 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -8,6 +8,7 @@ on: permissions: contents: read + actions: read pages: write id-token: write @@ -30,6 +31,40 @@ jobs: run: cargo install mdbook --vers 0.4.43 --locked - name: Build book run: cd docs && mdbook build + - name: Wait for Build to complete + uses: lewagon/wait-on-check-action@v1.3.4 + with: + ref: ${{ github.sha }} + check-name: build_linux + repo-token: ${{ secrets.GITHUB_TOKEN }} + wait-interval: 30 + - name: Find firmware binaries + id: build_run + run: | + RUN_ID=$(gh api \ + "repos/${{ github.repository }}/actions/workflows/build.yml/runs?head_sha=${{ github.sha }}&per_page=1" \ + --jq '.workflow_runs[0].id') + echo "id=$RUN_ID" >> $GITHUB_OUTPUT + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Download firmware binaries + uses: actions/download-artifact@v4 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + repository: ${{ github.repository }} + run-id: ${{ steps.build_run.outputs.id }} + name: firmware-binary + path: docs/build + - name: Create shortcuts + working-directory: docs/build + run: | + for FQBN in esp32.esp32.*; do + zip -r $FQBN.zip $FQBN + BOARD="${FQBN#esp32.esp32.}" + ln -s "$FQBN/flix.ino.merged.bin" "flix.$BOARD.merged.bin" + ln -s "$FQBN/flix.ino.bin" "flix.$BOARD.bin" + ln -s "$FQBN/flix.ino.bootloader.bin" "flix.$BOARD.bootloader.bin" + done - name: Upload artifact uses: actions/upload-pages-artifact@v3 with: