prep release #4
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: Build OctoPrint Firmware | |
| on: | |
| push: | |
| # Trigger 1: Änderungen am Code im spezifischen Unterordner | |
| paths: | |
| - 'firmware/octoprint/**' | |
| branches: | |
| - main | |
| # Trigger 2: Erstellung eines Versions-Tags (löst auch das Release aus) | |
| tags: | |
| - 'v*' | |
| # Erlaubt es, den Build manuell im GitHub-Interface zu starten | |
| workflow_dispatch: | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| environment: [drucker_1, drucker_2, drucker_3] | |
| steps: | |
| - name: Checkout Code | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| - name: Install PlatformIO | |
| run: pip install -U platformio | |
| - name: Create dummy secret.h if missing | |
| run: | | |
| mkdir -p firmware/octoprint/include | |
| touch firmware/octoprint/include/secret.h | |
| - name: Run PlatformIO Build | |
| working-directory: firmware/octoprint | |
| run: pio run -e ${{ matrix.environment }} | |
| env: | |
| WIFI_SSID: ${{ secrets.WIFI_SSID }} | |
| WIFI_PASS: ${{ secrets.WIFI_PASS }} | |
| API_KEY_D1: ${{ secrets.API_KEY_D1 }} | |
| API_KEY_D2: ${{ secrets.API_KEY_D2 }} | |
| API_KEY_D3: ${{ secrets.API_KEY_D3 }} | |
| - name: Upload Artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: firmware-${{ matrix.environment }} | |
| path: firmware/octoprint/.pio/build/${{ matrix.environment }}/firmware.bin | |
| release: | |
| needs: build | |
| # Läuft nur, wenn ein Tag gepusht wurde | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| steps: | |
| - name: Download all artifacts | |
| uses: actions/download-artifact@v4 | |
| - name: Create GitHub Release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| files: | | |
| firmware-drucker_1/firmware.bin | |
| firmware-drucker_2/firmware.bin | |
| firmware-drucker_3/firmware.bin | |
| body: "Automatischer Build der OctoPrint-Variante für Version ${{ github.ref_name }}" | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |