Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tpwrules wip #469

Closed
wants to merge 154 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
154 commits
Select commit Hold shift + click to select a range
0520c98
Merge pull request #423 from EnviroDIY/y700_y4000
aufdenkampe Oct 29, 2022
3b998e9
Merge branch 'master' into develop
aufdenkampe Oct 31, 2022
3de2830
ci: bump softprops/action-gh-release from 0.1.14 to 0.1.15
dependabot[bot] Nov 21, 2022
49da973
variablebase_debug error when using cc-arm
Dec 1, 2022
480e6ad
Error when using cc-arm. Changed include for local search. Tested by …
Dec 1, 2022
b1b5cc9
ci: bump peaceiris/actions-gh-pages from 3.9.0 to 3.9.2
dependabot[bot] Jan 17, 2023
58f64fb
Update CampbellClariVUE10.h
s-hicks2 Feb 27, 2023
652ead7
Merge branch 'master' into develop
aufdenkampe Mar 1, 2023
7061e00
Update actions
SRGDamia1 Mar 10, 2023
0f7af8e
Tweak actions, remove sodaq from A-cli
SRGDamia1 Mar 14, 2023
b185e38
Merge pull request #430 from EnviroDIY/dependabot/github_actions/peac…
SRGDamia1 Mar 14, 2023
b05af0e
Merge pull request #426 from EnviroDIY/dependabot/github_actions/soft…
SRGDamia1 Mar 14, 2023
273472e
Merge pull request #427 from neilh10/pr_cc-arm_variablebase_debug
SRGDamia1 Mar 14, 2023
5fc0202
Merge pull request #428 from neilh10/pr_cc-arm_include_error
SRGDamia1 Mar 14, 2023
fa7537a
bump doxygen
SRGDamia1 Mar 14, 2023
fcedc9a
bump doxygen
SRGDamia1 Mar 14, 2023
95dd73c
Remove Sodaq from tests
SRGDamia1 Mar 14, 2023
2644274
Remove sensor tests
SRGDamia1 Mar 14, 2023
4766d20
Add sensor tests to git ignore
SRGDamia1 Mar 14, 2023
e30f813
Remove unfound, failing dependency from A-CLI
SRGDamia1 Mar 14, 2023
d86eef8
debugging actions
SRGDamia1 Mar 14, 2023
7882402
different attempt to set output from python
SRGDamia1 Mar 14, 2023
e426ce8
bump some dependencies
SRGDamia1 Mar 14, 2023
5be5dfd
Revert "bump doxygen"
SRGDamia1 Mar 14, 2023
31fe61f
Revert "Tweak actions, remove sodaq from A-cli"
SRGDamia1 Mar 14, 2023
f7fdc7c
Revert "Update actions"
SRGDamia1 Mar 14, 2023
5a8610a
Add RainVUE & Y700 docs to menu readme
aufdenkampe Mar 14, 2023
68d1cca
Add RainVue and Y700 vars, fix RainVue snake
SRGDamia1 Mar 15, 2023
8696d4f
Merge pull request #424 from EnviroDIY/develop for v0.34.0
aufdenkampe Mar 15, 2023
0b1eb45
fix structure of uninstall for release package
SRGDamia1 Mar 16, 2023
0796c59
Another tweak to auto release [ci skip]
SRGDamia1 Mar 16, 2023
e958fe2
Fix typo in refs, upgrade doxyfile [ci skip]
SRGDamia1 Mar 16, 2023
9b33edc
Another change to doc build [ci skip]
SRGDamia1 Mar 16, 2023
623461c
Add y700 & rainvue to main readme
aufdenkampe Mar 16, 2023
9d0b8ae
add somewhat prototype sensor module for dwyer sblt2 4-20mA sensor
brmiller1 Nov 7, 2022
4a71675
reduce sleep power consumption by turning off modem uart properly
tpwrules Nov 17, 2022
3c3ddff
Merge branch 'maxbotix-sensor'
tpwrules Jan 12, 2023
998b62d
change EnviroDIY URL to Memphis server and update copyright
tpwrules Jan 24, 2023
8add74d
add 8K data buffer for testing
tpwrules Feb 10, 2023
9a54111
publishers: fix undefined behavior in response code processing
tpwrules Feb 10, 2023
590ae12
dataPublisherBase: remove redundant zero init of TX buffer
tpwrules Feb 4, 2023
47faf5c
publishers: remove unused functions
tpwrules Feb 10, 2023
7a827fa
publishers: refactor transmit buffer usage
tpwrules Feb 10, 2023
c05cfd6
publishers/EnviroDIYPublisher: send data as one element arrays
tpwrules Feb 10, 2023
793bbb9
publishers/EnviroDIYPublisher: buffer log data and send in batches
tpwrules Feb 10, 2023
74cac0d
publishers/EnviroDIYPublisher: move log buffer logic to its own class
tpwrules Feb 10, 2023
1748f59
only turn modem on when internet connection is needed by a publisher
tpwrules Feb 10, 2023
5d6908a
dataPublisherBase: correctly retry flushing if modem buffer is full
tpwrules Feb 10, 2023
6f7a7f2
publishers/EnviroDIYPublisher: increase transmission timeout
tpwrules Feb 10, 2023
9c0e6a9
SIMComSIM7080: increase socket buffer size
tpwrules Feb 6, 2023
9a011e0
LoggerBase: optimize setFileTimestamp
tpwrules Feb 6, 2023
6391c0c
LoggerModem: optimize CSQ conversion functions
tpwrules Feb 6, 2023
8d720f7
dataPublisherBase: repurpose sendEveryX and ditch sendOffset
tpwrules Feb 10, 2023
80e7bda
LoggerBase: always power down modem after RTC sync
tpwrules Feb 7, 2023
82ccf93
publishers/EnviroDIYPublisher: send initial logged data immediately
tpwrules Feb 10, 2023
4984249
publishers/EnviroDIYPublisher: use more intelligent sending algorithm
tpwrules Feb 10, 2023
b0afb67
LoggerBase: force 1 minute logging interval for first 5 samples
tpwrules Feb 9, 2023
7165c78
LoggerBase: make testing button log immediately using normal procedure
tpwrules Feb 9, 2023
f45c9c8
flush log buffer immediately when test button is pushed
tpwrules Feb 10, 2023
5b6bd1c
remove hearsay about logger construction order
tpwrules Feb 10, 2023
d7c1970
LoggerBase: increase connection timeout when publishing
tpwrules Feb 10, 2023
ad6c41d
publishers/ThingSpeakPublisher: fix buffer append order
tpwrules Mar 16, 2023
0df7618
libraries/ModularSensors: run clang-format on *.cpp and *.h
tpwrules Mar 16, 2023
cee960a
git subrepo pull (merge) libraries/ModularSensors
tpwrules Mar 16, 2023
6a30577
Merge pull request #4 from JacobsSensorLab/MaxbotixAddition
brmiller1 Apr 5, 2023
fde0f83
Added begin. Can't figure out why needed.
SRGDamia1 Sep 15, 2023
88b9c1c
Non-static buffer
SRGDamia1 Sep 21, 2023
c247aa6
steps toward fifo
SRGDamia1 Sep 21, 2023
446f0b9
Made the EnviroDIY host/path/port settable
SRGDamia1 May 20, 2024
f3c9d25
CR
SRGDamia1 May 20, 2024
177574c
Merge branch 'develop' into tpwrules_wip
SRGDamia1 May 20, 2024
c81f714
Re-add testing mode
SRGDamia1 May 20, 2024
06a7a86
Delete un-finished Dwyer
SRGDamia1 May 20, 2024
feac5b5
Reorder maxbotix ctor, and default max range
SRGDamia1 May 23, 2024
0cae7cb
Ensure 7080's netlight is on
SRGDamia1 May 23, 2024
f562907
Text change
SRGDamia1 May 28, 2024
302f0af
Decrease buffer size for Mega, fix warnings
SRGDamia1 May 28, 2024
07715a8
Apply markdown lint
SRGDamia1 Jun 10, 2024
1192bf1
Bump TinyGSM version, change datatype for modem voltage outputs
SRGDamia1 Jun 10, 2024
be74cde
Remove Az extensions from XBee WiFi
SRGDamia1 Jun 10, 2024
a0799a7
Move XBee defines from middle of function to header
SRGDamia1 Jun 11, 2024
3954156
Update Doxygen, add docs for private members
SRGDamia1 Jun 11, 2024
5e0a073
Remove unused members
SRGDamia1 Jun 11, 2024
bdf5fa8
Change to reusable workflows
SRGDamia1 Jun 11, 2024
c6e2688
Fix library structure compliance
SRGDamia1 Jun 11, 2024
338a785
Reorder defines
SRGDamia1 Jun 12, 2024
56497ea
Re-add job for component inclusion
SRGDamia1 Jun 12, 2024
adb4073
Don't generate dot graphs m.css won't use
SRGDamia1 Jun 12, 2024
5a3714d
Move NIST macros, clean IP's
SRGDamia1 Jun 12, 2024
d1d4855
Markdown lint, fixes code block issues
SRGDamia1 Jun 14, 2024
2a1af49
Remove generated css
SRGDamia1 Jun 14, 2024
1f92932
Document extras, dirs, CI
SRGDamia1 Jun 14, 2024
522ac8a
Regroup modem defines
SRGDamia1 Jun 14, 2024
55a06e7
Regroup sensor defines
SRGDamia1 Jun 14, 2024
63caa41
Remove cores from lib installer
SRGDamia1 Jun 14, 2024
3da4bc4
Rename library install shell files
SRGDamia1 Jun 14, 2024
132453c
Bump SensorModbusMaster
SRGDamia1 Jun 17, 2024
3a84fd9
Move dir dox
SRGDamia1 Jun 17, 2024
427529c
Typo fix, inner page
SRGDamia1 Jun 17, 2024
860b56a
ci: bump softprops/action-gh-release from 2.0.5 to 2.0.6
dependabot[bot] Jun 20, 2024
c276e81
Merge pull request #470 from EnviroDIY/dependabot/github_actions/soft…
SRGDamia1 Jun 21, 2024
110ca9b
ci: bump arduino/setup-arduino-cli from 1.1.2 to 2.0.0
dependabot[bot] Jul 1, 2024
944f533
Merge pull request #471 from EnviroDIY/dependabot/github_actions/ardu…
SRGDamia1 Jul 12, 2024
a5ba55c
ci: bump softprops/action-gh-release from 2.0.6 to 2.0.8
dependabot[bot] Jul 19, 2024
07fe042
Merge pull request #473 from EnviroDIY/dependabot/github_actions/soft…
SRGDamia1 Jul 22, 2024
542d321
track pio scripts
SRGDamia1 Aug 7, 2024
7bedc43
Update pio scripts
SRGDamia1 Aug 7, 2024
b73f08e
Update pio scripts again
SRGDamia1 Aug 7, 2024
4ac4b6f
Correct example dependencies
SRGDamia1 Aug 7, 2024
d7d0609
Update pio scripts for better ignore
SRGDamia1 Aug 7, 2024
3e8f5f1
Move pio scripts to the workflows repo
SRGDamia1 Aug 7, 2024
1ff8b3c
Switch to reusable workflows
SRGDamia1 Aug 8, 2024
5b6ab84
Use build examples workflow
SRGDamia1 Aug 9, 2024
f09491d
Update doxyfile
SRGDamia1 Aug 15, 2024
8ecaa7f
Reorder example headers
SRGDamia1 Aug 15, 2024
da58b30
Remove redundant example docs
SRGDamia1 Aug 15, 2024
186b5bf
Remove files redundant with workflow repo, update doxy fil
SRGDamia1 Aug 15, 2024
1144626
Add example dependency file
SRGDamia1 Aug 15, 2024
477192b
Fix example env names
SRGDamia1 Aug 15, 2024
34ef181
revert build_examples.yaml
SRGDamia1 Aug 15, 2024
746c2ef
Fix extra flags evn name
SRGDamia1 Aug 23, 2024
9b684b4
Update changelog
SRGDamia1 Aug 23, 2024
e34e87b
Watch-dog and sleep changes based on sleepy dog
SRGDamia1 Aug 23, 2024
f36e83b
Move board definition, fix define for Feather M0
SRGDamia1 Aug 23, 2024
cdff867
Made ds3231 default for SAMD21
SRGDamia1 Aug 23, 2024
b5fdb54
Save wake pin mode
SRGDamia1 Aug 26, 2024
f683dd8
Only actualy use Enable Interrupt for AVR. It's just a macro re-write…
SRGDamia1 Aug 26, 2024
ea7449e
Re-wrote SAMD clock configs
SRGDamia1 Aug 26, 2024
37ee801
Update changelog, bump version
SRGDamia1 Aug 26, 2024
c363d7e
Empty commit after merge
SRGDamia1 Aug 26, 2024
dd72944
Don't attempt bad version of KellerModbus
SRGDamia1 Aug 26, 2024
a3f5dad
Fix release inputs
SRGDamia1 Aug 26, 2024
fcdec30
Merge pull request #474 from EnviroDIY/sleep_changes
SRGDamia1 Aug 26, 2024
eb03a69
Fixed define check
SRGDamia1 Aug 26, 2024
b1f45a1
typo fix
SRGDamia1 Sep 5, 2024
7561c6c
Add macro for NIST response bytes
SRGDamia1 Sep 16, 2024
3354e34
Fix small typos
SRGDamia1 Sep 16, 2024
dd0e259
Fix Keller dependency version
SRGDamia1 Sep 16, 2024
e93f48e
Merge branch 'master' into tpwrules_wip
SRGDamia1 Sep 16, 2024
8646b2c
Clean some docs for use with reusable workflows
SRGDamia1 Sep 16, 2024
3f43dc1
Fix extra uart reset on sleep that had been incompletely removed
SRGDamia1 Sep 16, 2024
c110800
Fix ifndef warnings
SRGDamia1 Sep 17, 2024
8a22e90
Bump sdi12
SRGDamia1 Sep 17, 2024
2bcb001
Fix for Zero
SRGDamia1 Sep 17, 2024
88eb8d6
defined checks consistently as fxns
SRGDamia1 Sep 18, 2024
c65ade7
minor clang format applications
SRGDamia1 Sep 18, 2024
4f6a820
update ci ini
SRGDamia1 Sep 18, 2024
86095af
Consistently check for both ARDUINO_ARCH_AVR and __AVR__
SRGDamia1 Sep 18, 2024
95e7010
ignore one example
SRGDamia1 Sep 19, 2024
ba8493d
mcss render math
SRGDamia1 Sep 19, 2024
ab15dac
Don't generate HTML that we won't use
SRGDamia1 Sep 19, 2024
b883d94
Remove extra emphasized return types.
SRGDamia1 Sep 19, 2024
011dc73
Fix some docs
SRGDamia1 Sep 19, 2024
d2bf503
Update doxyfile
SRGDamia1 Sep 24, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ updates:
- package-ecosystem: 'github-actions'
directory: '/'
schedule:
interval: 'daily'
interval: 'weekly'
labels:
- 'CI/CD'
commit-message:
Expand Down
99 changes: 15 additions & 84 deletions .github/workflows/build_documentation.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,19 @@
name: Check for Complete Documentation
name: Check, Build, and Publish Documentation

