Skip to content

prep release

prep release #4

Workflow file for this run

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 }}