|  | @ -7,34 +7,100 @@ on: | 
			
		
	
		
		
			
				
					|  |  |     - '**.md' # Do no build on *.md changes |  |  |     - '**.md' # Do no build on *.md changes | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | jobs: |  |  | jobs: | 
			
		
	
		
		
			
				
					
					|  |  |   build: |  |  |   check: | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |     name: Build Environments |  |  |     name: Check Repository | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					|  |  |     runs-on: ubuntu-latest |  |  |     runs-on: ubuntu-latest | 
			
		
	
		
		
			
				
					|  |  |     if: github.repository == 'lumapu/ahoy' && github.ref_name == 'main' |  |  |     if: github.repository == 'lumapu/ahoy' && github.ref_name == 'main' | 
			
		
	
		
		
			
				
					|  |  |     continue-on-error: false |  |  |     continue-on-error: false | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     steps: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     - uses: actions/checkout@v4 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   build-en: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     name: Build (EN) | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     needs: check | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     runs-on: ubuntu-latest | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     continue-on-error: false | 
			
		
	
		
		
			
				
					|  |  |     strategy: |  |  |     strategy: | 
			
		
	
		
		
			
				
					|  |  |       matrix: |  |  |       matrix: | 
			
		
	
		
		
			
				
					|  |  |         variant: |  |  |         variant: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |           - opendtufusion | 
			
		
	
		
		
			
				
					|  |  |  |  |  |           - opendtufusion-16MB | 
			
		
	
		
		
			
				
					|  |  |           - esp8266 |  |  |           - esp8266 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |           - esp8266-all | 
			
		
	
		
		
			
				
					|  |  |  |  |  |           - esp8266-minimal | 
			
		
	
		
		
			
				
					|  |  |           - esp8266-prometheus |  |  |           - esp8266-prometheus | 
			
		
	
		
		
			
				
					|  |  |           - esp8285 |  |  |           - esp8285 | 
			
		
	
		
		
			
				
					|  |  |           - esp32-wroom32 |  |  |           - esp32-wroom32 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |           - esp32-wroom32-minimal | 
			
		
	
		
		
			
				
					|  |  |           - esp32-wroom32-prometheus |  |  |           - esp32-wroom32-prometheus | 
			
		
	
		
		
			
				
					|  |  |           - esp32-wroom32-ethernet |  |  |  | 
			
		
	
		
		
			
				
					|  |  |           - esp32-s2-mini |  |  |           - esp32-s2-mini | 
			
		
	
		
		
			
				
					|  |  |           - esp32-c3-mini |  |  |           - esp32-c3-mini | 
			
		
	
		
		
			
				
					
					|  |  |           - opendtufusion |  |  |     steps: | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |           - opendtufusion-ethernet |  |  |     - uses: actions/checkout@v4 | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					|  |  |  |  |  |     - uses: benjlevesque/short-sha@v3.0 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       id: short-sha | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       with: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         length: 7 | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     - name: Cache Pip | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       uses: actions/cache@v4 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       with: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         path: ~/.cache/pip | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         restore-keys: | | 
			
		
	
		
		
			
				
					|  |  |  |  |  |           ${{ runner.os }}-pip- | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     - name: Cache PlatformIO | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       uses: actions/cache@v4 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       with: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         path: ~/.platformio | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     - name: Setup Python | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       uses: actions/setup-python@v5 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       with: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         python-version: "3.x" | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     - name: Install PlatformIO | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       run: | | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         python -m pip install setuptools --upgrade pip | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         pip install --upgrade platformio | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     - name: Run PlatformIO | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       run:  pio run -d src -e ${{ matrix.variant }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     - name: Compress .elf | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       uses: edgarrc/action-7z@v1 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       with: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         args: 7z a -t7z -mx=9 src/.pio/build/${{ matrix.variant }}/firmware.elf.7z ./src/.pio/build/${{ matrix.variant }}/firmware.elf | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     - name: Rename Firmware | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       run: python scripts/getVersion.py ${{ matrix.variant }} >> $GITHUB_OUTPUT | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     - name: Create Artifact | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       uses: actions/upload-artifact@v4 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       with: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         name: ${{ matrix.variant }} | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         path: firmware/* | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |   build-de: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     name: Build (DE) | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     needs: check | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     runs-on: ubuntu-latest | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     continue-on-error: false | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     strategy: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       matrix: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         variant: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |           - opendtufusion-de | 
			
		
	
		
		
			
				
					|  |  |  |  |  |           #- opendtufusion-16MB-de #not needed, only the partions.bin is different and can be used from english build | 
			
		
	
		
		
			
				
					|  |  |           - esp8266-de |  |  |           - esp8266-de | 
			
		
	
		
		
			
				
					|  |  |  |  |  |           - esp8266-all-de | 
			
		
	
		
		
			
				
					|  |  |           - esp8266-prometheus-de |  |  |           - esp8266-prometheus-de | 
			
		
	
		
		
			
				
					|  |  |           - esp8285-de |  |  |           - esp8285-de | 
			
		
	
		
		
			
				
					|  |  |           - esp32-wroom32-de |  |  |           - esp32-wroom32-de | 
			
		
	
		
		
			
				
					|  |  |           - esp32-wroom32-prometheus-de |  |  |           - esp32-wroom32-prometheus-de | 
			
		
	
		
		
			
				
					|  |  |           - esp32-wroom32-ethernet-de |  |  |  | 
			
		
	
		
		
			
				
					|  |  |           - esp32-s2-mini-de |  |  |           - esp32-s2-mini-de | 
			
		
	
		
		
			
				
					|  |  |           - esp32-c3-mini-de |  |  |           - esp32-c3-mini-de | 
			
		
	
		
		
			
				
					|  |  |           - opendtufusion-de |  |  |  | 
			
		
	
		
		
			
				
					|  |  |           - opendtufusion-ethernet-de |  |  |  | 
			
		
	
		
		
			
				
					|  |  |     steps: |  |  |     steps: | 
			
		
	
		
		
			
				
					|  |  |     - uses: actions/checkout@v4 |  |  |     - uses: actions/checkout@v4 | 
			
		
	
		
		
			
				
					|  |  |     - uses: benjlevesque/short-sha@v3.0 |  |  |     - uses: benjlevesque/short-sha@v3.0 | 
			
		
	
	
		
		
			
				
					|  | @ -69,6 +135,11 @@ jobs: | 
			
		
	
		
		
			
				
					|  |  |     - name: Run PlatformIO |  |  |     - name: Run PlatformIO | 
			
		
	
		
		
			
				
					|  |  |       run:  pio run -d src -e ${{ matrix.variant }} |  |  |       run:  pio run -d src -e ${{ matrix.variant }} | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     - name: Compress .elf | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       uses: edgarrc/action-7z@v1 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |       with: | 
			
		
	
		
		
			
				
					|  |  |  |  |  |         args: 7z a -t7z -mx=9 src/.pio/build/${{ matrix.variant }}/firmware.elf.7z ./src/.pio/build/${{ matrix.variant }}/firmware.elf | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |     - name: Rename Firmware |  |  |     - name: Rename Firmware | 
			
		
	
		
		
			
				
					|  |  |       run: python scripts/getVersion.py ${{ matrix.variant }} >> $GITHUB_OUTPUT |  |  |       run: python scripts/getVersion.py ${{ matrix.variant }} >> $GITHUB_OUTPUT | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  | @ -78,11 +149,10 @@ jobs: | 
			
		
	
		
		
			
				
					|  |  |         name: ${{ matrix.variant }} |  |  |         name: ${{ matrix.variant }} | 
			
		
	
		
		
			
				
					|  |  |         path: firmware/* |  |  |         path: firmware/* | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  | 
 |  |  |  | 
			
		
	
		
		
			
				
					|  |  |   release: |  |  |   release: | 
			
		
	
		
		
			
				
					|  |  |     name: Create Release |  |  |     name: Create Release | 
			
		
	
		
		
			
				
					|  |  |  |  |  |     needs: [build-en, build-de] | 
			
		
	
		
		
			
				
					|  |  |     runs-on: ubuntu-latest |  |  |     runs-on: ubuntu-latest | 
			
		
	
		
		
			
				
					|  |  |     needs: [build] |  |  |  | 
			
		
	
		
		
			
				
					|  |  |     continue-on-error: false |  |  |     continue-on-error: false | 
			
		
	
		
		
			
				
					|  |  |     permissions: |  |  |     permissions: | 
			
		
	
		
		
			
				
					|  |  |       contents: write |  |  |       contents: write | 
			
		
	
	
		
		
			
				
					|  | 
 |