on:
# Triggers the workflow on push or pull request events
push:
pull_request:
# Trigger when a release is created
# NOTE: This will only trigger if the release is created from the UI or with a personal access token
release:
types:
- published
# Trigger with the release workflow finishes
workflow_run:
workflows: ['Create a New Release']
types: [completed]
branches: [master]
# Also give a manual trigger
workflow_dispatch:
inputs:
Expand All @@ -21,18 +27,10 @@ concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

env:
REBUILD_CACHE_NUMBER: 2
PYTHON_DEPS_ARCHIVE_NUM: 2
DOXYGEN_VERSION: Release_1_9_6
TEX_VERSION: 2019
# ^^ 2019 is the latest TeX live available on apt-get and that's good enough
GRAPHVIZ_VERSION: 2.43.0

jobs:
check_menu_inclusion:
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, 'ci skip')"
if: ${{ ! contains(github.event.head_commit.message, 'ci skip') }}
name: Check that all classes are documented in the menu-a-la-carte example

steps:
Expand Down Expand Up @@ -78,78 +76,11 @@ jobs:
run: exit 1

doc_build:
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, 'ci skip')"
if: ${{ (! contains(github.event.head_commit.message, 'ci skip')) && (github.event_name != 'workflow_run' || (github.event_name == 'workflow_run' && github.event.workflow_run.conclusion == 'success')) }}
name: Build documentation

