From c4dee69205bd5e4471d378e0c98fb523c4bcbe5b Mon Sep 17 00:00:00 2001 From: Andrea Gilardoni Date: Wed, 29 May 2024 14:04:23 +0200 Subject: [PATCH] added base CI --- .github/dependabot.yml | 13 +++ .github/workflows/check-arduino.yml | 27 +++++ .github/workflows/compile-examples.yml | 112 ++++++++++++++++++ .github/workflows/report-size-deltas.yml | 24 ++++ .github/workflows/spell-check.yml | 16 +++ .github/workflows/sync-labels.yml | 138 +++++++++++++++++++++++ .github/workflows/unit-tests.yml | 56 +++++++++ extras/test/CMakeLists.txt | 45 ++++++++ extras/test/README.md | 5 + extras/test/src/crc32/test_crc32.cpp | 39 +++++++ extras/test/src/lzss/test_decoder.cpp | 58 ++++++++++ extras/test/test_files/test-1k | Bin 0 -> 1024 bytes extras/test/test_files/test-1k.lzss | Bin 0 -> 797 bytes extras/test/test_files/test-64k | Bin 0 -> 65536 bytes extras/test/test_files/test-64k.lzss | Bin 0 -> 51180 bytes 15 files changed, 533 insertions(+) create mode 100644 .github/dependabot.yml create mode 100644 .github/workflows/check-arduino.yml create mode 100644 .github/workflows/compile-examples.yml create mode 100644 .github/workflows/report-size-deltas.yml create mode 100644 .github/workflows/spell-check.yml create mode 100644 .github/workflows/sync-labels.yml create mode 100644 .github/workflows/unit-tests.yml create mode 100644 extras/test/CMakeLists.txt create mode 100644 extras/test/README.md create mode 100644 extras/test/src/crc32/test_crc32.cpp create mode 100644 extras/test/src/lzss/test_decoder.cpp create mode 100644 extras/test/test_files/test-1k create mode 100644 extras/test/test_files/test-1k.lzss create mode 100644 extras/test/test_files/test-64k create mode 100644 extras/test/test_files/test-64k.lzss diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..03b0e93 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,13 @@ +# See: https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#about-the-dependabotyml-file +version: 2 + +updates: + # Configure check for outdated GitHub Actions actions in workflows. + # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/dependabot/README.md + # See: https://docs.github.com/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot + - package-ecosystem: github-actions + directory: /.github/workflows/ + schedule: + interval: daily + labels: + - "topic: infrastructure" diff --git a/.github/workflows/check-arduino.yml b/.github/workflows/check-arduino.yml new file mode 100644 index 0000000..19bd32d --- /dev/null +++ b/.github/workflows/check-arduino.yml @@ -0,0 +1,27 @@ +name: Check Arduino + +# See: https://docs.github.com/en/actions/reference/events-that-trigger-workflows +on: + push: + pull_request: + schedule: + # Run every Tuesday at 8 AM UTC to catch breakage caused by new rules added to Arduino Lint. + - cron: "0 8 * * TUE" + workflow_dispatch: + repository_dispatch: + +jobs: + lint: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Arduino Lint + uses: arduino/arduino-lint-action@v1 + with: + compliance: specification + library-manager: update + # Always use this setting for official repositories. Remove for 3rd party projects. + official: true diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml new file mode 100644 index 0000000..5de7a2c --- /dev/null +++ b/.github/workflows/compile-examples.yml @@ -0,0 +1,112 @@ +name: Compile Examples + +on: + pull_request: + paths: + - ".github/workflows/compile-examples.yml" + - "examples/**" + - "src/**" + push: + paths: + - ".github/workflows/compile-examples.yml" + - "examples/**" + - "src/**" + +jobs: + build: + runs-on: ubuntu-latest + + env: + # libraries to install for all boards + UNIVERSAL_LIBRARIES: | + - source-path: ./ + - name: Arduino_DebugUtils + # sketch paths to compile (recursive) for all boards + UNIVERSAL_SKETCH_PATHS: | + - examples/lzssDecoder + - examples/crc32 + SKETCHES_REPORTS_PATH: sketches-reports + + strategy: + fail-fast: false + + matrix: + board: + - fqbn: arduino:samd:mkr1000 + type: mkr1000 + artifact-name-suffix: arduino-samd-mkr1000 + - fqbn: arduino:samd:mkrwifi1010 + type: nina + artifact-name-suffix: arduino-samd-mkrwifi1010 + - fqbn: arduino:samd:nano_33_iot + type: nina + artifact-name-suffix: arduino-samd-nano_33_iot + - fqbn: arduino:samd:mkrwan1300 + type: wan + artifact-name-suffix: arduino-samd-mkrwan1300 + - fqbn: arduino:samd:mkrgsm1400 + type: gsm + artifact-name-suffix: arduino-samd-mkrgsm1400 + - fqbn: arduino:samd:mkrnb1500 + type: nb + artifact-name-suffix: arduino-samd-mkrnb1500 + - fqbn: arduino:mbed_portenta:envie_m7 + type: mbed_portenta + artifact-name-suffix: arduino-mbed_portenta-envie_m7 + - fqbn: esp32:esp32:esp32 + type: esp32 + artifact-name-suffix: esp32-esp32-esp32 + - fqbn: arduino:mbed_nano:nanorp2040connect + type: nina + artifact-name-suffix: arduino-mbed_nano-nanorp2040connect + - fqbn: arduino:mbed_nicla:nicla_vision + type: mbed_nicla + artifact-name-suffix: arduino-mbed_nicla-nicla_vision + - fqbn: arduino:mbed_opta:opta + type: mbed_opta + artifact-name-suffix: arduino-mbed_opta-opta + - fqbn: arduino:mbed_giga:giga + type: mbed_giga + artifact-name-suffix: arduino-mbed_giga-giga + - fqbn: arduino:renesas_portenta:portenta_c33 + type: renesas_portenta + artifact-name-suffix: arduino-renesas_portenta-portenta_c33 + - fqbn: arduino:renesas_uno:unor4wifi + type: renesas_uno + artifact-name-suffix: arduino-renesas_uno-unor4wifi + - fqbn: arduino:esp32:nano_nora + type: arduino_esp32 + artifact-name-suffix: arduino-esp32-nano_nora + - fqbn: arduino:mbed_edge:edge_control + type: mbed_edge + artifact-name-suffix: arduino-mbed_edge-edge_control + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install ESP32 platform dependencies + if: matrix.board.type == 'esp32' + run: pip3 install pyserial + + - name: Compile examples + uses: arduino/compile-sketches@v1 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + platforms: ${{ matrix.platforms }} + fqbn: ${{ matrix.board.fqbn }} + libraries: | + ${{ env.UNIVERSAL_LIBRARIES }} + ${{ matrix.libraries }} + sketch-paths: | + ${{ env.UNIVERSAL_SKETCH_PATHS }} + ${{ matrix.sketch-paths }} + enable-deltas-report: "true" + sketches-report-path: ${{ env.SKETCHES_REPORTS_PATH }} + + - name: Save memory usage change report as artifact + if: github.event_name == 'pull_request' + uses: actions/upload-artifact@v4 + with: + name: sketches-report-${{ matrix.board.artifact-name-suffix }} + path: ${{ env.SKETCHES_REPORTS_PATH }} diff --git a/.github/workflows/report-size-deltas.yml b/.github/workflows/report-size-deltas.yml new file mode 100644 index 0000000..39e2a0a --- /dev/null +++ b/.github/workflows/report-size-deltas.yml @@ -0,0 +1,24 @@ +name: Report Size Deltas + +# See: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows +on: + push: + paths: + - ".github/workflows/report-size-deltas.yml" + schedule: + # Run at the minimum interval allowed by GitHub Actions. + # Note: GitHub Actions periodically has outages which result in workflow failures. + # In this event, the workflows will start passing again once the service recovers. + - cron: "*/5 * * * *" + workflow_dispatch: + repository_dispatch: + +jobs: + report: + runs-on: ubuntu-latest + steps: + - name: Comment size deltas reports to PRs + uses: arduino/report-size-deltas@v1 + with: + # Regex matching the names of the workflow artifacts created by the "Compile Examples" workflow + sketches-reports-source: ^sketches-report-.+ diff --git a/.github/workflows/spell-check.yml b/.github/workflows/spell-check.yml new file mode 100644 index 0000000..4253ed8 --- /dev/null +++ b/.github/workflows/spell-check.yml @@ -0,0 +1,16 @@ +name: Spell Check + +on: + - push + - pull_request + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Spell check + uses: codespell-project/actions-codespell@master diff --git a/.github/workflows/sync-labels.yml b/.github/workflows/sync-labels.yml new file mode 100644 index 0000000..8c422de --- /dev/null +++ b/.github/workflows/sync-labels.yml @@ -0,0 +1,138 @@ +# Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/sync-labels.md +name: Sync Labels + +# See: https://docs.github.com/en/actions/reference/events-that-trigger-workflows +on: + push: + paths: + - ".github/workflows/sync-labels.ya?ml" + - ".github/label-configuration-files/*.ya?ml" + pull_request: + paths: + - ".github/workflows/sync-labels.ya?ml" + - ".github/label-configuration-files/*.ya?ml" + schedule: + # Run daily at 8 AM UTC to sync with changes to shared label configurations. + - cron: "0 8 * * *" + workflow_dispatch: + repository_dispatch: + +env: + CONFIGURATIONS_FOLDER: .github/label-configuration-files + CONFIGURATIONS_ARTIFACT: label-configuration-files + +jobs: + check: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Download JSON schema for labels configuration file + id: download-schema + uses: carlosperate/download-file-action@v1 + with: + file-url: https://raw.githubusercontent.com/arduino/tooling-project-assets/main/workflow-templates/assets/sync-labels/arduino-tooling-gh-label-configuration-schema.json + location: ${{ runner.temp }}/label-configuration-schema + + - name: Install JSON schema validator + run: | + sudo npm install \ + --global \ + ajv-cli \ + ajv-formats + + - name: Validate local labels configuration + run: | + # See: https://github.com/ajv-validator/ajv-cli#readme + ajv validate \ + --all-errors \ + -c ajv-formats \ + -s "${{ steps.download-schema.outputs.file-path }}" \ + -d "${{ env.CONFIGURATIONS_FOLDER }}/*.{yml,yaml}" + + download: + needs: check + runs-on: ubuntu-latest + + strategy: + matrix: + filename: + # Filenames of the shared configurations to apply to the repository in addition to the local configuration. + # https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/sync-labels + - universal.yml + + steps: + - name: Download + uses: carlosperate/download-file-action@v1 + with: + file-url: https://raw.githubusercontent.com/arduino/tooling-project-assets/main/workflow-templates/assets/sync-labels/${{ matrix.filename }} + + - name: Pass configuration files to next job via workflow artifact + uses: actions/upload-artifact@v4 + with: + path: | + *.yaml + *.yml + if-no-files-found: error + name: ${{ env.CONFIGURATIONS_ARTIFACT }} + + sync: + needs: download + runs-on: ubuntu-latest + + steps: + - name: Set environment variables + run: | + # See: https://docs.github.com/en/actions/reference/workflow-commands-for-github-actions#setting-an-environment-variable + echo "MERGED_CONFIGURATION_PATH=${{ runner.temp }}/labels.yml" >> "$GITHUB_ENV" + + - name: Determine whether to dry run + id: dry-run + if: > + github.event_name == 'pull_request' || + ( + ( + github.event_name == 'push' || + github.event_name == 'workflow_dispatch' + ) && + github.ref != format('refs/heads/{0}', github.event.repository.default_branch) + ) + run: | + # Use of this flag in the github-label-sync command will cause it to only check the validity of the + # configuration. + echo "::set-output name=flag::--dry-run" + + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Download configuration files artifact + uses: actions/download-artifact@v4 + with: + name: ${{ env.CONFIGURATIONS_ARTIFACT }} + path: ${{ env.CONFIGURATIONS_FOLDER }} + + - name: Remove unneeded artifact + uses: geekyeggo/delete-artifact@v5 + with: + name: ${{ env.CONFIGURATIONS_ARTIFACT }} + + - name: Merge label configuration files + run: | + # Merge all configuration files + shopt -s extglob + cat "${{ env.CONFIGURATIONS_FOLDER }}"/*.@(yml|yaml) > "${{ env.MERGED_CONFIGURATION_PATH }}" + + - name: Install github-label-sync + run: sudo npm install --global github-label-sync + + - name: Sync labels + env: + GITHUB_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + # See: https://github.com/Financial-Times/github-label-sync + github-label-sync \ + --labels "${{ env.MERGED_CONFIGURATION_PATH }}" \ + ${{ steps.dry-run.outputs.flag }} \ + ${{ github.repository }} diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml new file mode 100644 index 0000000..8857094 --- /dev/null +++ b/.github/workflows/unit-tests.yml @@ -0,0 +1,56 @@ +name: Unit Tests + +on: + pull_request: + paths: + - ".github/workflows/unit-tests.yml" + - 'extras/test/**' + - 'src/**' + + push: + paths: + - ".github/workflows/unit-tests.yml" + - 'extras/test/**' + - 'src/**' + +jobs: + test: + name: Run unit tests + runs-on: ubuntu-latest + + env: + COVERAGE_DATA_PATH: extras/coverage-data/coverage.info + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - uses: arduino/cpp-test-action@main + with: + runtime-paths: | + - extras/test/build/bin/testArduinoCloudUtils + coverage-exclude-paths: | + - '*/extras/test/*' + - '/usr/*' + coverage-data-path: ${{ env.COVERAGE_DATA_PATH }} + + # A token is used to avoid intermittent spurious job failures caused by rate limiting. + - name: Set up Codecov upload token + run: | + if [[ "${{ github.repository }}" == "arduino-libraries/ArduinoIoTCloud" ]]; then + # In order to avoid uploads of data from forks, only use the token for runs in the parent repo. + # Token is intentionally exposed. + # See: https://community.codecov.com/t/upload-issues-unable-to-locate-build-via-github-actions-api/3954 + CODECOV_TOKEN="47827969-3fda-4ba1-9506-e8d0834ed88c" + else + # codecov/codecov-action does unauthenticated upload if empty string is passed via the `token` input. + CODECOV_TOKEN="" + fi + echo "CODECOV_TOKEN=$CODECOV_TOKEN" >> "$GITHUB_ENV" + + - name: Upload coverage report to Codecov + uses: codecov/codecov-action@v3 + with: + file: "${{ env.COVERAGE_DATA_PATH }}" + fail_ci_if_error: true + token: ${{ env.CODECOV_TOKEN }} diff --git a/extras/test/CMakeLists.txt b/extras/test/CMakeLists.txt new file mode 100644 index 0000000..02ab2ae --- /dev/null +++ b/extras/test/CMakeLists.txt @@ -0,0 +1,45 @@ +cmake_minimum_required(VERSION 3.5) +project(testArduinoCloudUtils) + +Include(FetchContent) + +FetchContent_Declare( + Catch2 + GIT_REPOSITORY https://github.com/catchorg/Catch2.git + GIT_TAG v3.4.0 +) + +FetchContent_MakeAvailable(Catch2) + +set(TEST_TARGET ${CMAKE_PROJECT_NAME}) + +########################################################################## + +set(CMAKE_CXX_STANDARD 11) + +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) + +include_directories(../../src) + +set(TEST_SRCS + src/lzss/test_decoder.cpp + src/crc32/test_crc32.cpp +) + +set(TEST_DUT_SRCS + ../../src/crc/crc32.cpp +) + +########################################################################## + +add_compile_definitions(HOST) +add_compile_options(-Wall -Wextra -Wpedantic -Werror) +add_compile_options(-Wno-cast-function-type) + +set(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} "--coverage") +set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "--coverage -Wno-deprecated-copy") + +add_executable( ${TEST_TARGET} ${TEST_SRCS} ${TEST_DUT_SRCS} ) +target_compile_definitions( ${TEST_TARGET} PUBLIC SOURCE_DIR="${CMAKE_SOURCE_DIR}" ) + +target_link_libraries( ${TEST_TARGET} Catch2WithMain ) diff --git a/extras/test/README.md b/extras/test/README.md new file mode 100644 index 0000000..9686642 --- /dev/null +++ b/extras/test/README.md @@ -0,0 +1,5 @@ +# adding tests + +follow guide in https://github.com/catchorg/Catch2/tree/devel/docs in order to add more tests + +Add the source file for the test in `extras/test/CMakeLists.txt` inside of `${TEST_SRCS}` variable and eventually the source file you want to test in `${TEST_DUT_SRCS}` \ No newline at end of file diff --git a/extras/test/src/crc32/test_crc32.cpp b/extras/test/src/crc32/test_crc32.cpp new file mode 100644 index 0000000..6459803 --- /dev/null +++ b/extras/test/src/crc32/test_crc32.cpp @@ -0,0 +1,39 @@ +/* + This file is part of the Arduino_CloudUtils library. + + Copyright (c) 2024 Arduino SA + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. +*/ + +#include + +#include +#include + +SCENARIO( "Calculating a CRC32 checksum on a binary stream" ) { + GIVEN( "a binary stream" ) { + FILE *f = fopen(SOURCE_DIR "/test_files/test-64k", "r"); + REQUIRE( f != nullptr ); + + uint32_t crc32 = arduino::crc32::begin(); + + THEN( "CRC32 is calculated on the binary stream" ) { + uint8_t buf[64]; + size_t read_bytes; + do { + read_bytes = fread(buf, 1, sizeof(buf), f); + + if(read_bytes > 0) { + crc32 = arduino::crc32::update(crc32, buf, sizeof(buf)); + } + } while(read_bytes > 0); + + crc32 = arduino::crc32::finalize(crc32); + + REQUIRE( crc32 == 0x9512B7A7 ); + } + } +} diff --git a/extras/test/src/lzss/test_decoder.cpp b/extras/test/src/lzss/test_decoder.cpp new file mode 100644 index 0000000..6a75c04 --- /dev/null +++ b/extras/test/src/lzss/test_decoder.cpp @@ -0,0 +1,58 @@ +/* + This file is part of the Arduino_CloudUtils library. + + Copyright (c) 2024 Arduino SA + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. +*/ + +#include + +#include +#include + +using namespace arduino::lzss; + +SCENARIO( "Decoding an LZSS stream of data", "[lzss::Decoder]" ) { + GIVEN( "A LZSS compressed file and an LZSS Decoder" ) { + // the lzss file provided as test when decompressed are made by incrementing a 4 byte integer + // starting from 0, up to (file size-1)/4, thus it is easy to validate the correctness of the result + + FILE *f = fopen(SOURCE_DIR "/test_files/test-64k.lzss", "r"); + + REQUIRE( f != nullptr ); + + uint32_t value = 0; + uint64_t position = 0; + + auto decoder = arduino::lzss::Decoder([&value, &position](const uint8_t b) { + REQUIRE(((value >> ((3-(position%4))<<3)) & 0xFF) == b); // make this an assertion, not a require + + if(position % 4 == 0 && position != 0) { + value++; + } + position++; + }); + + WHEN( "Decompress is called on the decoder" ) { + uint8_t buf[64]; + size_t read_bytes; + do { + read_bytes = fread(buf, 1, sizeof(buf), f); + + if(read_bytes > 0) { + decoder.decompress(buf, read_bytes); + } + } while(read_bytes > 0); + + REQUIRE(value == (1<<14) -1); + } + THEN( "There is no error on the file" ) { + REQUIRE(feof(f) == 0); + REQUIRE(ferror(f) == 0); + REQUIRE(fclose(f) == 0); + } + } +} diff --git a/extras/test/test_files/test-1k b/extras/test/test_files/test-1k new file mode 100644 index 0000000000000000000000000000000000000000..d779470a619bb6d37270afdc8fd687e31f19abbf GIT binary patch literal 1024 zcmW;60}L1j006<-wr$(C&DFMT+qSvYT5a35ZM&C#avvbT-vW9d0uzLw1S2>h2uUbH z6Na#aBRmm^NF*W?g{VX$Ix&bzEMgOfxWpqq2}npH5|f0aBqKQ~NJ%PElZLdUBRv_& zNG39qg{)*FJ2}WnE^?EHyyPQ41t>@%3R8rl6r(sLC`leGORG@>z0Xi77h(}I??qBU)3OFP=rfsS;dGhOIPH@ee zEMhTBSjsY%^DqCgf|aadHEUSQI@Ys+jcnq7HnWATY-2k+*vT$-vxmLxV?PHt$RQ4M zgrgkeI43yCDNb{Svz+5R7r4kJE^~#eT;n=7xXCSUbBDX!<30~~$Ri%}gr_{?IWKt0 dD_--4x4h#$ANa^8KJ$gIeB(Pm_{lGR{{cB?e}Mo1 literal 0 HcmV?d00001 diff --git a/extras/test/test_files/test-1k.lzss b/extras/test/test_files/test-1k.lzss new file mode 100644 index 0000000000000000000000000000000000000000..0a27d4757e5b769247a7a4ca879aac81e3d524e0 GIT binary patch literal 797 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 literal 0 HcmV?d00001