temp revert to old api name #21
This file contains hidden or 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
| name: Arduino CI | |
| on: | |
| push: | |
| paths: | |
| - 'src/**' | |
| - 'examples/**' | |
| - 'tools/**' | |
| - 'tests/**' | |
| - 'platformio.ini' | |
| - '.github/workflows/**' | |
| pull_request: | |
| paths: | |
| - 'src/**' | |
| - 'examples/**' | |
| - 'tools/**' | |
| - 'tests/**' | |
| - 'platformio.ini' | |
| - '.github/workflows/**' | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| board: ["esp32:esp32:heltec_wifi_lora_32_V3"] | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: System setup | |
| run: | | |
| sudo add-apt-repository --yes ppa:nnstreamer/ppa | |
| sudo apt-get update | |
| sudo apt-get -y install cppcheck | |
| python -m pip install pyserial | |
| curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | sh -s | |
| echo "$PWD/bin/" >> $GITHUB_PATH | |
| - name: Run cppcheck | |
| run: | | |
| cppcheck --version | |
| cppcheck --error-exitcode=1 --std=c++20 --force src | |
| - name: Arduino setup | |
| run: | | |
| # Temporarily enable debug output | |
| set -x | |
| arduino-cli config init | |
| arduino-cli config set library.enable_unsafe_install true | |
| echo "[ARDUINO SETUP] Updating the index to include the Heltec ESP32 boards" | |
| arduino-cli core update-index --additional-urls https://github.com/Heltec-Aaron-Lee/WiFi_Kit_series/releases/download/3.0.0/package_heltec_esp32_index.json | |
| # install the Heltec ESP32 boards | |
| if [[ "${{ matrix.board }}" =~ "esp32:esp32:" ]]; then | |
| echo "[ARDUINO SETUP] Installing the Heltec ESP32 board" | |
| arduino-cli core install esp32:[email protected] --additional-urls https://github.com/Heltec-Aaron-Lee/WiFi_Kit_series/releases/download/3.0.0/package_heltec_esp32_index.json | |
| fi | |
| - name: Install CDP | |
| run: | | |
| echo "Syncing files..." | |
| rsync -rltv --exclude=.git --exclude=bin --exclude=docs --exclude=3D-Print-Files ${PWD}/ /tmp/CDP/ > /dev/null | |
| echo "Creating zip..." | |
| (cd /tmp && zip -r /tmp/cdp.zip CDP > /dev/null) | |
| echo "Installing CDP..." | |
| arduino-cli lib install --zip-path /tmp/cdp.zip | |
| echo "CDP Installed." | |
| echo | |
| arduino-cli lib list | |
| - name: Install CDP dependencies | |
| run: | | |
| echo "Installing dependencies..." | |
| file="library.properties" | |
| dependsvar=$(awk -F'=' '/depends/{print $2}' $file) | |
| # read the array from the string | |
| IFS=',' read -r -a dependencies <<< "$dependsvar" | |
| for dep in "${dependencies[@]}" | |
| do | |
| echo "Installing $dep..." | |
| if [[ "$dep" == *"github"* ]]; then | |
| arduino-cli lib install --git-url "$dep" | |
| elif [[ "$dep" == *".zip"* ]]; then | |
| arduino-cli lib install --zip-path "$dep" | |
| else | |
| arduino-cli lib install "$dep" | |
| fi | |
| done | |
| echo "Dependencies installed successfully!" | |
| echo | |
| arduino-cli lib list | |
| # - name: Unit Tests | |
| # run: | | |
| # python -m pip install platformio | |
| # platformio run --target upload --environment test_heltec_wifi_lora_32_V3 | |
| - name: Build | |
| run: | | |
| echo "List of installed Arduino Cores:" | |
| arduino-cli core list | |
| buildExampleSketch() { | |
| BOARD=${{ matrix.board }} | |
| echo "Building $1/$2/$2.ino..." | |
| arduino-cli compile -v -t -b ${{ matrix.board }} $PWD/examples/$1/$2/$2.ino > ${BOARD##*:}-$2-build.log 2>&1; | |
| echo "Build complete." | |
| } | |
| buildExampleSketch Basic-Ducks DuckLink | |
| buildExampleSketch Basic-Ducks MamaDuck | |
| - name: Release Build | |
| if: startsWith(github.ref, 'refs/heads/release') | |
| run: | | |
| buildExampleSketch() { | |
| BOARD=${{ matrix.board }} | |
| echo "Building $1/$2/$2.ino..." | |
| arduino-cli compile -v -t -b ${{ matrix.board }} $PWD/examples/$1/$2/$2.ino > ${BOARD##*:}-$2-build.log 2>&1; | |
| echo "Build complete." | |
| } | |
| buildExampleSketch Basic-Ducks PapaDuck | |
| arduino-cli lib install --git-url "https://github.com/FastLED/FastLED.git" | |
| buildExampleSketch Basic-Ducks DetectorDuck | |
| buildExampleSketch Custom-Mama-Examples Custom-Mama-Detect | |
| buildExampleSketch Custom-Mama-Examples Custom-Mama-Example | |
| - name: Arduino Registry Lint | |
| if: startsWith(github.ref, 'refs/heads/release') | |
| uses: arduino/arduino-lint-action@v2 | |
| with: | |
| library-manager: update | |
| - name: Upload build log | |
| uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: build-log | |
| path: '*.log' | |