steps:
# check out the ModularSensors repo
- uses: actions/checkout@v4
with:
path: code_docs/ModularSensors

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'

- name: Restore Python Dependencies
uses: actions/cache@v4
id: cache_python
with:
path: ~/.cache/pip
key: ${{ runner.os }}-python-${{ env.REBUILD_CACHE_NUMBER }}-${{ env.PYTHON_DEPS_ARCHIVE_NUM }}

- name: Install Pygments and other m.css Python Requirements
run: |
python -m pip install --upgrade pip
pip3 install --upgrade --upgrade-strategy only-if-needed jinja2 Pygments beautifulsoup4

- name: Restore Doxygen, Graphviz, and TeX Live
id: cache_doxygen
uses: actions/cache@v4
with:
path: |
/usr/lib/x86_64-linux-gnu/texlive
/usr/lib/x86_64-linux-gnu/graphviz
doxygen-src
key: ${{ runner.os }}-doxygen-${{ env.REBUILD_CACHE_NUMBER }}-${{ env.DOXYGEN_VERSION }}-${{ env.TEX_VERSION }}-${{ env.GRAPHVIZ_VERSION }}

- name: Build and install doxygen and its dependencies
if: steps.cache_doxygen.outputs.cache-hit != 'true'
run: |
cd ${{ github.workspace }}/code_docs/ModularSensors/
chmod +x continuous_integration/build-install-doxygen.sh
sh continuous_integration/build-install-doxygen.sh

