[BOB] Add bob-logger.ino
#70
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
# | |
# Run workflow, step, or job based on file changes GitHub Actions | |
# https://how.wtf/run-workflow-step-or-job-based-on-file-changes-github-actions.html | |
# | |
# GitHub Actions run on certain file type change | |
# https://www.scivision.dev/github-actions-selective-run/ | |
# | |
# GitHub Actions configuration for PlatformIO | |
# https://docs.platformio.org/en/stable/integration/ci/github-actions.html | |
# | |
name: PlatformIO CI | |
on: | |
push: | |
branches: [ main ] | |
paths: | |
- "**.cpp" | |
- "**.h" | |
- "**.ini" | |
- "**.ino" | |
- "**.yaml" | |
pull_request: | |
branches: [ main ] | |
paths: | |
- "**.cpp" | |
- "**.h" | |
- "**.ini" | |
- "**.ino" | |
- "**.yaml" | |
# Allow job to be triggered manually. | |
workflow_dispatch: | |
# Cancel in-progress jobs when pushing to the same branch. | |
concurrency: | |
cancel-in-progress: true | |
group: ${{ github.workflow }}-${{ github.ref }} | |
jobs: | |
changes: | |
runs-on: ubuntu-latest | |
outputs: | |
library-terkindata: ${{ steps.changes.outputs.library-terkindata }} | |
homie: ${{ steps.changes.outputs.homie }} | |
backdoor-any-rfm69: ${{ steps.changes.outputs.backdoor-any-rfm69 }} | |
backdoor-multihop: ${{ steps.changes.outputs.backdoor-multihop }} | |
backdoor-node-wifi-mqtt: ${{ steps.changes.outputs.backdoor-node-wifi-mqtt }} | |
moislabs-beescale-yun: ${{ steps.changes.outputs.moislabs-beescale-yun }} | |
openhive-any-rfm69: ${{ steps.changes.outputs.openhive-any-rfm69 }} | |
openhive-gsm-wifi: ${{ steps.changes.outputs.openhive-gsm-wifi }} | |
openhive-scale-adjust: ${{ steps.changes.outputs.openhive-scale-adjust }} | |
ringlabs-bienenwaage-20: ${{ steps.changes.outputs.ringlabs-bienenwaage-20 }} | |
ringlabs-bienenwaage-50: ${{ steps.changes.outputs.ringlabs-bienenwaage-50 }} | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dorny/paths-filter@v2 | |
id: changes | |
with: | |
filters: | | |
library-terkindata: | |
- 'libraries/TerkinData/Makefile' | |
- 'libraries/TerkinData/**/*.cpp' | |
- 'libraries/TerkinData/**/*.ini' | |
- 'libraries/TerkinData/**/*.ino' | |
- 'libraries/TerkinData/**/*.mk' | |
homie: | |
- 'homie/**/*.ini' | |
- 'homie/**/*.ino' | |
backdoor-any-rfm69: | |
- 'backdoor/gateway-rfm69-beradio/**' | |
- 'backdoor/node-rfm69-beradio/**' | |
backdoor-multihop: | |
- 'backdoor/multihop/**/*.h' | |
- 'backdoor/multihop/**/*.ini' | |
- 'backdoor/multihop/**/*.ino' | |
backdoor-node-wifi-mqtt: | |
- 'backdoor/node-wifi-mqtt/**/*.ini' | |
- 'backdoor/node-wifi-mqtt/**/*.ino' | |
moislabs-beescale-yun: | |
- 'moislabs/beescale-yun/**/*.ini' | |
- 'moislabs/beescale-yun/**/*.ino' | |
openhive-any-rfm69: | |
- 'openhive/gateway-rfm69-csv-sdcard/**' | |
- 'openhive/gateway-rfm69-csv-uart/**' | |
- 'openhive/node-rfm69-csv/**' | |
openhive-gsm-wifi: | |
- 'openhive/openhive-gsm-wifi/**/*.ini' | |
- 'openhive/openhive-gsm-wifi/**/*.ino' | |
openhive-scale-adjust: | |
- 'openhive/scale-adjust/**/*.ini' | |
- 'openhive/scale-adjust/**/*.ino' | |
ringlabs-bienenwaage-20: | |
- 'ringlabs/bienenwaage-2.0/**/*.ini' | |
- 'ringlabs/bienenwaage-2.0/**/*.ino' | |
ringlabs-bienenwaage-50: | |
- 'ringlabs/bienenwaage-5.0/**/*.ini' | |
- 'ringlabs/bienenwaage-5.0/**/*.cpp' | |
build: | |
needs: changes | |
runs-on: ubuntu-latest | |
steps: | |
- name: Acquire sources | |
uses: actions/checkout@v3 | |
with: | |
submodules: 'recursive' | |
- name: Cache PlatformIO | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cache/pip | |
~/.platformio/.cache | |
~/.pio | |
key: ${{ runner.os }}-pio | |
- name: Setup Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.11' | |
cache: 'pip' | |
cache-dependency-path: | | |
requirements*.txt | |
- name: Install PlatformIO | |
run: | | |
pip install --upgrade --requirement requirements-test.txt | |
# ------------------------------------------ | |
# Libraries | |
# ------------------------------------------ | |
- name: Build TerkinData | |
if: ${{ needs.changes.outputs.library-terkindata == 'true' }} | |
run: | | |
cd libraries/TerkinData/examples | |
make | |
# ------------------------------------------ | |
# Mois Labs | |
# ------------------------------------------ | |
- name: Build moislabs-beescale-yun | |
if: ${{ needs.changes.outputs.moislabs-beescale-yun == 'true' }} | |
run: | | |
pio run --project-dir moislabs/beescale-yun | |
# ------------------------------------------ | |
# Backdoor | |
# ------------------------------------------ | |
- name: Build backdoor-any-rfm69 | |
if: ${{ needs.changes.outputs.backdoor-any-rfm69 == 'true' }} | |
run: | | |
pio run --project-dir backdoor/gateway-rfm69-beradio | |
pio run --project-dir backdoor/node-rfm69-beradio | |
- name: Build backdoor/multihop | |
if: ${{ needs.changes.outputs.backdoor-multihop == 'true' }} | |
run: | | |
pio run --project-dir backdoor/multihop | |
- name: Build backdoor/node-wifi-mqtt | |
if: ${{ needs.changes.outputs.backdoor-node-wifi-mqtt == 'true' }} | |
run: | | |
pio run --project-dir backdoor/node-wifi-mqtt | |
# ------------------------------------------ | |
# Homie | |
# ------------------------------------------ | |
- name: Build homie/** | |
if: ${{ needs.changes.outputs.homie == 'true' }} | |
run: | | |
pio run --project-dir homie/node-homie-basic | |
pio run --project-dir homie/node-homie-lowpower | |
pio run --project-dir homie/node-homie-scale-adjust | |
# ------------------------------------------ | |
# Open Hive | |
# ------------------------------------------ | |
- name: Build openhive-any-rfm69 | |
if: ${{ needs.changes.outputs.openhive-any-rfm69 == 'true' }} | |
run: | | |
pio run --project-dir openhive/rfm69-gateway-sdcard | |
pio run --project-dir openhive/rfm69-gateway-uart | |
pio run --project-dir openhive/rfm69-node | |
- name: Build openhive-gsm-wifi | |
if: ${{ needs.changes.outputs.openhive-gsm-wifi == 'true' }} | |
run: | | |
pio run --project-dir openhive/openhive-gsm-wifi | |
- name: Build openhive-scale-adjust | |
if: ${{ needs.changes.outputs.openhive-scale-adjust == 'true' }} | |
run: | | |
pio run --project-dir openhive/scale-adjust/ADS1231 | |
pio run --project-dir openhive/scale-adjust/HX711 | |
# ------------------------------------------ | |
# Ringlabs | |
# ------------------------------------------ | |
- name: Build ringlabs/bienenwaage-2.0 | |
if: ${{ needs.changes.outputs.ringlabs-bienenwaage-20 == 'true' }} | |
run: | | |
pio run --project-dir ringlabs/bienenwaage-2.0 | |
- name: Build ringlabs/bienenwaage-5.0 | |
if: ${{ needs.changes.outputs.ringlabs-bienenwaage-50 == 'true' }} | |
run: | | |
pio run --project-dir ringlabs/bienenwaage-5.0 |