From 5a6eb875da21b97f389fec9daf2a4823ef4946c7 Mon Sep 17 00:00:00 2001 From: Brendan <2bndy5@gmail.com> Date: Mon, 24 Nov 2025 21:23:38 -0800 Subject: [PATCH 1/5] chore(dev): revise CI corresponds to nRF24/.github/#23 --- .github/dependabot.yml | 32 ++++--- .github/doxygen.py | 54 ++++++----- .github/workflows/build_arduino.yml | 13 ++- .github/workflows/build_linux.yml | 125 ++++++++++++++----------- .github/workflows/build_nrf_to_nrf.yml | 8 +- .github/workflows/build_platformIO.yml | 111 ++++++++++++---------- .github/workflows/build_rp2xxx.yml | 101 ++++++++++---------- .github/workflows/clang_format.yml | 37 +++++--- .github/workflows/doxygen.yml | 22 ++++- 9 files changed, 291 insertions(+), 212 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 05a48fc6..ac3f2552 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,13 +1,19 @@ -# To get started with Dependabot version updates, you'll need to specify which -# package ecosystems to update and where the package manifests are located. -# Please see the documentation for all configuration options: -# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates - -version: 2 -updates: - - package-ecosystem: "github-actions" - # Workflow files stored in the - # default location of `.github/workflows` - directory: "/" - schedule: - interval: "weekly" +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + - package-ecosystem: "github-actions" + # Workflow files stored in the + # default location of `.github/workflows` + directory: "/" + schedule: + interval: "weekly" + cooldown: + default-days: 5 + groups: + actions: + patterns: + - "*" diff --git a/.github/doxygen.py b/.github/doxygen.py index 7cdf569f..4a5f81f9 100644 --- a/.github/doxygen.py +++ b/.github/doxygen.py @@ -1,25 +1,29 @@ -"""WARNING -- FOR CI ONLY - -This script is meant to be execute in CI only. -Running this locally will alter the Doxyfile. -Such changes SHOULD NOT be pushed to the remote. -""" -from pathlib import Path -import json - -DOCS_DIR = Path(__file__).parent.parent / "docs" -PROPERTIES = DOCS_DIR.parent / "library.json" -CONFIG = DOCS_DIR / "Doxyfile" -TMP = DOCS_DIR / "doxygenAction" - - -def overwrite_doxygen_value(): - properties = json.loads(PROPERTIES.read_text(encoding="utf-8")) - assert "version" in properties - config = CONFIG.read_text(encoding="utf-8") - TMP.write_text("PROJECT_NUMBER = {}\n".format(properties["version"]), encoding="utf-8") - config += f"\n@INCLUDE = {str(TMP)}\n" - CONFIG.write_text(config, encoding="utf-8") - -if __name__ == "__main__": - overwrite_doxygen_value() +"""WARNING -- FOR CI ONLY + +This script is meant to be execute in CI only. +Running this locally will alter the Doxyfile. +Such changes SHOULD NOT be pushed to the remote. +""" + +from pathlib import Path +import json + +DOCS_DIR = Path(__file__).parent.parent / "docs" +PROPERTIES = DOCS_DIR.parent / "library.json" +CONFIG = DOCS_DIR / "Doxyfile" +TMP = DOCS_DIR / "doxygenAction" + + +def overwrite_doxygen_value(): + properties = json.loads(PROPERTIES.read_text(encoding="utf-8")) + assert "version" in properties + config = CONFIG.read_text(encoding="utf-8") + TMP.write_text( + "PROJECT_NUMBER = {}\n".format(properties["version"]), encoding="utf-8" + ) + config += f"\n@INCLUDE = {str(TMP)}\n" + CONFIG.write_text(config, encoding="utf-8") + + +if __name__ == "__main__": + overwrite_doxygen_value() diff --git a/.github/workflows/build_arduino.yml b/.github/workflows/build_arduino.yml index c69a7097..3c9a810a 100644 --- a/.github/workflows/build_arduino.yml +++ b/.github/workflows/build_arduino.yml @@ -13,9 +13,15 @@ on: - ".github/workflows/build_arduino.yml" - "examples/**" +permissions: {} + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} + jobs: build: - uses: nRF24/.github/.github/workflows/build_arduino.yaml@main + uses: nRF24/.github/.github/workflows/build_arduino.yaml@review-ci with: sketch-paths: | - examples/helloworld_rx @@ -94,5 +100,8 @@ jobs: # When using a matrix to compile for multiple boards, it's necessary to use a separate job for the deltas report report: needs: [build] + permissions: + # needed to post/update comment on PR threads + pull-requests: write if: github.event_name == 'pull_request' - uses: nRF24/.github/.github/workflows/arduino_size_deltas.yaml@main + uses: nRF24/.github/.github/workflows/arduino_size_deltas.yaml@review-ci diff --git a/.github/workflows/build_linux.yml b/.github/workflows/build_linux.yml index e7a8170a..af2b82f2 100644 --- a/.github/workflows/build_linux.yml +++ b/.github/workflows/build_linux.yml @@ -1,56 +1,69 @@ -name: Linux build - -on: - pull_request: - branches: [master, v1.x] - paths: - - "*.h" - - "*.cpp" - - "CMakeLists.txt" - - "cmake/**" - - "library.properties" # CMake gets lib info from here - - "examples_RPi/*" - - "!**Makefile" # old build system is not tested in this workflow - - "**pyRF24Network/setup.py" - - "**pyRF24Network/*.cpp" - - ".github/workflows/linux_build.yml" - push: - branches: [master, v1.x] - paths: - - "*.h" - - "*.cpp" - - "CMakeLists.txt" - - "cmake/**" - - "library.properties" # CMake gets lib info from here - - "examples_RPi/**" - - "!**Makefile" # old build system is not tested in this workflow - - "**pyRF24Network/setup.py" - - "**pyRF24Network/*.cpp" - - ".github/workflows/linux_build.yml" - release: - types: [created] - -jobs: - using_cmake: - uses: nRF24/.github/.github/workflows/build_linux_cmake.yaml@main - with: - rf24network-ref: ${{ github.sha }} - compiler: ${{ matrix.toolchain.compiler }} - usr-dir: ${{ matrix.toolchain.usr_dir }} - examples-path: examples_RPi - deploy-release: ${{ github.event_name == 'release' && (matrix.toolchain.compiler == 'armhf' || matrix.toolchain.compiler == 'arm64') }} - py-wrapper-path: RPi/pyRF24Network - strategy: - fail-fast: false - matrix: - toolchain: - - compiler: "armhf" - usr_dir: "arm-linux-gnueabihf" - - compiler: "arm64" - usr_dir: "aarch64-linux-gnu" - # - compiler: "x86_64" - # usr_dir: "x86_64-linux-gnux32" - # - compiler: "i686" - # usr_dir: "i686-linux-gnu" - - compiler: "default" # github runner is hosted on a "amd64" - usr_dir: "local" +name: Linux build + +on: + pull_request: + branches: [master, v1.x] + paths: + - "*.h" + - "*.cpp" + - "CMakeLists.txt" + - "cmake/**" + - "library.properties" # CMake gets lib info from here + - "examples_RPi/*" + - "!**Makefile" # old build system is not tested in this workflow + - "**pyRF24Network/setup.py" + - "**pyRF24Network/*.cpp" + - ".github/workflows/linux_build.yml" + push: + branches: [master, v1.x] + paths: + - "*.h" + - "*.cpp" + - "CMakeLists.txt" + - "cmake/**" + - "library.properties" # CMake gets lib info from here + - "examples_RPi/**" + - "!**Makefile" # old build system is not tested in this workflow + - "**pyRF24Network/setup.py" + - "**pyRF24Network/*.cpp" + - ".github/workflows/linux_build.yml" + tags: ["*"] + +permissions: {} + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} + +jobs: + using_cmake: + uses: nRF24/.github/.github/workflows/build_linux_cmake.yaml@review-ci + with: + rf24network-ref: ${{ github.sha }} + compiler: ${{ matrix.toolchain.compiler }} + usr-dir: ${{ matrix.toolchain.usr_dir }} + examples-path: examples_RPi + py-wrapper-path: RPi/pyRF24Network + strategy: + fail-fast: false + matrix: + toolchain: + - compiler: "armhf" + usr_dir: "arm-linux-gnueabihf" + - compiler: "arm64" + usr_dir: "aarch64-linux-gnu" + # - compiler: "x86_64" + # usr_dir: "x86_64-linux-gnux32" + # - compiler: "i686" + # usr_dir: "i686-linux-gnu" + - compiler: "default" # github runner is hosted on a "amd64" + usr_dir: "local" + + deploy-release-assets: + needs: [using_cmake] + permissions: + # needed for uploading release assets + contents: write + if: startsWith(github.ref, 'refs/tags/') + uses: nRF24/.github/.github/workflows/deploy_cpack_artifacts.yaml@review-ci + secrets: inherit diff --git a/.github/workflows/build_nrf_to_nrf.yml b/.github/workflows/build_nrf_to_nrf.yml index 31bd24b9..f1442290 100644 --- a/.github/workflows/build_nrf_to_nrf.yml +++ b/.github/workflows/build_nrf_to_nrf.yml @@ -6,9 +6,15 @@ on: push: branches: [master] +permissions: {} + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} + jobs: build: - uses: nRF24/.github/.github/workflows/build_platformio.yaml@main + uses: nRF24/.github/.github/workflows/build_platformio.yaml@review-ci with: example-path: ${{ matrix.example }} board-id: ${{ matrix.board }} diff --git a/.github/workflows/build_platformIO.yml b/.github/workflows/build_platformIO.yml index ef598c3d..f96d1ba7 100644 --- a/.github/workflows/build_platformIO.yml +++ b/.github/workflows/build_platformIO.yml @@ -1,50 +1,61 @@ -name: PlatformIO build - -on: - pull_request: - branches: [master, v1.x] - paths: - - ".github/workflows/build_platformIO.yml" - - "library.json" - - "examples/**" - - "!examples/*.zip" - push: - branches: [master, v1.x] - paths: - - ".github/workflows/build_platformIO.yml" - - "library.json" - - "examples/**" - - "!examples/*.zip" - release: - types: [published, edited] - -jobs: - validate_lib_json: - uses: nRF24/.github/.github/workflows/validate_deploy_platformio.yaml@main - secrets: inherit - with: - deploy-release: ${{ github.event_name == 'release' }} - - build: - needs: [validate_lib_json] - uses: nRF24/.github/.github/workflows/build_platformio.yaml@main - with: - example-path: ${{ matrix.example }} - board-id: ${{ matrix.board }} - strategy: - fail-fast: false - matrix: - example: - - "examples/helloworld_rx/helloworld_rx.ino" - - "examples/helloworld_rx_advanced/helloworld_rx_advanced.ino" - - "examples/helloworld_tx/helloworld_tx.ino" - - "examples/helloworld_tx_advanced/helloworld_tx_advanced.ino" - - "examples/Network_Priority_RX/Network_Priority_RX.ino" - - "examples/Network_Priority_TX/Network_Priority_TX.ino" - board: - - "teensy31" - - "teensy35" - - "teensy36" - - "teensy40" - - "teensy41" - - "teensylc" +name: PlatformIO build + +on: + pull_request: + branches: [master, v1.x] + paths: + - ".github/workflows/build_platformIO.yml" + - "library.json" + - "examples/**" + - "!examples/*.zip" + push: + branches: [master, v1.x] + paths: + - ".github/workflows/build_platformIO.yml" + - "library.json" + - "examples/**" + - "!examples/*.zip" + tags: ["*"] + +permissions: {} + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} + +jobs: + validate_lib_json: + uses: nRF24/.github/.github/workflows/vaildate_platformio.yaml@review-ci + + build: + needs: [validate_lib_json] + uses: nRF24/.github/.github/workflows/build_platformio.yaml@main + with: + example-path: ${{ matrix.example }} + board-id: ${{ matrix.board }} + strategy: + fail-fast: false + matrix: + example: + - "examples/helloworld_rx/helloworld_rx.ino" + - "examples/helloworld_rx_advanced/helloworld_rx_advanced.ino" + - "examples/helloworld_tx/helloworld_tx.ino" + - "examples/helloworld_tx_advanced/helloworld_tx_advanced.ino" + - "examples/Network_Priority_RX/Network_Priority_RX.ino" + - "examples/Network_Priority_TX/Network_Priority_TX.ino" + board: + - "teensy31" + - "teensy35" + - "teensy36" + - "teensy40" + - "teensy41" + - "teensylc" + + deploy-pio-assets: + if: startsWith(github.ref, 'refs/tags/') + needs: [validate_lib_json, build] + permissions: + # needed for uploading release assets + contents: write + uses: nRF24/.github/.github/workflows/deploy_platformio_artifact.yaml@review-ci + secrets: inherit diff --git a/.github/workflows/build_rp2xxx.yml b/.github/workflows/build_rp2xxx.yml index dd49212a..a04374d2 100644 --- a/.github/workflows/build_rp2xxx.yml +++ b/.github/workflows/build_rp2xxx.yml @@ -1,48 +1,53 @@ -name: Pico SDK build - -on: - push: - branches: [master, v1.x] - paths: - - ".github/workflows/build_rp2xxx.yml" - - "*.h" - - "*.cpp" - - "CMakeLists.txt" - - "cmake/" - - "examples_pico/*" - pull_request: - branches: [master, v1.x] - paths: - - ".github/workflows/build_rp2xxx.yml" - - "*.h" - - "*.cpp" - - "CMakeLists.txt" - - "cmake/**" - - "examples_pico/*" - -jobs: - - build: - uses: nRF24/.github/.github/workflows/build_pico_sdk.yaml@main - with: - board-id: ${{ matrix.board }} - rf24network-ref: ${{ github.sha }} - strategy: - fail-fast: false - matrix: - board: - - "pico" - - "adafruit_feather_rp2040" - - "adafruit_itsybitsy_rp2040" - - "adafruit_qtpy_rp2040" - - "pimoroni_tiny2040" # examples require PicoSDK v1.2.0 - - "sparkfun_micromod" # examples require PicoSDK v1.2.0 - - "sparkfun_promicro" # examples require PicoSDK v1.2.0 - - "sparkfun_thingplus" # examples require PicoSDK v1.2.0 - # - "vgaboard" # examples require PicoSDK v1.2.0 (this can be enabled on request) - - "arduino_nano_rp2040_connect" # requires PicoSDK v1.2.0 - - "pimoroni_picolipo_4mb" # requires PicoSDK v1.2.0 - - "pimoroni_picolipo_16mb" # requires PicoSDK v1.2.0 - - "pimoroni_pga2040" # requires PicoSDK v1.2.0 - # - "pimoroni_keybow2040" # no SPI bus exposed - # - "pimoroni_picosystem" # SPI is reserved for LCD +name: Pico SDK build + +on: + push: + branches: [master, v1.x] + paths: + - ".github/workflows/build_rp2xxx.yml" + - "*.h" + - "*.cpp" + - "CMakeLists.txt" + - "cmake/" + - "examples_pico/*" + pull_request: + branches: [master, v1.x] + paths: + - ".github/workflows/build_rp2xxx.yml" + - "*.h" + - "*.cpp" + - "CMakeLists.txt" + - "cmake/**" + - "examples_pico/*" + +permissions: {} + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} + +jobs: + build: + uses: nRF24/.github/.github/workflows/build_pico_sdk.yaml@review-ci + with: + board-id: ${{ matrix.board }} + rf24network-ref: ${{ github.sha }} + strategy: + fail-fast: false + matrix: + board: + - "pico" + - "adafruit_feather_rp2040" + - "adafruit_itsybitsy_rp2040" + - "adafruit_qtpy_rp2040" + - "pimoroni_tiny2040" # examples require PicoSDK v1.2.0 + - "sparkfun_micromod" # examples require PicoSDK v1.2.0 + - "sparkfun_promicro" # examples require PicoSDK v1.2.0 + - "sparkfun_thingplus" # examples require PicoSDK v1.2.0 + # - "vgaboard" # examples require PicoSDK v1.2.0 (this can be enabled on request) + - "arduino_nano_rp2040_connect" # requires PicoSDK v1.2.0 + - "pimoroni_picolipo_4mb" # requires PicoSDK v1.2.0 + - "pimoroni_picolipo_16mb" # requires PicoSDK v1.2.0 + - "pimoroni_pga2040" # requires PicoSDK v1.2.0 + # - "pimoroni_keybow2040" # no SPI bus exposed + # - "pimoroni_picosystem" # SPI is reserved for LCD diff --git a/.github/workflows/clang_format.yml b/.github/workflows/clang_format.yml index 88cb4701..0443681b 100644 --- a/.github/workflows/clang_format.yml +++ b/.github/workflows/clang_format.yml @@ -1,13 +1,24 @@ -name: check code formatting - -on: - push: - branches: [master, v1.x] - pull_request: - branches: [master, v1.x] - -jobs: - check_formatting: - uses: nRF24/.github/.github/workflows/cpp_lint.yaml@main - with: - extensions: ino,c,cpp,h \ No newline at end of file +name: check code formatting + +on: + push: + branches: [master, v1.x] + pull_request: + branches: [master, v1.x] + +permissions: {} + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} + +jobs: + check_formatting: + uses: nRF24/.github/.github/workflows/cpp_lint.yaml@review-ci + permissions: + # needed to detect changed files + contents: read + # needed to post review suggestions on PRs + pull-requests: write + with: + extensions: ino,c,cpp,h \ No newline at end of file diff --git a/.github/workflows/doxygen.yml b/.github/workflows/doxygen.yml index ad16a9c3..665e7a89 100644 --- a/.github/workflows/doxygen.yml +++ b/.github/workflows/doxygen.yml @@ -23,14 +23,28 @@ on: - ".github/workflows/doxygen.yml" - "Doxyfile" - "library.properties" # get lib version from here - release: - types: [published, edited] + tags: ["*"] workflow_dispatch: +permissions: {} + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} + jobs: build-docs: - uses: nRF24/.github/.github/workflows/build_docs.yaml@main + uses: nRF24/.github/.github/workflows/build_docs.yaml@review-ci with: - deploy-gh-pages: ${{ github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/master') }} doxygen-version: '1.11.0' + + deploy-docs: + needs: [build-docs] + if: github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/') + permissions: + # to authenticate the gh-pages environment + id-token: write + # to upload to GitHub Pages + pages: write + uses: nRF24/.github/.github/workflows/deploy_docs.yaml@review-ci secrets: inherit From 2cdb161b09399fa670656e7b3bbe3f030c197c70 Mon Sep 17 00:00:00 2001 From: Brendan <2bndy5@gmail.com> Date: Mon, 24 Nov 2025 21:36:30 -0800 Subject: [PATCH 2/5] use LF everywhere --- .gitattributes | 28 ++++ .github/dependabot.yml | 38 ++--- .github/doxygen.py | 58 +++---- .github/workflows/build_arduino.yml | 214 ++++++++++++------------- .github/workflows/build_linux.yml | 138 ++++++++-------- .github/workflows/build_nrf_to_nrf.yml | 62 +++---- .github/workflows/build_platformIO.yml | 122 +++++++------- .github/workflows/build_rp2xxx.yml | 106 ++++++------ .github/workflows/clang_format.yml | 46 +++--- .github/workflows/doxygen.yml | 100 ++++++------ 10 files changed, 470 insertions(+), 442 deletions(-) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..62f28459 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,28 @@ +# Set the default behavior, in case people don't have core.autocrlf set. +* text=auto + +# Explicitly declare text files you want to always be normalized and converted +# to native line endings on checkout. +*.py text eol=lf +*.rst text eol=lf +*.sh text eol=lf +*.h text eol=lf +*.cpp text eol=lf +*.c text eol=lf +.yaml text eol=lf +*.yml text eol=lf +*.md text eol=lf +*.txt text eol=lf +*.json text eol=lf +*.properties text eol=lf +LICENSE text eol=lf +nurfile text eol=lf +.gitignore text eol=lf +.gitattributes text eol=lf +.clang-format text eol=lf +.clang-tidy text eol=lf +Makefile text eol=lf +*.svg text eol=lf +*.ino text eol=lf +*.dot text eol=lf +*.cmake text eol=lf diff --git a/.github/dependabot.yml b/.github/dependabot.yml index ac3f2552..82160e5b 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,19 +1,19 @@ -# To get started with Dependabot version updates, you'll need to specify which -# package ecosystems to update and where the package manifests are located. -# Please see the documentation for all configuration options: -# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates - -version: 2 -updates: - - package-ecosystem: "github-actions" - # Workflow files stored in the - # default location of `.github/workflows` - directory: "/" - schedule: - interval: "weekly" - cooldown: - default-days: 5 - groups: - actions: - patterns: - - "*" +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + - package-ecosystem: "github-actions" + # Workflow files stored in the + # default location of `.github/workflows` + directory: "/" + schedule: + interval: "weekly" + cooldown: + default-days: 5 + groups: + actions: + patterns: + - "*" diff --git a/.github/doxygen.py b/.github/doxygen.py index 4a5f81f9..9a89d1b7 100644 --- a/.github/doxygen.py +++ b/.github/doxygen.py @@ -1,29 +1,29 @@ -"""WARNING -- FOR CI ONLY - -This script is meant to be execute in CI only. -Running this locally will alter the Doxyfile. -Such changes SHOULD NOT be pushed to the remote. -""" - -from pathlib import Path -import json - -DOCS_DIR = Path(__file__).parent.parent / "docs" -PROPERTIES = DOCS_DIR.parent / "library.json" -CONFIG = DOCS_DIR / "Doxyfile" -TMP = DOCS_DIR / "doxygenAction" - - -def overwrite_doxygen_value(): - properties = json.loads(PROPERTIES.read_text(encoding="utf-8")) - assert "version" in properties - config = CONFIG.read_text(encoding="utf-8") - TMP.write_text( - "PROJECT_NUMBER = {}\n".format(properties["version"]), encoding="utf-8" - ) - config += f"\n@INCLUDE = {str(TMP)}\n" - CONFIG.write_text(config, encoding="utf-8") - - -if __name__ == "__main__": - overwrite_doxygen_value() +"""WARNING -- FOR CI ONLY + +This script is meant to be execute in CI only. +Running this locally will alter the Doxyfile. +Such changes SHOULD NOT be pushed to the remote. +""" + +from pathlib import Path +import json + +DOCS_DIR = Path(__file__).parent.parent / "docs" +PROPERTIES = DOCS_DIR.parent / "library.json" +CONFIG = DOCS_DIR / "Doxyfile" +TMP = DOCS_DIR / "doxygenAction" + + +def overwrite_doxygen_value(): + properties = json.loads(PROPERTIES.read_text(encoding="utf-8")) + assert "version" in properties + config = CONFIG.read_text(encoding="utf-8") + TMP.write_text( + "PROJECT_NUMBER = {}\n".format(properties["version"]), encoding="utf-8" + ) + config += f"\n@INCLUDE = {str(TMP)}\n" + CONFIG.write_text(config, encoding="utf-8") + + +if __name__ == "__main__": + overwrite_doxygen_value() diff --git a/.github/workflows/build_arduino.yml b/.github/workflows/build_arduino.yml index 3c9a810a..d5735e81 100644 --- a/.github/workflows/build_arduino.yml +++ b/.github/workflows/build_arduino.yml @@ -1,107 +1,107 @@ -name: Arduino CLI build - -on: - pull_request: - branches: [master, v1.x] - paths: - - ".github/workflows/build_arduino.yml" - - "examples/**" - - push: - branches: [master, v1.x] - paths: - - ".github/workflows/build_arduino.yml" - - "examples/**" - -permissions: {} - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} - -jobs: - build: - uses: nRF24/.github/.github/workflows/build_arduino.yaml@review-ci - with: - sketch-paths: | - - examples/helloworld_rx - - examples/helloworld_rx_advanced - - examples/helloworld_tx_advanced - - examples/helloworld_tx - - examples/Network_Priority_RX - - examples/Network_Priority_TX - # - examples/Network_Ping - # - examples/Network_Ping_Sleep - libraries: | - - source-url: https://github.com/nRF24/RF24.git - - source-path: ./ - - name: nrf_to_nrf - fqbn: ${{ matrix.fqbn }} - enable-deltas-report: ${{ matrix.enable-deltas-report }} - platforms: | - - name: arduino:avr - - name: arduino:megaavr - - name: arduino:samd - - name: arduino:mbed - # - name: arduino:sam - strategy: - fail-fast: false - matrix: - fqbn: - - "arduino:avr:yun" - - "arduino:avr:uno" - - "arduino:avr:diecimila" - - "arduino:avr:mega" - - "arduino:avr:megaADK" - - "arduino:avr:leonardo" - - "arduino:avr:micro" - - "arduino:avr:esplora" - - "arduino:avr:mini" - - "arduino:avr:ethernet" - - "arduino:avr:fio" - - "arduino:avr:bt" - # - "arduino:avr:LilyPad" # board not found - - "arduino:avr:LilyPadUSB" - - "arduino:avr:pro" - - "arduino:avr:atmegang" - - "arduino:avr:robotControl" - # - "arduino:avr:gemma" # does not support SPI - - "arduino:avr:circuitplay32u4cat" - - "arduino:avr:yunmini" - - "arduino:avr:chiwawa" - - "arduino:avr:one" - - "arduino:avr:unowifi" - - "arduino:mbed:nano33ble" - - "arduino:samd:mkr1000" - - "arduino:samd:mkrwifi1010" - - "arduino:samd:nano_33_iot" - - "arduino:samd:mkrfox1200" - - "arduino:samd:mkrwan1300" - - "arduino:samd:mkrwan1310" - - "arduino:samd:mkrgsm1400" - - "arduino:samd:mkrnb1500" - - "arduino:samd:mkrvidor4000" - - "arduino:samd:adafruit_circuitplayground_m0" - - "arduino:samd:mzero_pro_bl" - - "arduino:samd:mzero_bl" - - "arduino:samd:tian" - - "arduino:megaavr:uno2018" - # - "arduino:megaavr:nano4809" # board not found - # By default, don't generate size deltas data. - enable-deltas-report: - - false - # Generate size deltas data for this board - include: - - fqbn: arduino:avr:nano - enable-deltas-report: true - - fqbn: arduino:samd:mkrzero - enable-deltas-report: true - - # When using a matrix to compile for multiple boards, it's necessary to use a separate job for the deltas report - report: - needs: [build] - permissions: - # needed to post/update comment on PR threads - pull-requests: write - if: github.event_name == 'pull_request' - uses: nRF24/.github/.github/workflows/arduino_size_deltas.yaml@review-ci +name: Arduino CLI build + +on: + pull_request: + branches: [master, v1.x] + paths: + - ".github/workflows/build_arduino.yml" + - "examples/**" + + push: + branches: [master, v1.x] + paths: + - ".github/workflows/build_arduino.yml" + - "examples/**" + +permissions: {} + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} + +jobs: + build: + uses: nRF24/.github/.github/workflows/build_arduino.yaml@review-ci + with: + sketch-paths: | + - examples/helloworld_rx + - examples/helloworld_rx_advanced + - examples/helloworld_tx_advanced + - examples/helloworld_tx + - examples/Network_Priority_RX + - examples/Network_Priority_TX + # - examples/Network_Ping + # - examples/Network_Ping_Sleep + libraries: | + - source-url: https://github.com/nRF24/RF24.git + - source-path: ./ + - name: nrf_to_nrf + fqbn: ${{ matrix.fqbn }} + enable-deltas-report: ${{ matrix.enable-deltas-report }} + platforms: | + - name: arduino:avr + - name: arduino:megaavr + - name: arduino:samd + - name: arduino:mbed + # - name: arduino:sam + strategy: + fail-fast: false + matrix: + fqbn: + - "arduino:avr:yun" + - "arduino:avr:uno" + - "arduino:avr:diecimila" + - "arduino:avr:mega" + - "arduino:avr:megaADK" + - "arduino:avr:leonardo" + - "arduino:avr:micro" + - "arduino:avr:esplora" + - "arduino:avr:mini" + - "arduino:avr:ethernet" + - "arduino:avr:fio" + - "arduino:avr:bt" + # - "arduino:avr:LilyPad" # board not found + - "arduino:avr:LilyPadUSB" + - "arduino:avr:pro" + - "arduino:avr:atmegang" + - "arduino:avr:robotControl" + # - "arduino:avr:gemma" # does not support SPI + - "arduino:avr:circuitplay32u4cat" + - "arduino:avr:yunmini" + - "arduino:avr:chiwawa" + - "arduino:avr:one" + - "arduino:avr:unowifi" + - "arduino:mbed:nano33ble" + - "arduino:samd:mkr1000" + - "arduino:samd:mkrwifi1010" + - "arduino:samd:nano_33_iot" + - "arduino:samd:mkrfox1200" + - "arduino:samd:mkrwan1300" + - "arduino:samd:mkrwan1310" + - "arduino:samd:mkrgsm1400" + - "arduino:samd:mkrnb1500" + - "arduino:samd:mkrvidor4000" + - "arduino:samd:adafruit_circuitplayground_m0" + - "arduino:samd:mzero_pro_bl" + - "arduino:samd:mzero_bl" + - "arduino:samd:tian" + - "arduino:megaavr:uno2018" + # - "arduino:megaavr:nano4809" # board not found + # By default, don't generate size deltas data. + enable-deltas-report: + - false + # Generate size deltas data for this board + include: + - fqbn: arduino:avr:nano + enable-deltas-report: true + - fqbn: arduino:samd:mkrzero + enable-deltas-report: true + + # When using a matrix to compile for multiple boards, it's necessary to use a separate job for the deltas report + report: + needs: [build] + permissions: + # needed to post/update comment on PR threads + pull-requests: write + if: github.event_name == 'pull_request' + uses: nRF24/.github/.github/workflows/arduino_size_deltas.yaml@review-ci diff --git a/.github/workflows/build_linux.yml b/.github/workflows/build_linux.yml index af2b82f2..76db490e 100644 --- a/.github/workflows/build_linux.yml +++ b/.github/workflows/build_linux.yml @@ -1,69 +1,69 @@ -name: Linux build - -on: - pull_request: - branches: [master, v1.x] - paths: - - "*.h" - - "*.cpp" - - "CMakeLists.txt" - - "cmake/**" - - "library.properties" # CMake gets lib info from here - - "examples_RPi/*" - - "!**Makefile" # old build system is not tested in this workflow - - "**pyRF24Network/setup.py" - - "**pyRF24Network/*.cpp" - - ".github/workflows/linux_build.yml" - push: - branches: [master, v1.x] - paths: - - "*.h" - - "*.cpp" - - "CMakeLists.txt" - - "cmake/**" - - "library.properties" # CMake gets lib info from here - - "examples_RPi/**" - - "!**Makefile" # old build system is not tested in this workflow - - "**pyRF24Network/setup.py" - - "**pyRF24Network/*.cpp" - - ".github/workflows/linux_build.yml" - tags: ["*"] - -permissions: {} - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} - -jobs: - using_cmake: - uses: nRF24/.github/.github/workflows/build_linux_cmake.yaml@review-ci - with: - rf24network-ref: ${{ github.sha }} - compiler: ${{ matrix.toolchain.compiler }} - usr-dir: ${{ matrix.toolchain.usr_dir }} - examples-path: examples_RPi - py-wrapper-path: RPi/pyRF24Network - strategy: - fail-fast: false - matrix: - toolchain: - - compiler: "armhf" - usr_dir: "arm-linux-gnueabihf" - - compiler: "arm64" - usr_dir: "aarch64-linux-gnu" - # - compiler: "x86_64" - # usr_dir: "x86_64-linux-gnux32" - # - compiler: "i686" - # usr_dir: "i686-linux-gnu" - - compiler: "default" # github runner is hosted on a "amd64" - usr_dir: "local" - - deploy-release-assets: - needs: [using_cmake] - permissions: - # needed for uploading release assets - contents: write - if: startsWith(github.ref, 'refs/tags/') - uses: nRF24/.github/.github/workflows/deploy_cpack_artifacts.yaml@review-ci - secrets: inherit +name: Linux build + +on: + pull_request: + branches: [master, v1.x] + paths: + - "*.h" + - "*.cpp" + - "CMakeLists.txt" + - "cmake/**" + - "library.properties" # CMake gets lib info from here + - "examples_RPi/*" + - "!**Makefile" # old build system is not tested in this workflow + - "**pyRF24Network/setup.py" + - "**pyRF24Network/*.cpp" + - ".github/workflows/linux_build.yml" + push: + branches: [master, v1.x] + paths: + - "*.h" + - "*.cpp" + - "CMakeLists.txt" + - "cmake/**" + - "library.properties" # CMake gets lib info from here + - "examples_RPi/**" + - "!**Makefile" # old build system is not tested in this workflow + - "**pyRF24Network/setup.py" + - "**pyRF24Network/*.cpp" + - ".github/workflows/linux_build.yml" + tags: ["*"] + +permissions: {} + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} + +jobs: + using_cmake: + uses: nRF24/.github/.github/workflows/build_linux_cmake.yaml@review-ci + with: + rf24network-ref: ${{ github.sha }} + compiler: ${{ matrix.toolchain.compiler }} + usr-dir: ${{ matrix.toolchain.usr_dir }} + examples-path: examples_RPi + py-wrapper-path: RPi/pyRF24Network + strategy: + fail-fast: false + matrix: + toolchain: + - compiler: "armhf" + usr_dir: "arm-linux-gnueabihf" + - compiler: "arm64" + usr_dir: "aarch64-linux-gnu" + # - compiler: "x86_64" + # usr_dir: "x86_64-linux-gnux32" + # - compiler: "i686" + # usr_dir: "i686-linux-gnu" + - compiler: "default" # github runner is hosted on a "amd64" + usr_dir: "local" + + deploy-release-assets: + needs: [using_cmake] + permissions: + # needed for uploading release assets + contents: write + if: startsWith(github.ref, 'refs/tags/') + uses: nRF24/.github/.github/workflows/deploy_cpack_artifacts.yaml@review-ci + secrets: inherit diff --git a/.github/workflows/build_nrf_to_nrf.yml b/.github/workflows/build_nrf_to_nrf.yml index f1442290..01badb98 100644 --- a/.github/workflows/build_nrf_to_nrf.yml +++ b/.github/workflows/build_nrf_to_nrf.yml @@ -1,31 +1,31 @@ -name: nRF52840 build - -on: - pull_request: - branches: [master] - push: - branches: [master] - -permissions: {} - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} - -jobs: - build: - uses: nRF24/.github/.github/workflows/build_platformio.yaml@review-ci - with: - example-path: ${{ matrix.example }} - board-id: ${{ matrix.board }} - lib-deps: -l https://github.com/TMRh20/nrf_to_nrf.git - strategy: - fail-fast: false - matrix: - example: - - "examples/nrf_to_nrf/helloworld_rx/helloworld_rx.ino" - - "examples/nrf_to_nrf/helloworld_tx/helloworld_tx.ino" - - "examples/nrf_to_nrf/helloworld_rxEncryption/helloworld_rxEncryption.ino" - - "examples/nrf_to_nrf/helloworld_txEncryption/helloworld_txEncryption.ino" - board: - - "adafruit_feather_nrf52840" +name: nRF52840 build + +on: + pull_request: + branches: [master] + push: + branches: [master] + +permissions: {} + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} + +jobs: + build: + uses: nRF24/.github/.github/workflows/build_platformio.yaml@review-ci + with: + example-path: ${{ matrix.example }} + board-id: ${{ matrix.board }} + lib-deps: -l https://github.com/TMRh20/nrf_to_nrf.git + strategy: + fail-fast: false + matrix: + example: + - "examples/nrf_to_nrf/helloworld_rx/helloworld_rx.ino" + - "examples/nrf_to_nrf/helloworld_tx/helloworld_tx.ino" + - "examples/nrf_to_nrf/helloworld_rxEncryption/helloworld_rxEncryption.ino" + - "examples/nrf_to_nrf/helloworld_txEncryption/helloworld_txEncryption.ino" + board: + - "adafruit_feather_nrf52840" diff --git a/.github/workflows/build_platformIO.yml b/.github/workflows/build_platformIO.yml index f96d1ba7..3b29456d 100644 --- a/.github/workflows/build_platformIO.yml +++ b/.github/workflows/build_platformIO.yml @@ -1,61 +1,61 @@ -name: PlatformIO build - -on: - pull_request: - branches: [master, v1.x] - paths: - - ".github/workflows/build_platformIO.yml" - - "library.json" - - "examples/**" - - "!examples/*.zip" - push: - branches: [master, v1.x] - paths: - - ".github/workflows/build_platformIO.yml" - - "library.json" - - "examples/**" - - "!examples/*.zip" - tags: ["*"] - -permissions: {} - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} - -jobs: - validate_lib_json: - uses: nRF24/.github/.github/workflows/vaildate_platformio.yaml@review-ci - - build: - needs: [validate_lib_json] - uses: nRF24/.github/.github/workflows/build_platformio.yaml@main - with: - example-path: ${{ matrix.example }} - board-id: ${{ matrix.board }} - strategy: - fail-fast: false - matrix: - example: - - "examples/helloworld_rx/helloworld_rx.ino" - - "examples/helloworld_rx_advanced/helloworld_rx_advanced.ino" - - "examples/helloworld_tx/helloworld_tx.ino" - - "examples/helloworld_tx_advanced/helloworld_tx_advanced.ino" - - "examples/Network_Priority_RX/Network_Priority_RX.ino" - - "examples/Network_Priority_TX/Network_Priority_TX.ino" - board: - - "teensy31" - - "teensy35" - - "teensy36" - - "teensy40" - - "teensy41" - - "teensylc" - - deploy-pio-assets: - if: startsWith(github.ref, 'refs/tags/') - needs: [validate_lib_json, build] - permissions: - # needed for uploading release assets - contents: write - uses: nRF24/.github/.github/workflows/deploy_platformio_artifact.yaml@review-ci - secrets: inherit +name: PlatformIO build + +on: + pull_request: + branches: [master, v1.x] + paths: + - ".github/workflows/build_platformIO.yml" + - "library.json" + - "examples/**" + - "!examples/*.zip" + push: + branches: [master, v1.x] + paths: + - ".github/workflows/build_platformIO.yml" + - "library.json" + - "examples/**" + - "!examples/*.zip" + tags: ["*"] + +permissions: {} + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} + +jobs: + validate_lib_json: + uses: nRF24/.github/.github/workflows/vaildate_platformio.yaml@review-ci + + build: + needs: [validate_lib_json] + uses: nRF24/.github/.github/workflows/build_platformio.yaml@main + with: + example-path: ${{ matrix.example }} + board-id: ${{ matrix.board }} + strategy: + fail-fast: false + matrix: + example: + - "examples/helloworld_rx/helloworld_rx.ino" + - "examples/helloworld_rx_advanced/helloworld_rx_advanced.ino" + - "examples/helloworld_tx/helloworld_tx.ino" + - "examples/helloworld_tx_advanced/helloworld_tx_advanced.ino" + - "examples/Network_Priority_RX/Network_Priority_RX.ino" + - "examples/Network_Priority_TX/Network_Priority_TX.ino" + board: + - "teensy31" + - "teensy35" + - "teensy36" + - "teensy40" + - "teensy41" + - "teensylc" + + deploy-pio-assets: + if: startsWith(github.ref, 'refs/tags/') + needs: [validate_lib_json, build] + permissions: + # needed for uploading release assets + contents: write + uses: nRF24/.github/.github/workflows/deploy_platformio_artifact.yaml@review-ci + secrets: inherit diff --git a/.github/workflows/build_rp2xxx.yml b/.github/workflows/build_rp2xxx.yml index a04374d2..0b5c7a27 100644 --- a/.github/workflows/build_rp2xxx.yml +++ b/.github/workflows/build_rp2xxx.yml @@ -1,53 +1,53 @@ -name: Pico SDK build - -on: - push: - branches: [master, v1.x] - paths: - - ".github/workflows/build_rp2xxx.yml" - - "*.h" - - "*.cpp" - - "CMakeLists.txt" - - "cmake/" - - "examples_pico/*" - pull_request: - branches: [master, v1.x] - paths: - - ".github/workflows/build_rp2xxx.yml" - - "*.h" - - "*.cpp" - - "CMakeLists.txt" - - "cmake/**" - - "examples_pico/*" - -permissions: {} - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} - -jobs: - build: - uses: nRF24/.github/.github/workflows/build_pico_sdk.yaml@review-ci - with: - board-id: ${{ matrix.board }} - rf24network-ref: ${{ github.sha }} - strategy: - fail-fast: false - matrix: - board: - - "pico" - - "adafruit_feather_rp2040" - - "adafruit_itsybitsy_rp2040" - - "adafruit_qtpy_rp2040" - - "pimoroni_tiny2040" # examples require PicoSDK v1.2.0 - - "sparkfun_micromod" # examples require PicoSDK v1.2.0 - - "sparkfun_promicro" # examples require PicoSDK v1.2.0 - - "sparkfun_thingplus" # examples require PicoSDK v1.2.0 - # - "vgaboard" # examples require PicoSDK v1.2.0 (this can be enabled on request) - - "arduino_nano_rp2040_connect" # requires PicoSDK v1.2.0 - - "pimoroni_picolipo_4mb" # requires PicoSDK v1.2.0 - - "pimoroni_picolipo_16mb" # requires PicoSDK v1.2.0 - - "pimoroni_pga2040" # requires PicoSDK v1.2.0 - # - "pimoroni_keybow2040" # no SPI bus exposed - # - "pimoroni_picosystem" # SPI is reserved for LCD +name: Pico SDK build + +on: + push: + branches: [master, v1.x] + paths: + - ".github/workflows/build_rp2xxx.yml" + - "*.h" + - "*.cpp" + - "CMakeLists.txt" + - "cmake/" + - "examples_pico/*" + pull_request: + branches: [master, v1.x] + paths: + - ".github/workflows/build_rp2xxx.yml" + - "*.h" + - "*.cpp" + - "CMakeLists.txt" + - "cmake/**" + - "examples_pico/*" + +permissions: {} + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} + +jobs: + build: + uses: nRF24/.github/.github/workflows/build_pico_sdk.yaml@review-ci + with: + board-id: ${{ matrix.board }} + rf24network-ref: ${{ github.sha }} + strategy: + fail-fast: false + matrix: + board: + - "pico" + - "adafruit_feather_rp2040" + - "adafruit_itsybitsy_rp2040" + - "adafruit_qtpy_rp2040" + - "pimoroni_tiny2040" # examples require PicoSDK v1.2.0 + - "sparkfun_micromod" # examples require PicoSDK v1.2.0 + - "sparkfun_promicro" # examples require PicoSDK v1.2.0 + - "sparkfun_thingplus" # examples require PicoSDK v1.2.0 + # - "vgaboard" # examples require PicoSDK v1.2.0 (this can be enabled on request) + - "arduino_nano_rp2040_connect" # requires PicoSDK v1.2.0 + - "pimoroni_picolipo_4mb" # requires PicoSDK v1.2.0 + - "pimoroni_picolipo_16mb" # requires PicoSDK v1.2.0 + - "pimoroni_pga2040" # requires PicoSDK v1.2.0 + # - "pimoroni_keybow2040" # no SPI bus exposed + # - "pimoroni_picosystem" # SPI is reserved for LCD diff --git a/.github/workflows/clang_format.yml b/.github/workflows/clang_format.yml index 0443681b..63d6ff3f 100644 --- a/.github/workflows/clang_format.yml +++ b/.github/workflows/clang_format.yml @@ -1,24 +1,24 @@ -name: check code formatting - -on: - push: - branches: [master, v1.x] - pull_request: - branches: [master, v1.x] - -permissions: {} - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} - -jobs: - check_formatting: - uses: nRF24/.github/.github/workflows/cpp_lint.yaml@review-ci - permissions: - # needed to detect changed files - contents: read - # needed to post review suggestions on PRs - pull-requests: write - with: +name: check code formatting + +on: + push: + branches: [master, v1.x] + pull_request: + branches: [master, v1.x] + +permissions: {} + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} + +jobs: + check_formatting: + uses: nRF24/.github/.github/workflows/cpp_lint.yaml@review-ci + permissions: + # needed to detect changed files + contents: read + # needed to post review suggestions on PRs + pull-requests: write + with: extensions: ino,c,cpp,h \ No newline at end of file diff --git a/.github/workflows/doxygen.yml b/.github/workflows/doxygen.yml index 665e7a89..65b1297d 100644 --- a/.github/workflows/doxygen.yml +++ b/.github/workflows/doxygen.yml @@ -1,50 +1,50 @@ -name: build Docs - -on: - pull_request: - branches: [master, v1.x] - paths: - - "*.h" - - "docs/**" - - "!docs/README.md" - - "*.md" - - "images/**" - - ".github/workflows/doxygen.yml" - - "Doxyfile" - - "library.properties" # get lib version from here - push: - branches: [master, v1.x] - paths: - - "*.h" - - "docs/**" - - "!docs/README.md" - - "*.md" - - "images/**" - - ".github/workflows/doxygen.yml" - - "Doxyfile" - - "library.properties" # get lib version from here - tags: ["*"] - workflow_dispatch: - -permissions: {} - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} - -jobs: - build-docs: - uses: nRF24/.github/.github/workflows/build_docs.yaml@review-ci - with: - doxygen-version: '1.11.0' - - deploy-docs: - needs: [build-docs] - if: github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/') - permissions: - # to authenticate the gh-pages environment - id-token: write - # to upload to GitHub Pages - pages: write - uses: nRF24/.github/.github/workflows/deploy_docs.yaml@review-ci - secrets: inherit +name: build Docs + +on: + pull_request: + branches: [master, v1.x] + paths: + - "*.h" + - "docs/**" + - "!docs/README.md" + - "*.md" + - "images/**" + - ".github/workflows/doxygen.yml" + - "Doxyfile" + - "library.properties" # get lib version from here + push: + branches: [master, v1.x] + paths: + - "*.h" + - "docs/**" + - "!docs/README.md" + - "*.md" + - "images/**" + - ".github/workflows/doxygen.yml" + - "Doxyfile" + - "library.properties" # get lib version from here + tags: ["*"] + workflow_dispatch: + +permissions: {} + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} + +jobs: + build-docs: + uses: nRF24/.github/.github/workflows/build_docs.yaml@review-ci + with: + doxygen-version: '1.11.0' + + deploy-docs: + needs: [build-docs] + if: github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/') + permissions: + # to authenticate the gh-pages environment + id-token: write + # to upload to GitHub Pages + pages: write + uses: nRF24/.github/.github/workflows/deploy_docs.yaml@review-ci + secrets: inherit From 4205242d0119e57175807aa71f2d2e8577ff9ab6 Mon Sep 17 00:00:00 2001 From: Brendan <2bndy5@gmail.com> Date: Mon, 24 Nov 2025 21:46:57 -0800 Subject: [PATCH 3/5] review changes fix indentation reword display names --- .gitattributes | 2 ++ .github/workflows/build_arduino.yml | 2 +- .github/workflows/build_linux.yml | 9 +++++---- .github/workflows/build_nrf_to_nrf.yml | 2 +- .github/workflows/build_platformIO.yml | 8 +++++--- .github/workflows/build_rp2xxx.yml | 2 +- .github/workflows/clang_format.yml | 14 +++++++------- .github/workflows/doxygen.yml | 8 ++++---- 8 files changed, 26 insertions(+), 21 deletions(-) diff --git a/.gitattributes b/.gitattributes index 62f28459..df5f0016 100644 --- a/.gitattributes +++ b/.gitattributes @@ -26,3 +26,5 @@ Makefile text eol=lf *.ino text eol=lf *.dot text eol=lf *.cmake text eol=lf +*.css text eol=lf +Doxyfile text eol=lf diff --git a/.github/workflows/build_arduino.yml b/.github/workflows/build_arduino.yml index d5735e81..d0eeb75b 100644 --- a/.github/workflows/build_arduino.yml +++ b/.github/workflows/build_arduino.yml @@ -1,4 +1,4 @@ -name: Arduino CLI build +name: Arduino on: pull_request: diff --git a/.github/workflows/build_linux.yml b/.github/workflows/build_linux.yml index 76db490e..e774f2e7 100644 --- a/.github/workflows/build_linux.yml +++ b/.github/workflows/build_linux.yml @@ -1,4 +1,4 @@ -name: Linux build +name: Linux on: pull_request: @@ -36,7 +36,7 @@ concurrency: cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} jobs: - using_cmake: + build: uses: nRF24/.github/.github/workflows/build_linux_cmake.yaml@review-ci with: rf24network-ref: ${{ github.sha }} @@ -59,8 +59,9 @@ jobs: - compiler: "default" # github runner is hosted on a "amd64" usr_dir: "local" - deploy-release-assets: - needs: [using_cmake] + deploy: + name: deploy release assets + needs: [build] permissions: # needed for uploading release assets contents: write diff --git a/.github/workflows/build_nrf_to_nrf.yml b/.github/workflows/build_nrf_to_nrf.yml index 01badb98..8497a951 100644 --- a/.github/workflows/build_nrf_to_nrf.yml +++ b/.github/workflows/build_nrf_to_nrf.yml @@ -1,4 +1,4 @@ -name: nRF52840 build +name: nRF52840 on: pull_request: diff --git a/.github/workflows/build_platformIO.yml b/.github/workflows/build_platformIO.yml index 3b29456d..b2b19081 100644 --- a/.github/workflows/build_platformIO.yml +++ b/.github/workflows/build_platformIO.yml @@ -1,4 +1,4 @@ -name: PlatformIO build +name: PlatformIO on: pull_request: @@ -25,11 +25,12 @@ concurrency: jobs: validate_lib_json: + name: validate library.json uses: nRF24/.github/.github/workflows/vaildate_platformio.yaml@review-ci build: needs: [validate_lib_json] - uses: nRF24/.github/.github/workflows/build_platformio.yaml@main + uses: nRF24/.github/.github/workflows/build_platformio.yaml@review-ci with: example-path: ${{ matrix.example }} board-id: ${{ matrix.board }} @@ -51,7 +52,8 @@ jobs: - "teensy41" - "teensylc" - deploy-pio-assets: + deploy: + name: deploy release asset if: startsWith(github.ref, 'refs/tags/') needs: [validate_lib_json, build] permissions: diff --git a/.github/workflows/build_rp2xxx.yml b/.github/workflows/build_rp2xxx.yml index 0b5c7a27..7db4754e 100644 --- a/.github/workflows/build_rp2xxx.yml +++ b/.github/workflows/build_rp2xxx.yml @@ -1,4 +1,4 @@ -name: Pico SDK build +name: Pico SDK on: push: diff --git a/.github/workflows/clang_format.yml b/.github/workflows/clang_format.yml index 63d6ff3f..f5c3c311 100644 --- a/.github/workflows/clang_format.yml +++ b/.github/workflows/clang_format.yml @@ -1,10 +1,10 @@ -name: check code formatting +name: Code format on: - push: - branches: [master, v1.x] - pull_request: - branches: [master, v1.x] + push: + branches: [master, v1.x] + pull_request: + branches: [master, v1.x] permissions: {} @@ -13,7 +13,7 @@ concurrency: cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} jobs: - check_formatting: + check: uses: nRF24/.github/.github/workflows/cpp_lint.yaml@review-ci permissions: # needed to detect changed files @@ -21,4 +21,4 @@ jobs: # needed to post review suggestions on PRs pull-requests: write with: - extensions: ino,c,cpp,h \ No newline at end of file + extensions: ino,c,cpp,h diff --git a/.github/workflows/doxygen.yml b/.github/workflows/doxygen.yml index 65b1297d..c2c32dcf 100644 --- a/.github/workflows/doxygen.yml +++ b/.github/workflows/doxygen.yml @@ -1,4 +1,4 @@ -name: build Docs +name: Docs on: pull_request: @@ -33,13 +33,13 @@ concurrency: cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} jobs: - build-docs: + build: uses: nRF24/.github/.github/workflows/build_docs.yaml@review-ci with: doxygen-version: '1.11.0' - deploy-docs: - needs: [build-docs] + deploy: + needs: [build] if: github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/') permissions: # to authenticate the gh-pages environment From eaee46429300fbe4c9a573730e084d92382edfcc Mon Sep 17 00:00:00 2001 From: Brendan <2bndy5@gmail.com> Date: Tue, 25 Nov 2025 06:43:02 -0800 Subject: [PATCH 4/5] update RTD config and use doxygen v1.15.0 --- .github/workflows/doxygen.yml | 2 +- .readthedocs.yaml | 15 +++++++-------- docs/Doxyfile | 6 ++++++ 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/.github/workflows/doxygen.yml b/.github/workflows/doxygen.yml index c2c32dcf..4b035ccb 100644 --- a/.github/workflows/doxygen.yml +++ b/.github/workflows/doxygen.yml @@ -36,7 +36,7 @@ jobs: build: uses: nRF24/.github/.github/workflows/build_docs.yaml@review-ci with: - doxygen-version: '1.11.0' + doxygen-version: '1.15.0' deploy: needs: [build] diff --git a/.readthedocs.yaml b/.readthedocs.yaml index e6f4edc3..6935517f 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -6,20 +6,19 @@ version: 2 build: - os: "ubuntu-22.04" - apt_packages: - - libclang1-12 - - libclang-cpp12 + os: "ubuntu-24.04" + # apt_packages: + # - libclang1-12 + # - libclang-cpp12 tools: python: "3" commands: # Install doxygen from source distributions (conda forge does not keep up-to-date doxygen releases) - > - DOXYGEN_VERSION="1.12.0" && + DOXYGEN_VERSION="1.15.0" && + RELEASE_TITLE=$(echo ${DOXYGEN_VERSION} | tr '.' '_') && mkdir .doxygen && cd .doxygen && - echo $(pwd) && - echo "https://sourceforge.net/projects/doxygen/files/rel-$DOXYGEN_VERSION/doxygen-$DOXYGEN_VERSION.linux.bin.tar.gz" && - curl -L https://sourceforge.net/projects/doxygen/files/rel-$DOXYGEN_VERSION/doxygen-$DOXYGEN_VERSION.linux.bin.tar.gz > doxygen.tar.gz && + curl -L "https://github.com/doxygen/doxygen/releases/download/Release_${RELEASE_TITLE}/doxygen-${DOXYGEN_VERSION}.linux.bin.tar.gz" --output doxygen.tar.gz && gunzip doxygen.tar.gz && tar xf doxygen.tar && mv doxygen-$DOXYGEN_VERSION/bin/doxygen ./ diff --git a/docs/Doxyfile b/docs/Doxyfile index e2fc181a..8cb23267 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -148,6 +148,12 @@ GENERATE_TODOLIST = NO SHOW_USED_FILES = NO +# Don't display the ugly/complicated "tree view" side menu. +# And, restore the top (simpler) navigation bar. +# As of doxygen v1.13.0, these default values changed from NO to YES +GENERATE_TREEVIEW = NO +DISABLE_INDEX = NO + #--------------------------------------------------------------------------- # Configuration options related to warning and progress messages #--------------------------------------------------------------------------- From 2fd18e6c2431e71832125eda989e7b56aa75961d Mon Sep 17 00:00:00 2001 From: Brendan <2bndy5@gmail.com> Date: Thu, 27 Nov 2025 01:44:14 -0800 Subject: [PATCH 5/5] switch CI back to org-repo main branch --- .github/workflows/build_arduino.yml | 4 ++-- .github/workflows/build_linux.yml | 4 ++-- .github/workflows/build_nrf_to_nrf.yml | 2 +- .github/workflows/build_platformIO.yml | 6 +++--- .github/workflows/build_rp2xxx.yml | 2 +- .github/workflows/clang_format.yml | 2 +- .github/workflows/doxygen.yml | 4 ++-- 7 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build_arduino.yml b/.github/workflows/build_arduino.yml index d0eeb75b..de2dc86c 100644 --- a/.github/workflows/build_arduino.yml +++ b/.github/workflows/build_arduino.yml @@ -21,7 +21,7 @@ concurrency: jobs: build: - uses: nRF24/.github/.github/workflows/build_arduino.yaml@review-ci + uses: nRF24/.github/.github/workflows/build_arduino.yaml@main with: sketch-paths: | - examples/helloworld_rx @@ -104,4 +104,4 @@ jobs: # needed to post/update comment on PR threads pull-requests: write if: github.event_name == 'pull_request' - uses: nRF24/.github/.github/workflows/arduino_size_deltas.yaml@review-ci + uses: nRF24/.github/.github/workflows/arduino_size_deltas.yaml@main diff --git a/.github/workflows/build_linux.yml b/.github/workflows/build_linux.yml index e774f2e7..a8a958ae 100644 --- a/.github/workflows/build_linux.yml +++ b/.github/workflows/build_linux.yml @@ -37,7 +37,7 @@ concurrency: jobs: build: - uses: nRF24/.github/.github/workflows/build_linux_cmake.yaml@review-ci + uses: nRF24/.github/.github/workflows/build_linux_cmake.yaml@main with: rf24network-ref: ${{ github.sha }} compiler: ${{ matrix.toolchain.compiler }} @@ -66,5 +66,5 @@ jobs: # needed for uploading release assets contents: write if: startsWith(github.ref, 'refs/tags/') - uses: nRF24/.github/.github/workflows/deploy_cpack_artifacts.yaml@review-ci + uses: nRF24/.github/.github/workflows/deploy_cpack_artifacts.yaml@main secrets: inherit diff --git a/.github/workflows/build_nrf_to_nrf.yml b/.github/workflows/build_nrf_to_nrf.yml index 8497a951..69af5561 100644 --- a/.github/workflows/build_nrf_to_nrf.yml +++ b/.github/workflows/build_nrf_to_nrf.yml @@ -14,7 +14,7 @@ concurrency: jobs: build: - uses: nRF24/.github/.github/workflows/build_platformio.yaml@review-ci + uses: nRF24/.github/.github/workflows/build_platformio.yaml@main with: example-path: ${{ matrix.example }} board-id: ${{ matrix.board }} diff --git a/.github/workflows/build_platformIO.yml b/.github/workflows/build_platformIO.yml index b2b19081..cc0598e0 100644 --- a/.github/workflows/build_platformIO.yml +++ b/.github/workflows/build_platformIO.yml @@ -26,11 +26,11 @@ concurrency: jobs: validate_lib_json: name: validate library.json - uses: nRF24/.github/.github/workflows/vaildate_platformio.yaml@review-ci + uses: nRF24/.github/.github/workflows/vaildate_platformio.yaml@main build: needs: [validate_lib_json] - uses: nRF24/.github/.github/workflows/build_platformio.yaml@review-ci + uses: nRF24/.github/.github/workflows/build_platformio.yaml@main with: example-path: ${{ matrix.example }} board-id: ${{ matrix.board }} @@ -59,5 +59,5 @@ jobs: permissions: # needed for uploading release assets contents: write - uses: nRF24/.github/.github/workflows/deploy_platformio_artifact.yaml@review-ci + uses: nRF24/.github/.github/workflows/deploy_platformio_artifact.yaml@main secrets: inherit diff --git a/.github/workflows/build_rp2xxx.yml b/.github/workflows/build_rp2xxx.yml index 7db4754e..599fe1d3 100644 --- a/.github/workflows/build_rp2xxx.yml +++ b/.github/workflows/build_rp2xxx.yml @@ -28,7 +28,7 @@ concurrency: jobs: build: - uses: nRF24/.github/.github/workflows/build_pico_sdk.yaml@review-ci + uses: nRF24/.github/.github/workflows/build_pico_sdk.yaml@main with: board-id: ${{ matrix.board }} rf24network-ref: ${{ github.sha }} diff --git a/.github/workflows/clang_format.yml b/.github/workflows/clang_format.yml index f5c3c311..d0963038 100644 --- a/.github/workflows/clang_format.yml +++ b/.github/workflows/clang_format.yml @@ -14,7 +14,7 @@ concurrency: jobs: check: - uses: nRF24/.github/.github/workflows/cpp_lint.yaml@review-ci + uses: nRF24/.github/.github/workflows/cpp_lint.yaml@main permissions: # needed to detect changed files contents: read diff --git a/.github/workflows/doxygen.yml b/.github/workflows/doxygen.yml index 4b035ccb..ea5ce515 100644 --- a/.github/workflows/doxygen.yml +++ b/.github/workflows/doxygen.yml @@ -34,7 +34,7 @@ concurrency: jobs: build: - uses: nRF24/.github/.github/workflows/build_docs.yaml@review-ci + uses: nRF24/.github/.github/workflows/build_docs.yaml@main with: doxygen-version: '1.15.0' @@ -46,5 +46,5 @@ jobs: id-token: write # to upload to GitHub Pages pages: write - uses: nRF24/.github/.github/workflows/deploy_docs.yaml@review-ci + uses: nRF24/.github/.github/workflows/deploy_docs.yaml@main secrets: inherit