mirror of https://github.com/lumapu/ahoy.git
tictrick
8 months ago
committed by
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