# check out my fork of m.css, for processing Doxygen output
- name: Checkout m.css
uses: actions/checkout@v4
with:
# Repository name with owner. For example, actions/checkout
repository: SRGDamia1/m.css
path: code_docs/m.css

- name: Generate all the documentation
continue-on-error: true
run: |
cd ${{ github.workspace }}/code_docs/ModularSensors/
chmod +x continuous_integration/generate-documentation.sh
sh continuous_integration/generate-documentation.sh 2>&1 | tee doxygen_run_output.log
result_code=${PIPESTATUS[0]}
echo "doxygen_warnings=$(cat docs/output_doxygen.log)" >> $GITHUB_OUTPUT
echo "mcss_warnings=$(cat docs/output_mcss.log)" >> $GITHUB_OUTPUT
echo "## Doxygen completed with the following warnings:" >> $GITHUB_STEP_SUMMARY
echo "$(cat docs/output_doxygen.log)" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "## mcss Doxygen post-processing completed with the following warnings:" >> $GITHUB_STEP_SUMMARY
echo "$(cat docs/output_mcss.log)" >> $GITHUB_STEP_SUMMARY
echo "Finished generating documentation"
exit $result_code

- name: Deploy to github pages
if: "(github.event_name == 'release' && github.event.action == 'published') || (github.event_name == 'workflow_dispatch' && github.event.inputs.publish == 'true')"
uses: peaceiris/[email protected]
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ${{ github.workspace }}/code_docs/ModularSensorsDoxygen/m.css
uses: EnviroDIY/workflows/.github/workflows/build_documentation.yaml@main
with:
use_graphviz: false
publish: ${{ (github.event_name == 'release' && github.event.action == 'published') || (github.event_name == 'workflow_run' && github.event.workflow_run.conclusion == 'success') || (github.event_name == 'workflow_dispatch' && github.event.inputs.publish == 'true')}}
rebuild_cache_number: 1
secrets: inherit
237 changes: 7 additions & 230 deletions .github/workflows/build_examples.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,233 +8,10 @@ concurrency:
cancel-in-progress: true

