Fix BME280 uCase #5
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# SPDX-FileCopyrightText: Brent Rubell for Adafruit Industries, 2025 | |
# | |
# SPDX-License-Identifier: MIT | |
name: WipperSnapper Release Workflow for "Offline Mode" Alpha Feature | |
on: | |
push: | |
branches: | |
- test-offline-release | |
secrets: | |
GH_REPO_TOKEN: | |
required: true | |
jobs: | |
build-esp32sx: | |
name: 🏗️ESP32-Sx | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
arduino-platform: | |
[ | |
"metroesp32s2", | |
"metro_esp32s3", | |
"feather_esp32s2", | |
"feather_esp32s2_tft", | |
"feather_esp32s2_reverse_tft", | |
"feather_esp32s3", | |
"feather_esp32s3_4mbflash_2mbpsram", | |
"feather_esp32s3_tft", | |
"qtpy_esp32s3", | |
"qtpy_esp32s2", | |
"feather_esp32s3_reverse_tft", | |
"qtpy_esp32s3_n4r2", | |
] | |
steps: | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: "3.x" | |
- uses: actions/checkout@v4 | |
- name: Get WipperSnapper version | |
run: | | |
git fetch --prune --unshallow --tags | |
git describe --dirty --tags | |
echo >>$GITHUB_ENV WS_VERSION=$(git describe --dirty --tags) | |
- uses: actions/checkout@v4 | |
with: | |
repository: adafruit/ci-arduino | |
ref: ci-wippersnapper | |
path: ci | |
- name: Install CI-Arduino | |
run: bash ci/actions_install.sh | |
- name: Install extra Arduino libraries | |
run: | | |
git clone --quiet https://github.com/milesburton/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library | |
git clone --quiet https://github.com/pstolarz/OneWireNg.git /home/runner/Arduino/libraries/OneWireNg | |
git clone --quiet https://github.com/adafruit/Adafruit_HX8357_Library.git /home/runner/Arduino/libraries/Adafruit_HX8357_Library | |
git clone --quiet https://github.com/adafruit/Adafruit_ILI9341.git /home/runner/Arduino/libraries/Adafruit_ILI9341 | |
git clone --quiet https://github.com/adafruit/Adafruit_STMPE610.git /home/runner/Arduino/libraries/Adafruit_STMPE610 | |
git clone --quiet https://github.com/adafruit/Adafruit-ST7735-Library.git /home/runner/Arduino/libraries/Adafruit-ST7735-Library | |
git clone --quiet https://github.com/adafruit/Adafruit_TouchScreen.git /home/runner/Arduino/libraries/Adafruit_TouchScreen | |
git clone --quiet https://github.com/adafruit/Adafruit_TinyUSB_Arduino /home/runner/Arduino/libraries/Adafruit_TinyUSB_Arduino | |
git clone --depth 1 --branch wippersnapper https://github.com/brentru/lvgl.git /home/runner/Arduino/libraries/lvgl | |
git clone --depth 1 --branch development https://github.com/brentru/Adafruit_LvGL_Glue.git /home/runner/Arduino/libraries/Adafruit_LittlevGL_Glue_Library | |
- name: Download stable Nanopb | |
id: download-nanopb | |
continue-on-error: true | |
run: | | |
wget https://jpa.kapsi.fi/nanopb/download/nanopb-0.4.8.tar.gz | |
- if: ${{ failure() || steps.download-nanopb.outcome != 'success' }} | |
name: Restore cached nanopb | |
id: cache-nanopb-restore | |
uses: actions/cache/restore@v4 | |
env: | |
cache-name: cache-node-modules | |
with: | |
path: ./nanopb-0.4.8.tar.gz | |
key: nanopb-0.4.8.tar.gz | |
- if: ${{ steps.download-nanopb.outcome == 'success' }} | |
name: Save nanopb to cache | |
id: cache-nanopb-save | |
uses: actions/cache/save@v4 | |
env: | |
cache-name: cache-node-modules | |
with: | |
path: ./nanopb-0.4.8.tar.gz | |
key: nanopb-0.4.8.tar.gz | |
- name: Install stable Nanopb | |
run: | | |
tar -xf nanopb-0.4.8.tar.gz | |
# Copy files to WipperSnapper's src/nanopb directory | |
cp nanopb/pb_common.* nanopb/pb_encode.* nanopb/pb_decode.* src/nanopb | |
mv nanopb/pb.h src/nanopb/nanopb.pb.h | |
- name: List all files in Adafruit_LittlevGL_Glue_Library folder | |
run: | | |
ls /home/runner/Arduino/libraries/Adafruit_LittlevGL_Glue_Library | |
- name: Copy lv_conf.h file in Adafruit_LittlevGL_Glue_Library to the arduino library folder | |
run: | | |
cp /home/runner/Arduino/libraries/Adafruit_LittlevGL_Glue_Library/lv_conf.h /home/runner/Arduino/libraries | |
- name: Build for ESP32-SX | |
run: | | |
python3 ci/build_platform.py ${{ matrix.arduino-platform }} --build_timeout 48000 | |
- name: list files (tree) | |
run: | | |
tree | |
- name: Rename build artifacts to reflect the platform name | |
run: | | |
mv examples/*/build/*/Wippersnapper_demo.ino.uf2 wippersnapper.${{ matrix.arduino-platform }}.${{ env.WS_VERSION }}.uf2 | |
mv examples/*/build/*/Wippersnapper_demo.ino.bin wippersnapper.${{ matrix.arduino-platform }}.${{ env.WS_VERSION }}.bin | |
- name: upload build artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: build-files-${{ matrix.arduino-platform }}.${{ env.WS_VERSION }} | |
path: | | |
wippersnapper.${{ matrix.arduino-platform }}.${{ env.WS_VERSION }}.uf2 | |
wippersnapper.${{ matrix.arduino-platform }}.${{ env.WS_VERSION }}.bin | |
build-rp2040: | |
name: 🏗️RP2040, RP2350 | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
arduino-platform: ["pico_rp2040_tinyusb", "pico_rp2350_tinyusb"] | |
steps: | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: "3.x" | |
- uses: actions/checkout@v4 | |
- name: Get WipperSnapper version | |
run: | | |
git fetch --prune --unshallow --tags | |
git describe --dirty --tags | |
echo >>$GITHUB_ENV WS_VERSION=$(git describe --dirty --tags) | |
- uses: actions/checkout@v4 | |
with: | |
repository: adafruit/ci-arduino | |
ref: ci-wippersnapper | |
path: ci | |
- name: Install CI-Arduino | |
run: bash ci/actions_install.sh | |
# manually install OneWireNG/TempControlLib for OneWireNg (RP2040 Supported OneWire w/backwards compat.) | |
- name: Install extra Arduino libraries | |
run: | | |
git clone --quiet https://github.com/pstolarz/OneWireNg.git /home/runner/Arduino/libraries/OneWireNg | |
git clone --quiet https://github.com/pstolarz/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library | |
git clone --quiet https://github.com/adafruit/Adafruit_TinyUSB_Arduino /home/runner/Arduino/libraries/Adafruit_TinyUSB_Arduino | |
- name: Download stable Nanopb | |
id: download-nanopb | |
continue-on-error: true | |
run: | | |
wget https://jpa.kapsi.fi/nanopb/download/nanopb-0.4.8.tar.gz | |
- if: ${{ failure() || steps.download-nanopb.outcome != 'success' }} | |
name: Restore cached nanopb | |
id: cache-nanopb-restore | |
uses: actions/cache/restore@v4 | |
env: | |
cache-name: cache-node-modules | |
with: | |
path: ./nanopb-0.4.8.tar.gz | |
key: nanopb-0.4.8.tar.gz | |
- if: ${{ steps.download-nanopb.outcome == 'success' }} | |
name: Save nanopb to cache | |
id: cache-nanopb-save | |
uses: actions/cache/save@v4 | |
env: | |
cache-name: cache-node-modules | |
with: | |
path: ./nanopb-0.4.8.tar.gz | |
key: nanopb-0.4.8.tar.gz | |
- name: Install stable Nanopb | |
run: | | |
tar -xf nanopb-0.4.8.tar.gz | |
# Copy files to WipperSnapper's src/nanopb directory | |
cp nanopb/pb_common.* nanopb/pb_encode.* nanopb/pb_decode.* src/nanopb | |
mv nanopb/pb.h src/nanopb/nanopb.pb.h | |
- name: build RP2040 platforms | |
run: python3 ci/build_platform.py ${{ matrix.arduino-platform }} --build_timeout 48000 | |
- name: Rename build artifacts to reflect the platform name | |
run: | | |
mv examples/*/build/*/Wippersnapper_demo.ino.uf2 wippersnapper.${{ matrix.arduino-platform }}.${{ env.WS_VERSION }}.uf2 | |
- name: upload build artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: build-files-${{ matrix.arduino-platform }}.${{ env.WS_VERSION }} | |
path: | | |
wippersnapper.${{ matrix.arduino-platform }}.${{ env.WS_VERSION }}.uf2 | |
merge-job-build-files: | |
name: Merge Artifacts for build-files | |
runs-on: ubuntu-latest | |
needs: [build-esp32sx, build-rp2040] | |
steps: | |
- name: Merge Artifacts from Builds | |
uses: actions/upload-artifact/merge@v4 | |
with: | |
name: build-files | |
pattern: build-files-!(dev)-* | |
delete-merged: true | |
clang_and_doxy: | |
name: 🔎Clang & Doxygen | |
runs-on: ubuntu-latest | |
needs: | |
[ | |
build-esp32sx, | |
build-rp2040 | |
] | |
steps: | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: "3.x" | |
- uses: actions/checkout@v4 | |
with: | |
repository: adafruit/ci-arduino | |
ref: ci-wippersnapper | |
path: ci | |
- name: pre-install | |
run: bash ci/actions_install.sh | |
- name: clang | |
run: python3 ci/run-clang-format.py -r -e "ci/*" -e "bin/*" -e src/nanopb -e src/protos -e src/pb.h -e src/provisioning/tinyusb src/ | |
release-wippersnapper: | |
name: Release WipperSnapper | |
runs-on: ubuntu-latest | |
needs: merge-job-build-files | |
steps: | |
- name: Download build artifacts from build-platform steps | |
uses: actions/download-artifact@v2 | |
with: | |
name: build-files | |
- name: List Files | |
run: ls | |
- name: Upload Assets to the GitHub Release | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
files: | | |
wippersnapper.*.uf2 | |
wippersnapper.*.bin | |
wippersnapper.*.zip |