diff --git a/.github/workflows/executableMonitorTests.yml b/.github/workflows/executableMonitorTests.yml index 66207f86..d2566e20 100644 --- a/.github/workflows/executableMonitorTests.yml +++ b/.github/workflows/executableMonitorTests.yml @@ -23,7 +23,7 @@ jobs: os: [ubuntu-latest, windows-latest] runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4.1.1 - env: stepName: Install Windows Build tools @@ -185,7 +185,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4.1.1 - env: stepName: Install Windows Build tools name: ${{ env.stepName }} diff --git a/.github/workflows/formattingTests.yml b/.github/workflows/formattingTests.yml index 0768167c..e63b575e 100644 --- a/.github/workflows/formattingTests.yml +++ b/.github/workflows/formattingTests.yml @@ -18,7 +18,7 @@ jobs: uncrustify-formatting-success-cases: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4.1.1 - env: stepName: "Functional | Success | Exclude Files and Dirs" @@ -61,7 +61,7 @@ jobs: uncrustify-formatting-error-cases: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4.1.1 - env: stepName: "Functional | Failure | Whitespace, CRLF, and Format Failure" name: ${{ env.stepName }} @@ -297,7 +297,7 @@ jobs: clang-formatting-success-cases: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4.1.1 - env: stepName: "Functional | Success | Exclude Files and Dirs" @@ -340,7 +340,7 @@ jobs: clang-formatting-error-cases: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4.1.1 - env: stepName: "Functional | Failure | Whitespace, CRLF, and Format Failure" name: ${{ env.stepName }} diff --git a/.github/workflows/pr_checks.yml b/.github/workflows/pr_checks.yml index 181647e5..4db525ef 100644 --- a/.github/workflows/pr_checks.yml +++ b/.github/workflows/pr_checks.yml @@ -53,9 +53,8 @@ jobs: run-link-verifier: true, run-complexity: true, run-doxygen: true, - build-flags: -DCMAKE_BUILD_TYPE=Debug -DBUILD_UNIT_TESTS=ON -DCMAKE_C_FLAGS='--coverage -Wall -Wextra -Werror', + build-flags: -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS='--coverage -Wall -Wextra -Werror', coverage-skips: '"\*test\*" "\*CMakeCCompilerId\*" "\*mocks\*" "\*3rdparty\*"', - line-coverage: 100, }, { repository: coreHTTP, @@ -66,7 +65,6 @@ jobs: run-doxygen: true, build-flags: -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS='--coverage -Wall -Wextra -DNDEBUG', coverage-skips: '"\*test\*" "\*CMakeCCompilerId\*" "\*mocks\*" "\*3rdparty\*"', - line-coverage: 100, }, { repository: coreJSON, @@ -77,7 +75,6 @@ jobs: run-doxygen: true, build-flags: -DCMAKE_BUILD_TYPE=Debug -DBUILD_CLONE_SUBMODULES=ON -DCMAKE_C_FLAGS='--coverage -Wall -Wextra -Werror', coverage-skips: '"\*test\*" "\*CMakeCCompilerId\*" "\*mocks\*" "\*source\*"', - line-coverage: 100, }, { repository: coreMQTT, @@ -88,7 +85,6 @@ jobs: run-doxygen: true, build-flags: -DCMAKE_BUILD_TYPE=Debug -DBUILD_CLONE_SUBMODULES=ON -DCMAKE_C_FLAGS='--coverage -Wall -Wextra -Werror -DNDEBUG -DLIBRARY_LOG_LEVEL=LOG_DEBUG', coverage-skips: '"\*test\*" "\*CMakeCCompilerId\*" "\*mocks\*"', - line-coverage: 100, }, { repository: corePKCS11, @@ -97,9 +93,9 @@ jobs: run-link-verifier: true, run-complexity: true, run-doxygen: true, - build-flags: -DCMAKE_BUILD_TYPE=Debug -DUNIT_TESTS=1 -DSYSTEM_TESTS=0 -DCMAKE_C_FLAGS='--coverage -Wall -Wextra -DNDEBUG', + build-flags: -DCMAKE_BUILD_TYPE=Debug -DSYSTEM_TESTS=0 -DCMAKE_C_FLAGS='--coverage -Wall -Wextra -DNDEBUG', coverage-skips: '"\*test\*" "\*CMakeCCompilerId\*" "\*mocks\*"', - line-coverage: 95, + branch-coverage: 90, }, { repository: coreSNTP, @@ -108,9 +104,8 @@ jobs: run-link-verifier: true, run-complexity: true, run-doxygen: true, - build-flags: -DCMAKE_BUILD_TYPE=Debug -DBUILD_UNIT_TESTS=ON -DCMAKE_C_FLAGS='--coverage -Wall -Wextra -Werror -DNDEBUG -Wno-error=pedantic -Wno-variadic-macros -DLOGGING_LEVEL_DEBUG=1', + build-flags: -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS='--coverage -Wall -Wextra -Werror -DNDEBUG -Wno-error=pedantic -Wno-variadic-macros -DLOGGING_LEVEL_DEBUG=1', coverage-skips: '"\*test\*" "\*CMakeCCompilerId\*" "\*mocks\*"', - line-coverage: 100, }, { repository: FreeRTOS-Cellular-Interface, @@ -121,7 +116,6 @@ jobs: run-doxygen: true, build-flags: -DCMAKE_BUILD_TYPE=Debug -DBUILD_CLONE_SUBMODULES=ON -DCMAKE_C_FLAGS='--coverage -Wall -Wextra -Werror -DNDEBUG', coverage-skips: '"\*test\*" "\*CMakeCCompilerId\*" "\*mocks\*"', - line-coverage: 99, }, { repository: Device-Defender-for-AWS-IoT-embedded-sdk, @@ -132,73 +126,72 @@ jobs: run-doxygen: true, build-flags: -DBUILD_CLONE_SUBMODULES=ON -DCMAKE_C_FLAGS='--coverage -Wall -Wextra -Werror -DNDEBUG', coverage-skips: '"\*test\*" "\*CMakeCCompilerId\*" "\*mocks\*"', - line-coverage: 100, }, - { - repository: Device-Shadow-for-AWS-IoT-embedded-sdk, - org: AWS, - branch: main, - run-link-verifier: true, - run-complexity: true, - build-flags: -DCMAKE_BUILD_TYPE=Debug -DBUILD_CLONE_SUBMODULES=ON -DCMAKE_C_FLAGS='--coverage -Wall -Wextra -Werror -DNDEBUG', - coverage-skips: '"\*test\*" "\*CMakeCCompilerId\*" "\*mocks\*"', - line-coverage: 100, - }, - { - repository: Fleet-Provisioning-for-AWS-IoT-embedded-sdk, - org: AWS, - branch: main, - run-link-verifier: true, - run-complexity: true, - run-doxygen: true, - build-flags: -DCMAKE_BUILD_TYPE=Debug -DBUILD_CLONE_SUBMODULES=ON -DCMAKE_C_FLAGS='--coverage -Wall -Wextra -Werror -DNDEBUG', - coverage-skips: '"\*test\*" "\*CMakeCCompilerId\*" "\*mocks\*"', - line-coverage: 100, - }, - { - repository: Jobs-for-AWS-IoT-embedded-sdk, - org: AWS, - branch: main, - run-link-verifier: true, - run-complexity: false, - run-doxygen: true, - build-flags: -DCMAKE_BUILD_TYPE=Debug -DBUILD_CLONE_SUBMODULES=ON -DCMAKE_C_FLAGS='--coverage -Wall -Wextra -Werror', - coverage-skips: '"\*test\*" "\*CMakeCCompilerId\*" "\*mocks\*" "\*source\*"', - line-coverage: 100, - - }, - { - repository: ota-for-AWS-IoT-embedded-sdk, - org: AWS, - branch: main, - run-link-verifier: true, - run-complexity: true, - run-doxygen: true, - build-flags: -DCMAKE_BUILD_TYPE=Debug -DBUILD_CLONE_SUBMODULES=ON -DCMAKE_C_FLAGS='--coverage -Wall -Wextra -DNDEBUG', - line-coverage: 95, - }, - { - repository: SigV4-for-AWS-IoT-embedded-sdk, - org: AWS, - branch: main, - run-complexity: true, - run-doxygen: true, - build-flags: -DCMAKE_BUILD_TYPE=Debug -DBUILD_UNIT_TESTS=ON -DCMAKE_C_FLAGS='--coverage -Wall -Wextra -DNDEBUG -DLOGGING_LEVEL_DEBUG=1', - coverage-skips: '"\*test\*" "\*CMakeCCompilerId\*" "\*mocks\*"', - line-coverage: 100, - }, + { + repository: Device-Shadow-for-AWS-IoT-embedded-sdk, + org: AWS, + branch: main, + run-link-verifier: true, + run-complexity: true, + build-flags: -DCMAKE_BUILD_TYPE=Debug -DBUILD_CLONE_SUBMODULES=ON -DCMAKE_C_FLAGS='--coverage -Wall -Wextra -Werror -DNDEBUG', + coverage-skips: '"\*test\*" "\*CMakeCCompilerId\*" "\*mocks\*"', + }, + { + repository: Fleet-Provisioning-for-AWS-IoT-embedded-sdk, + org: AWS, + branch: main, + run-link-verifier: true, + run-complexity: true, + run-doxygen: true, + build-flags: -DCMAKE_BUILD_TYPE=Debug -DBUILD_CLONE_SUBMODULES=ON -DCMAKE_C_FLAGS='--coverage -Wall -Wextra -Werror -DNDEBUG', + coverage-skips: '"\*test\*" "\*CMakeCCompilerId\*" "\*mocks\*"', + }, + { + repository: Jobs-for-AWS-IoT-embedded-sdk, + org: AWS, + branch: main, + run-link-verifier: true, + run-complexity: false, + run-doxygen: true, + build-flags: -DCMAKE_BUILD_TYPE=Debug -DBUILD_CLONE_SUBMODULES=ON -DCMAKE_C_FLAGS='--coverage -Wall -Wextra -Werror', + coverage-skips: '"\*test\*" "\*CMakeCCompilerId\*" "\*mocks\*" "\*source\*"', + }, + { + repository: ota-for-AWS-IoT-embedded-sdk, + org: AWS, + branch: main, + run-link-verifier: true, + run-complexity: true, + run-doxygen: true, + build-flags: -DCMAKE_BUILD_TYPE=Debug -DBUILD_CLONE_SUBMODULES=ON -DCMAKE_C_FLAGS='--coverage -Wall -Wextra -DNDEBUG', + }, + { + repository: SigV4-for-AWS-IoT-embedded-sdk, + org: AWS, + branch: main, + run-complexity: true, + run-doxygen: true, + build-flags: -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS='--coverage -Wall -Wextra -DNDEBUG -DLOGGING_LEVEL_DEBUG=1', + coverage-skips: '"\*test\*" "\*CMakeCCompilerId\*" "\*mocks\*"', + }, ] steps: - - uses: actions/checkout@v3 - - uses: actions/setup-python@v3 + - uses: actions/checkout@v4.1.1 + - uses: actions/setup-python@v5.1.0 - - name: Install Common Tools + - env: + stepName: Install Common Tools shell: bash run: | + # ${{ env.stepName }} + echo -e "::group::${{ env.bashInfo }} ${{ env.stepName }} ${{ env.bashEnd }}" + sudo apt-get -y update sudo apt-get install -y lcov sed build-essential cmake + echo -e "::endgroup::" + echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}" - name: "Clone: ${{ matrix.inputs.repository }}" - uses: actions/checkout@v3 + uses: actions/checkout@v4.1.1 with: repository: ${{ matrix.inputs.org }}/${{ matrix.inputs.repository }} ref: ${{ matrix.inputs.branch }} @@ -241,7 +234,7 @@ jobs: - name: "Recursive Clone: ${{ matrix.inputs.repository }}" if: success() || failure() - uses: actions/checkout@v3 + uses: actions/checkout@v4.1.1 with: repository: ${{ matrix.inputs.org }}/${{ matrix.inputs.repository }} ref: ${{ matrix.inputs.branch }} @@ -256,17 +249,21 @@ jobs: working-directory: repo/${{ matrix.inputs.repository }}_Recursive run: git submodule update --checkout --init --recursive - - name: Build ${{matrix.inputs.repository}} + - env: + stepName: Build ${{matrix.inputs.repository}} if: matrix.inputs.run-complexity && ( success() || failure() ) shell: bash working-directory: repo/${{matrix.inputs.repository}}_Recursive run: | - echo -e "::group:: Install lcov" - sudo apt-get install -y lcov - echo -e "::endgroup::" - cmake -S ./test -B build/ ${{ matrix.inputs.build-flags }} + # ${{ env.stepName }} + echo -e "::group::${{ env.bashInfo }} ${{ env.stepName }} ${{ env.bashEnd }}" + + cmake -S ./test -B build/ ${{ matrix.inputs.build-flags }} -DUNITTEST=ON make -C build/ all + echo -e "::endgroup::" + echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}" + - name: Test if: matrix.inputs.run-complexity && ( success() || failure() ) shell: bash @@ -289,18 +286,26 @@ jobs: output: size_table_new.html check_against: docs/doxygen/include/size_table.md - - name: Run Coverage ${{matrix.inputs.repository}} + - env: + stepName: Coverage ${{matrix.inputs.repository}} if: matrix.inputs.run-complexity && ( success() || failure() ) shell: bash working-directory: repo/${{matrix.inputs.repository}}_Recursive run: | + # ${{ env.stepName }} + echo -e "::group::${{ env.bashInfo }} Build ${{matrix.inputs.repository}} ${{ env.bashEnd }}" make -C build/ coverage + echo -e "::endgroup::" + echo -e "::group::${{ env.bashInfo }} ${{ env.stepName }} ${{ env.bashEnd }}" + if [[ "${{ matrix.inputs.coverage-skips }}" != "" ]]; then declare -a EXCLUDE=( ${{ matrix.inputs.coverage-skips }} ) echo ${EXCLUDE[@]} | xargs lcov --rc lcov_branch_coverage=1 -r build/coverage.info -o build/coverage.info else lcov --rc lcov_branch_coverage=1 -r build/coverage.info -o build/coverage.info fi + echo -e "::endgroup::" + lcov --rc lcov_branch_coverage=1 --list build/coverage.info - name: Test coverage cop action ${{matrix.inputs.repository}} @@ -308,8 +313,7 @@ jobs: uses: ./coverage-cop with: coverage-file: repo/${{matrix.inputs.repository}}_Recursive/build/coverage.info - branch-coverage-min: 70 - line-coverage-min: ${{ matrix.inputs.line-coverage }} + branch-coverage-min: ${{ matrix.inputs.branch_coverage }} PR-uncrustify-checks: runs-on: ubuntu-20.04 @@ -404,11 +408,11 @@ jobs: ] steps: - - uses: actions/checkout@v3 - - uses: actions/setup-python@v3 + - uses: actions/checkout@v4.1.1 + - uses: actions/setup-python@v5.1.0 - name: "Clone: ${{ matrix.inputs.repository }}" - uses: actions/checkout@v3 + uses: actions/checkout@v4.1.1 with: repository: ${{ matrix.inputs.org }}/${{ matrix.inputs.repository }} ref: ${{ matrix.inputs.branch }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index bd70536c..c9d42a24 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,8 +18,8 @@ jobs: test-format-check: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v3 - - uses: actions/checkout@v3 + - uses: actions/checkout@v4.1.1 + - uses: actions/checkout@v4.1.1 with: repository: FreeRTOS/coreMQTT path: coreMQTT @@ -34,8 +34,8 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: actions/checkout@v3 + - uses: actions/checkout@v4.1.1 + - uses: actions/checkout@v4.1.1 with: repository: FreeRTOS/coreMQTT ref: main @@ -51,9 +51,9 @@ jobs: test-doxygen-zip-check: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: actions/setup-python@v3 - - uses: actions/checkout@v3 + - uses: actions/checkout@v4.1.1 + - uses: actions/setup-python@v5.1.0 + - uses: actions/checkout@v4.1.1 with: repository: aws/aws-iot-device-sdk-embedded-C submodules: recursive @@ -70,9 +70,9 @@ jobs: test-doxygen-non-zip-check: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4.1.1 - - uses: actions/checkout@v3 + - uses: actions/checkout@v4.1.1 with: repository: FreeRTOS/coreMQTT ref: main @@ -86,8 +86,8 @@ jobs: test-spell-check: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: actions/checkout@v3 + - uses: actions/checkout@v4.1.1 + - uses: actions/checkout@v4.1.1 with: repository: FreeRTOS/coreMQTT ref: main @@ -101,9 +101,9 @@ jobs: test-spell-checker-find-mistake: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4.1.1 - - uses: actions/checkout@v3 + - uses: actions/checkout@v4.1.1 with: repository: FreeRTOS/coreMQTT ref: main @@ -140,8 +140,8 @@ jobs: test-coverage-cop: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: actions/checkout@v3 + - uses: actions/checkout@v4.1.1 + - uses: actions/checkout@v4.1.1 with: repository: FreeRTOS/coreMQTT ref: main @@ -251,7 +251,7 @@ jobs: test-memory-statistics: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4.1.1 - name: Test memory statistics action uses: ./memory_statistics @@ -264,10 +264,10 @@ jobs: test-link-verifier: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4.1.1 - name: Setup python environment - uses: actions/setup-python@v3 + uses: actions/setup-python@v5.1.0 - env: stepName: "Functional | Success | Link Verifier Works & Excludes Directory" @@ -319,13 +319,13 @@ jobs: test-manifest-verifier: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4.1.1 - name: Setup python environment - uses: actions/setup-python@v3 + uses: actions/setup-python@v5.1.0 - name: Checkout the FreeRTOS/FreeRTOS repository for testing action on. - uses: actions/checkout@v3 + uses: actions/checkout@v4.1.1 with: repository: FreeRTOS/FreeRTOS ref: '202107.00' diff --git a/doxygen-generation/action.yml b/doxygen-generation/action.yml index 418e6c55..c415db7f 100644 --- a/doxygen-generation/action.yml +++ b/doxygen-generation/action.yml @@ -32,7 +32,7 @@ runs: using: "composite" steps: - name: Checkout the repo for generating doxygen - uses: actions/checkout@v3 + uses: actions/checkout@v4.1.1 with: path: doxygen_source ref: ${{ inputs.ref }} @@ -51,7 +51,7 @@ runs: run: ${{ inputs.generate_command }} - name: Checkout the repo for storing doxygen - uses: actions/checkout@v3 + uses: actions/checkout@v4.1.1 with: path: doxygen_store diff --git a/formatting-bot/action.yml b/formatting-bot/action.yml index 49338c8f..735a7cf7 100644 --- a/formatting-bot/action.yml +++ b/formatting-bot/action.yml @@ -44,7 +44,7 @@ runs: echo -e "${{ env.bashPass }} ${{ env.stepName }} ${{ env.bashEnd }}" - name: Checkout upstream repo - uses: actions/checkout@v3 + uses: actions/checkout@v4.1.1 with: repository: ${{ steps.pr-info.outputs.RemoteRepo }} ref: ${{ steps.pr-info.outputs.branchName }} diff --git a/link-verifier/action.yml b/link-verifier/action.yml index 6c6be6e0..570652e1 100644 --- a/link-verifier/action.yml +++ b/link-verifier/action.yml @@ -29,7 +29,7 @@ runs: using: "composite" steps: - name: Setup Python for link verifier action - uses: actions/setup-python@v3 + uses: actions/setup-python@v5.1.0 with: # Minimum version for urllib v2 (https://urllib3.readthedocs.io/en/latest/v2-migration-guide.html) python-version: '>=3.7' diff --git a/set_up_cbmc_runner/action.yml b/set_up_cbmc_runner/action.yml index 7defe511..729d97db 100644 --- a/set_up_cbmc_runner/action.yml +++ b/set_up_cbmc_runner/action.yml @@ -29,7 +29,7 @@ runs: using: composite steps: - name: Check out repository and submodules recursively - uses: actions/checkout@v3 + uses: actions/checkout@v4.1.1 with: submodules: 'recursive'