jobs:
generate_matrix:
name: Generate build matrices
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, 'ci skip')"
outputs:
arduino_job_matrix: ${{ steps.py_matrix.outputs.arduino_job_matrix }}
pio_job_matrix: ${{ steps.py_matrix.outputs.pio_job_matrix }}

steps:
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
cache: 'pip'

- name: Install python dependencies, including PlatformIO
run: pip install -r continuous_integration/requirements.txt

- name: Generate Matrices
id: py_matrix
run: |
python continuous_integration/generate_job_matrix.py

- name: Store generated examples
uses: actions/upload-artifact@v4
with:
name: generated_examples
path: |
continuous_integration_artifacts/

print_job_matrix:
name: print_job_matrix
runs-on: ubuntu-latest
needs: generate_matrix
steps:
- name: Check the generated matrix output
run: |
echo "Arduino job matrix:"
echo "${{ needs.generate_matrix.outputs.arduino_job_matrix }}"
echo
echo "PlatformIO job matrix"
echo "${{ needs.generate_matrix.outputs.pio_job_matrix }}"

determine_library_source:
name: determine_library_source
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, 'ci skip')"
outputs:
library_install_zip: ${{ steps.store_vars.outputs.library_install_zip }}
library_install_git: ${{ steps.store_vars.outputs.library_install_git }}

