mirror of https://github.com/lumapu/ahoy.git
Patrick Amrhein
8 months ago
2 changed files with 69 additions and 241 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