mirror of https://github.com/lumapu/ahoy.git
				
				
			
							committed by
							
								 GitHub
								GitHub
							
						
					
				
				 4 changed files with 76 additions and 250 deletions
			
			
		| @ -1,223 +0,0 @@ | |||
| name: Ahoy Development | |||
| 
 | |||
| on: | |||
|   push: | |||
|     branches: development* | |||
|     paths-ignore: | |||
|     - '**.md' # Do no build on *.md changes | |||
| 
 | |||
| jobs: | |||
|   check: | |||
|     name: Check Repository | |||
|     runs-on: ubuntu-latest | |||
|     if: github.repository == 'lumapu/ahoy' && github.ref_name == 'development03' | |||
|     continue-on-error: true | |||
|     steps: | |||
|     - uses: actions/checkout@v4 | |||
| 
 | |||
|   build-en: | |||
|     name: Build (EN) | |||
|     needs: check | |||
|     runs-on: ubuntu-latest | |||
|     continue-on-error: true | |||
|     strategy: | |||
|       matrix: | |||
|         variant: | |||
|           - opendtufusion | |||
|           - opendtufusion-ethernet | |||
|           - esp8266 | |||
|           - esp8266-all | |||
|           - esp8266-minimal | |||
|           - esp8266-prometheus | |||
|           - esp8285 | |||
|           - esp32-wroom32 | |||
|           - esp32-wroom32-minimal | |||
|           - esp32-wroom32-prometheus | |||
|           - esp32-wroom32-ethernet | |||
|           - esp32-s2-mini | |||
|           - esp32-c3-mini | |||
|     steps: | |||
|     - 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: dev-${{ matrix.variant }} | |||
|         path: firmware/* | |||
| 
 | |||
|   build-de: | |||
|     name: Build (DE) | |||
|     needs: check | |||
|     runs-on: ubuntu-latest | |||
|     continue-on-error: true | |||
|     strategy: | |||
|       matrix: | |||
|         variant: | |||
|           - opendtufusion-de | |||
|           - opendtufusion-ethernet-de | |||
|           - esp8266-de | |||
|           - esp8266-all-de | |||
|           - esp8266-prometheus-de | |||
|           - esp8285-de | |||
|           - esp32-wroom32-de | |||
|           - esp32-wroom32-prometheus-de | |||
|           - esp32-wroom32-ethernet-de | |||
|           - esp32-s2-mini-de | |||
|           - esp32-c3-mini-de | |||
|     steps: | |||
|     - 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: dev-${{ matrix.variant }} | |||
|         path: firmware/* | |||
| 
 | |||
|   deploy: | |||
|     name: Update Artifacts / Deploy | |||
|     needs: [build-en, build-de] | |||
|     runs-on: ubuntu-latest | |||
|     continue-on-error: false | |||
|     steps: | |||
|     - uses: actions/checkout@v4 | |||
|     #- name: Copy boot_app0.bin | |||
|     #  run: cp ~/.platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin src/.pio/build/opendtufusion/ota.bin | |||
| 
 | |||
|     - name: Get Artifacts | |||
|       uses: actions/download-artifact@v4 | |||
|       with: | |||
|         merge-multiple: true | |||
|         path: firmware | |||
| 
 | |||
|     - name: Get Version from code | |||
|       id: version_name | |||
|       run: python scripts/getVersion.py ${{ matrix.variant }} >> $GITHUB_OUTPUT | |||
| 
 | |||
|     - name: Set Version | |||
|       uses: cschleiden/replace-tokens@v1 | |||
|       with: | |||
|         files: manual/User_Manual.md | |||
|       env: | |||
|           VERSION: ${{ steps.version_name.outputs.name }} | |||
| 
 | |||
| 
 | |||
|     - name: Create ESP Web Tools Manifest | |||
|       working-directory: src | |||
|       run: python ../scripts/buildManifest.py | |||
| 
 | |||
|     - name: Copy install html | |||
|       run: mv scripts/gh-action-dev-build-flash.html firmware/install.html | |||
| 
 | |||
|     - name: Copy Changes.md | |||
|       run: mv src/CHANGES.md firmware/CHANGES.md | |||
| 
 | |||
| 
 | |||
|     - name: Rename firmware directory | |||
|       run: mv firmware ${{ steps.version_name.outputs.name }} | |||
| 
 | |||
|     - name: delete environment Artifacts | |||
|       uses: geekyeggo/delete-artifact@v4 | |||
|       with: | |||
|         name: dev-* | |||
| 
 | |||
|     - name: Deploy | |||
|       uses: nogsantos/scp-deploy@master | |||
|       with: | |||
|         src: ${{ steps.version_name.outputs.name }}/ | |||
|         host: ${{ secrets.FW_SSH_HOST }} | |||
|         remote: ${{ secrets.FW_SSH_DIR }}/dev | |||
|         port: ${{ secrets.FW_SSH_PORT }} | |||
|         user: ${{ secrets.FW_SSH_USER }} | |||
|         key: ${{ secrets.FW_SSH_KEY }} | |||
| 
 | |||
|     - name: Clean elf files (7z compressed) for Artifact | |||
|       run: | | |||
|         rm -f \ | |||
|           ${{ steps.version_name.outputs.name }}/*/*.elf.7z | |||
| 
 | |||
|     - name: Create Artifact | |||
|       uses: actions/upload-artifact@v4 | |||
|       with: | |||
|         name: dev-${{ steps.version_name.outputs.name }} | |||
|         path: | | |||
|           ${{ steps.version_name.outputs.name }}/* | |||
|           manual/User_Manual.md | |||
|           manual/Getting_Started.md | |||
					Loading…
					
					
				
		Reference in new issue