steps:
- uses: actions/checkout@v4

- name: Set environment variables for pushes to any branch in EnviroDIY/ModularSensors
if: github.event_name == 'push'
run: |
echo "Push to commit ${GITHUB_SHA}"
echo "LIBRARY_INSTALL_ZIP=https://github.com/${GITHUB_REPOSITORY}/archive/${GITHUB_SHA}.zip" >> $GITHUB_ENV
echo "LIBRARY_INSTALL_GIT=https://github.com/${GITHUB_REPOSITORY}.git#${GITHUB_SHA}" >> $GITHUB_ENV

- name: Set environment variable for PR's from any branch in EnviroDIY/ModularSensors
if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.name == github.repository
run: |
echo "Pull Request from the ${GITHUB_HEAD_REF} branch"
echo "LIBRARY_INSTALL_ZIP=https://github.com/${GITHUB_REPOSITORY}/archive/${GITHUB_HEAD_REF}.zip" >> $GITHUB_ENV
echo "LIBRARY_INSTALL_GIT=https://github.com/${GITHUB_REPOSITORY}.git#${GITHUB_HEAD_REF}" >> $GITHUB_ENV

- name: Set environment variable for PR's from any branch in EnviroDIY/ModularSensors
if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.name != github.repository
run: |
echo "Pull Request from the fork ${{ github.event.pull_request.head.repo.full_name }} at ${{ github.event.pull_request.head.ref }}"
echo "LIBRARY_INSTALL_ZIP=https://github.com/${{ github.event.pull_request.head.repo.full_name }}/archive/${{ github.event.pull_request.head.ref }}.zip" >> $GITHUB_ENV
echo "LIBRARY_INSTALL_GIT=https://github.com/${{ github.event.pull_request.head.repo.full_name }}.git#${{ github.event.pull_request.head.ref }}" >> $GITHUB_ENV

- name: store enviroment variables as output
id: store_vars
run: |
echo "library_install_zip=${{ env.LIBRARY_INSTALL_ZIP }}" >> $GITHUB_OUTPUT
echo "library_install_git=${{ env.LIBRARY_INSTALL_GIT }}" >> $GITHUB_OUTPUT

print_library_source:
name: print_library_source
runs-on: ubuntu-latest
needs: determine_library_source
steps:
- name: Check the library installation source
run: |
echo "Link to zip for Arduino CLI testing install:"
echo "${{ needs.determine_library_source.outputs.library_install_zip }}"
echo
echo "Git reference for PlatformIO testing install"
echo "${{ needs.determine_library_source.outputs.library_install_git }}"

build_ex_arduino:
name: ${{ matrix.job_info.job_name }}
runs-on: ubuntu-latest
needs: [generate_matrix, determine_library_source]
env:
LIBRARY_INSTALL_ZIP: ${{ needs.determine_library_source.outputs.library_install_zip }}
strategy:
matrix:
job_info: ${{ fromJSON(needs.generate_matrix.outputs.arduino_job_matrix) }}

steps:
- uses: actions/checkout@v4

- name: Unused Step
run: echo "This is needed to make the step number match with the PlatformIO jobs. =)"

# We use the `arduino/setup-arduino-cli` action to install and
# configure the Arduino CLI on the system.
- name: Setup Arduino CLI
uses: arduino/[email protected]

- name: Restore Arduino platforms and libraries
uses: actions/cache@v4
id: cache_libraries
with:
path: |
home/arduino
# if nothing in the dependencies.json file has changed, then it will
# be a "cache hit" and we can restore libraries from cache and not
# download them. If it has changed we have to re-download.
key: ${{ hashFiles('./continuous_integration/dependencies.json','continuous_integration/install-deps-arduino-cli.sh') }}

