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