# Install cores and library dependencies for the Arduino CLI, iff no cache
- name: Install the Arduino libraries
if: steps.cache_libraries.outputs.cache-hit != 'true'
run: |
chmod +x continuous_integration/install-deps-arduino-cli.sh
sh continuous_integration/install-deps-arduino-cli.sh

# Install ModularSensors for the Arduino CLI
- name: Install the testing version of Modular Sensors for the Arduino CLI
run: |
chmod +x continuous_integration/install-test-version-arduino-cli.sh
sh continuous_integration/install-test-version-arduino-cli.sh

- name: Download the prepared examples
uses: actions/download-artifact@v4
with:
name: generated_examples
path: |
continuous_integration_artifacts/

- name: Include problem matcher
uses: ammaraskar/gcc-problem-matcher@master

# Run the script to compile the examples
- name: Compile
env:
ACTION_RUN_ID: ${{ github.run_id }}
run: |
chmod +x ${{ matrix.job_info.script }}
bash ${{ matrix.job_info.script }}

# NOTE: Don't uninstall for PlatformIO because the library manager will clean up the
# dependencies leaving nothing for the cache
# pio pkg uninstall --library -g EnviroDIY_ModularSensors
- name: Uninstall testing version of Modular Sensors before caching
run: |
arduino-cli --config-file continuous_integration/arduino_cli.yaml lib uninstall ModularSensors

build_pio:
name: ${{ matrix.job_info.job_name }}
runs-on: ubuntu-latest
needs: [generate_matrix, determine_library_source]
env:
LIBRARY_INSTALL_GIT: ${{ needs.determine_library_source.outputs.library_install_git }}
strategy:
matrix:
job_info: ${{ fromJSON(needs.generate_matrix.outputs.pio_job_matrix) }}

steps:
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
cache: 'pip'

- name: Install python dependencies, including PlatformIO
run: pip install -r continuous_integration/requirements.txt

- name: Restore PlatformIO platforms and libraries
uses: actions/cache@v4
id: cache_libraries
with:
path: |
~/.platformio
# if nothing in the dependencies.json file has changed, then it will
# be a "cache hit" and we can restore libraries from cache and not
# download them. If it has changed we have to re-download.
key: ${{ hashFiles('./continuous_integration/dependencies.json','continuous_integration/install-deps-platformio.sh') }}

# Install the dependencies for PlatformIO
- name: Install the PlatformIO dependencies at global level
if: steps.cache_libraries.outputs.cache-hit != 'true'
run: |
chmod +x continuous_integration/install-deps-platformio.sh
sh continuous_integration/install-deps-platformio.sh
cp -a /home/runner/.platformio/lib/. $GITHUB_WORKSPACE/lib/

# Install ModularSensors at the Global level for PlatformIO
# Force install to get the right version
- name: Install the testing version of Modular Sensors for PlatformIO
run: |
pio pkg install -g --library ${{ env.LIBRARY_INSTALL_GIT }}

- name: Download the prepared examples
uses: actions/download-artifact@v4
with:
name: generated_examples
path: |
continuous_integration_artifacts/

- name: Include problem matcher
uses: ammaraskar/gcc-problem-matcher@master

# Run the script to compile the examples
- name: Compile
env:
ACTION_RUN_ID: ${{ github.run_id }}
run: |
chmod +x ${{ matrix.job_info.script }}
bash ${{ matrix.job_info.script }}
build_examples:
name: Build all examples with PlatformIO and the Arduino CLI
if: ${{ ! contains(github.event.head_commit.message, 'ci skip') }}
uses: EnviroDIY/workflows/.github/workflows/build_examples.yaml@main
with:
boards_to_build: 'mayfly,megaatmega2560,zeroUSB,adafruit_feather_m0'
secrets: inherit
2 changes: 1 addition & 1 deletion .github/workflows/changelog_reminder.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
- name: Changelog Reminder
uses: peterjgrainger/[email protected]
with:
changelog_regex: '/CHANGELOG\/.*\/*.md'
changelog_regex: '/CHANGELOG\/.*\/*.md/i'
customPrMessage: 'Please add your changes to the change log!'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Loading
Loading