From 78dd5b89db24c02120f9d72dc8c0661258834f93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=B6tz=20G=C3=B6risch?= <47734341+GoetzGoerisch@users.noreply.github.com> Date: Fri, 23 Feb 2024 06:23:59 +0000 Subject: [PATCH 1/8] fix(ci): update linter and configuration --- .github/linters/.yaml-lint.yml | 59 ++++++++++++++++++++++++++++++++++ .github/workflows/Linter.yml | 10 +++--- 2 files changed, 65 insertions(+), 4 deletions(-) create mode 100644 .github/linters/.yaml-lint.yml diff --git a/.github/linters/.yaml-lint.yml b/.github/linters/.yaml-lint.yml new file mode 100644 index 00000000..8db852fe --- /dev/null +++ b/.github/linters/.yaml-lint.yml @@ -0,0 +1,59 @@ +--- +########################################### +# These are the rules used for # +# linting all the yaml files in the stack # +# NOTE: # +# You can disable line with: # +# # yamllint disable-line # +########################################### +rules: + braces: + level: warning + min-spaces-inside: 0 + max-spaces-inside: 0 + min-spaces-inside-empty: 1 + max-spaces-inside-empty: 5 + brackets: + level: warning + min-spaces-inside: 0 + max-spaces-inside: 0 + min-spaces-inside-empty: 1 + max-spaces-inside-empty: 5 + colons: + level: warning + max-spaces-before: 0 + max-spaces-after: 1 + commas: + level: warning + max-spaces-before: 0 + min-spaces-after: 1 + max-spaces-after: 1 + comments: disable + comments-indentation: disable + document-end: disable + document-start: + level: warning + present: true + empty-lines: + level: warning + max: 2 + max-start: 0 + max-end: 0 + hyphens: + level: warning + max-spaces-after: 1 + indentation: + level: warning + spaces: consistent + indent-sequences: true + check-multi-line-strings: false + key-duplicates: enable + line-length: + level: warning + max: 80 + allow-non-breakable-words: true + allow-non-breakable-inline-mappings: true + new-line-at-end-of-file: disable + new-lines: + type: unix + trailing-spaces: disable \ No newline at end of file diff --git a/.github/workflows/Linter.yml b/.github/workflows/Linter.yml index f5af070c..f3a8cf2f 100644 --- a/.github/workflows/Linter.yml +++ b/.github/workflows/Linter.yml @@ -1,3 +1,4 @@ +--- ########################### ########################### ## Linter GitHub Actions ## @@ -37,17 +38,18 @@ jobs: # Checkout the code base # ########################## - name: Checkout Code - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: - # Full git history is needed to get a proper list of changed files within `super-linter` + # Full git history is needed to get a proper + # list of changed files within `super-linter` fetch-depth: 0 ################################ # Run Linter against code base # ################################ - name: Lint Code Base - uses: github/super-linter@v3.17.0 + uses: super-linter/super-linter@v6 env: - VALIDATE_ALL_CODEBASE: true + VALIDATE_ALL_CODEBASE: false DEFAULT_BRANCH: master GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file From 7ead750bd4877d0c113a04ba5b912549f7514c84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=B6tz=20G=C3=B6risch?= <47734341+GoetzGoerisch@users.noreply.github.com> Date: Fri, 23 Feb 2024 06:29:55 +0000 Subject: [PATCH 2/8] fix(ci): set permissions explicitly --- .github/workflows/ClangRelWithDebInfoAsan.yml | 2 ++ .github/workflows/GccDebugMemcheck.yml | 2 ++ .github/workflows/GccIntegrationTest.yml | 2 ++ .github/workflows/Linter.yml | 2 ++ .github/workflows/windows.yml | 2 ++ 5 files changed, 10 insertions(+) diff --git a/.github/workflows/ClangRelWithDebInfoAsan.yml b/.github/workflows/ClangRelWithDebInfoAsan.yml index dd38ba87..cb211664 100644 --- a/.github/workflows/ClangRelWithDebInfoAsan.yml +++ b/.github/workflows/ClangRelWithDebInfoAsan.yml @@ -1,5 +1,7 @@ name: ClangRelWithDebInfoAsan +permissions: read-all + env: # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) BUILD_TYPE: RelWithDebInfo diff --git a/.github/workflows/GccDebugMemcheck.yml b/.github/workflows/GccDebugMemcheck.yml index b67ec669..bf82cea5 100644 --- a/.github/workflows/GccDebugMemcheck.yml +++ b/.github/workflows/GccDebugMemcheck.yml @@ -6,6 +6,8 @@ on: - master pull_request: +permissions: read-all + env: # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) BUILD_TYPE: Debug diff --git a/.github/workflows/GccIntegrationTest.yml b/.github/workflows/GccIntegrationTest.yml index ff66f415..f173b596 100644 --- a/.github/workflows/GccIntegrationTest.yml +++ b/.github/workflows/GccIntegrationTest.yml @@ -8,6 +8,8 @@ on: pull_request: workflow_dispatch: +permissions: read-all + env: # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) BUILD_TYPE: RelWithDebInfo diff --git a/.github/workflows/Linter.yml b/.github/workflows/Linter.yml index f3a8cf2f..18d0bdf6 100644 --- a/.github/workflows/Linter.yml +++ b/.github/workflows/Linter.yml @@ -20,6 +20,8 @@ on: - master pull_request: +permissions: read-all + ############### # Set the Job # ############### diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 249a1d07..42f0c637 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -7,6 +7,8 @@ on: pull_request: workflow_dispatch: +permissions: read-all + env: # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) BUILD_TYPE: Release From 1e062e7fc9af5aca0f5df7e08daee90a69ffab26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=B6tz=20G=C3=B6risch?= <47734341+GoetzGoerisch@users.noreply.github.com> Date: Fri, 23 Feb 2024 06:37:02 +0000 Subject: [PATCH 3/8] fix(ci): update actions versions --- .github/workflows/ClangRelWithDebInfoAsan.yml | 4 ++-- .github/workflows/GccDebugMemcheck.yml | 17 ++++++++++------- .github/workflows/GccIntegrationTest.yml | 6 +++--- .github/workflows/windows.yml | 2 +- 4 files changed, 16 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ClangRelWithDebInfoAsan.yml b/.github/workflows/ClangRelWithDebInfoAsan.yml index cb211664..cbc103df 100644 --- a/.github/workflows/ClangRelWithDebInfoAsan.yml +++ b/.github/workflows/ClangRelWithDebInfoAsan.yml @@ -17,8 +17,8 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - uses: actions/setup-python@v2 + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 with: python-version: '3.x' # Version range or exact version of a Python version to use, using SemVer's version range syntax diff --git a/.github/workflows/GccDebugMemcheck.yml b/.github/workflows/GccDebugMemcheck.yml index bf82cea5..2e5b14ae 100644 --- a/.github/workflows/GccDebugMemcheck.yml +++ b/.github/workflows/GccDebugMemcheck.yml @@ -1,3 +1,4 @@ +--- name: GccDebugMemcheck on: @@ -14,15 +15,17 @@ env: jobs: build: - # The CMake configure and build commands are platform agnostic and should work equally - # well on Windows or Mac. You can convert this to a matrix build if you need - # cross-platform coverage. + # yamllint disable rule:line-length + # The CMake configure and build commands are platform agnostic and should + # work equally well on Windows or Mac. You can convert this to a matrix + # build if you need cross-platform coverage. # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix + # yamllint enable rule:line-length runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - uses: actions/setup-python@v2 + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 with: python-version: '3.x' # Version range or exact version of a Python version to use, using SemVer's version range syntax @@ -42,7 +45,7 @@ jobs: run: sudo apt-get install libxml2-dev ##open62541 - - uses: actions/checkout@master + - uses: actions/checkout@v4 with: repository: open62541/open62541 ref: 1.4 @@ -106,7 +109,7 @@ jobs: shell: bash run: cmake --build . --target coverage - - uses: codecov/codecov-action@v1 + - uses: codecov/codecov-action@v4 with: file: ${{runner.workspace}}/build/coverage/coverage.info # optional verbose: true # optional (default = false) diff --git a/.github/workflows/GccIntegrationTest.yml b/.github/workflows/GccIntegrationTest.yml index f173b596..19ab529b 100644 --- a/.github/workflows/GccIntegrationTest.yml +++ b/.github/workflows/GccIntegrationTest.yml @@ -23,8 +23,8 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - uses: actions/setup-python@v2 + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 with: python-version: '3.x' # Version range or exact version of a Python version to use, using SemVer's version range syntax @@ -38,7 +38,7 @@ jobs: run: sudo apt-get install valgrind ##open62541 - - uses: actions/checkout@master + - uses: actions/checkout@v4 with: repository: open62541/open62541 ref: 1.4 diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 42f0c637..1e65eb67 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -25,7 +25,7 @@ jobs: - name: install conan run: pip install conan==1.59.0 - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: path: ./nodesetLoader From 26b6f9218895c2dc3cbe0b4468afca2a48bd94d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=B6tz=20G=C3=B6risch?= <47734341+GoetzGoerisch@users.noreply.github.com> Date: Fri, 23 Feb 2024 14:27:53 +0000 Subject: [PATCH 4/8] fix(ci): enable workflow to run --- .github/workflows/ClangRelWithDebInfoAsan.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ClangRelWithDebInfoAsan.yml b/.github/workflows/ClangRelWithDebInfoAsan.yml index cbc103df..3f660ab4 100644 --- a/.github/workflows/ClangRelWithDebInfoAsan.yml +++ b/.github/workflows/ClangRelWithDebInfoAsan.yml @@ -1,4 +1,10 @@ -name: ClangRelWithDebInfoAsan +name: Clang RelWithDebInfoAsan + +on: + push: + branches: + - master + pull_request: permissions: read-all From aab3ef4a5df4b1bd0bce1d114dca2ab3aa8f89ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=B6tz=20G=C3=B6risch?= <47734341+GoetzGoerisch@users.noreply.github.com> Date: Fri, 23 Feb 2024 06:44:11 +0000 Subject: [PATCH 5/8] style(ci): fix linter errors --- .github/workflows/GccIntegrationTest.yml | 140 +++++++++++++---------- 1 file changed, 81 insertions(+), 59 deletions(-) diff --git a/.github/workflows/GccIntegrationTest.yml b/.github/workflows/GccIntegrationTest.yml index 19ab529b..50530303 100644 --- a/.github/workflows/GccIntegrationTest.yml +++ b/.github/workflows/GccIntegrationTest.yml @@ -1,3 +1,4 @@ +--- name: IntegrationTests # run only when merged to master @@ -16,77 +17,98 @@ env: jobs: build: - # The CMake configure and build commands are platform agnostic and should work equally - # well on Windows or Mac. You can convert this to a matrix build if you need - # cross-platform coverage. + # yamllint disable rule:line-length + # The CMake configure and build commands are platform agnostic and should + # work equally well on Windows or Mac. You can convert this to a matrix + # build if you need cross-platform coverage. # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix + # yamllint enable rule:line-length runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 - with: - python-version: '3.x' # Version range or exact version of a Python version to use, using SemVer's version range syntax + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: '3.x' + # Version range or exact version of a Python version to use, + # using SemVer's version range syntax - - name: update - run: sudo apt-get update + - name: Update package lists + run: sudo apt-get update - - name: Install check - run: sudo apt-get install check - - - name: Install valgrind - run: sudo apt-get install valgrind + - name: Install check + run: sudo apt-get install check + + - name: Install Valgrind + run: sudo apt-get install valgrind - ##open62541 - - uses: actions/checkout@v4 - with: - repository: open62541/open62541 - ref: 1.4 - submodules: recursive - path: ./openRoot + # open62541 + - uses: actions/checkout@v4 + with: + repository: open62541/open62541 + ref: 1.4 + submodules: recursive + path: ./openRoot - - name: Create Build Environment for open62541 - run: cmake -E make_directory ./openRoot/build + - name: Create Build Environment for open62541 + run: cmake -E make_directory ./openRoot/build - - name: Configure open - shell: bash - working-directory: ./openRoot/build - run: cmake -DCMAKE_BUILD_TYPE=Debug -DUA_NAMESPACE_ZERO=FULL -DBUILD_SHARED_LIBS=ON -DUA_ENABLE_SUBSCRIPTIONS_EVENTS=ON .. + - name: Configure open + shell: bash + working-directory: ./openRoot/build + run: | + cmake -DCMAKE_BUILD_TYPE=Debug \ + -DUA_NAMESPACE_ZERO=FULL \ + -DBUILD_SHARED_LIBS=ON \ + -DUA_ENABLE_SUBSCRIPTIONS_EVENTS=ON \ + .. - - name: Build open - working-directory: ./openRoot/build - shell: bash - run: cmake --build . --config $BUILD_TYPE + - name: Build open + shell: bash + working-directory: ./openRoot/build + run: cmake --build . --config "$BUILD_TYPE" - - name: install open - working-directory: ./openRoot/build - shell: bash - run: sudo cmake --install . + - name: Install open + shell: bash + working-directory: ./openRoot/build + run: sudo cmake --install . - - name: Create Build Environment - # Some projects don't allow in-source building, so create a separate build directory - # We'll use this as our working directory for all subsequent commands - run: cmake -E make_directory ${{runner.workspace}}/build + - name: Create Build Environment + # Some projects don't allow in-source building, so create a separate + # build directory We'll use this as our working directory for all + # subsequent commands + shell: bash + run: cmake -E make_directory ${{ runner.temp }}/build - - name: Configure CMake - # Use a bash shell so we can use the same syntax for environment variable - # access regardless of the host operating system - shell: bash - working-directory: ${{runner.workspace}}/build - # Note the current convention is to use the -S and -B options here to specify source - # and build directories, but this is only available with CMake 3.13 and higher. - # The CMake binaries on the Github Actions machines are (as of this writing) 3.12 - run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_CONAN=OFF -DENABLE_TESTING=ON -DBUILD_SHARED_LIBS=ON -DENABLE_INTEGRATION_TEST=ON .. + - name: Configure CMake + # Use a bash shell so we can use the same syntax for environment + # variable access regardless of the host operating system + shell: bash + working-directory: ${{ runner.temp }}/build + # Note the current convention is to use the -S and -B options here + # to specify source and build directories, but this is only + # available with CMake 3.13 and higher. The CMake binaries on the + # Github Actions machines are (as of this writing) 3.28 + run: | + cmake "$GITHUB_WORKSPACE" \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DENABLE_CONAN=OFF \ + -DENABLE_TESTING=ON \ + -DBUILD_SHARED_LIBS=ON \ + -DENABLE_INTEGRATION_TEST=ON \ + .. - - name: Build - working-directory: ${{runner.workspace}}/build - shell: bash - # Execute the build. You can specify a specific target with "--target " - run: cmake --build . --config $BUILD_TYPE + - name: Build + shell: bash + working-directory: ${{ runner.temp }}/build + # Execute the build. You can specify a specific target + # with "--target " + run: cmake --build . --config "$BUILD_TYPE" - - name: Test - working-directory: ${{runner.workspace}}/build - shell: bash - # Execute tests defined by the CMake configuration. - # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail - run: ctest + - name: Test + shell: bash + working-directory: ${{ runner.temp }}/build + # Execute tests defined by the CMake configuration. + # See https://cmake.org/cmake/help/latest/manual/ctest.1.html + # for more detail + run: ctest From 849f0397afa7734d8b466f6e0bc1c2a3a9181693 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=B6tz=20G=C3=B6risch?= <47734341+GoetzGoerisch@users.noreply.github.com> Date: Fri, 23 Feb 2024 12:57:44 +0000 Subject: [PATCH 6/8] style(ci): fix linter errors --- .github/workflows/GccDebugMemcheck.yml | 196 ++++++++++++++----------- 1 file changed, 111 insertions(+), 85 deletions(-) diff --git a/.github/workflows/GccDebugMemcheck.yml b/.github/workflows/GccDebugMemcheck.yml index 2e5b14ae..59e07492 100644 --- a/.github/workflows/GccDebugMemcheck.yml +++ b/.github/workflows/GccDebugMemcheck.yml @@ -24,92 +24,118 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 - with: - python-version: '3.x' # Version range or exact version of a Python version to use, using SemVer's version range syntax + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: '3.x' + # Version range or exact version of a Python version to use, + # using SemVer's version range syntax - - name: update - run: sudo apt-get update + - name: Update package lists + run: sudo apt-get update - - name: Install check - run: sudo apt-get install check + - name: Install check + run: sudo apt-get install check - - name: Install valgrind - run: sudo apt-get install valgrind - - - name: Install lcov - run: sudo apt-get install lcov - - - name: install libxml2 - run: sudo apt-get install libxml2-dev - - ##open62541 - - uses: actions/checkout@v4 - with: - repository: open62541/open62541 - ref: 1.4 - submodules: recursive - path: ./openRoot + - name: Install Valgrind + run: sudo apt-get install valgrind + + - name: Install lcov + run: sudo apt-get install lcov + + - name: Lnstall libxml2 + run: sudo apt-get install libxml2-dev + + # open62541 + - uses: actions/checkout@v4 + with: + repository: open62541/open62541 + ref: 1.4 + submodules: recursive + path: ./openRoot - - name: Create Build Environment for open62541 - run: cmake -E make_directory ./openRoot/build - - - name: Configure open - shell: bash - working-directory: ./openRoot/build - run: cmake -DCMAKE_BUILD_TYPE=Debug -DUA_NAMESPACE_ZERO=FULL -DBUILD_SHARED_LIBS=ON -DUA_ENABLE_SUBSCRIPTIONS_EVENTS=ON .. - - - name: Build open - working-directory: ./openRoot/build - shell: bash - run: cmake --build . --config $BUILD_TYPE - - - name: install open - working-directory: ./openRoot/build - shell: bash - run: sudo cmake --install . - - - name: Create Build Environment - # Some projects don't allow in-source building, so create a separate build directory - # We'll use this as our working directory for all subsequent commands - run: cmake -E make_directory ${{runner.workspace}}/build - - - name: Configure CMake - # Use a bash shell so we can use the same syntax for environment variable - # access regardless of the host operating system - shell: bash - working-directory: ${{runner.workspace}}/build - # Note the current convention is to use the -S and -B options here to specify source - # and build directories, but this is only available with CMake 3.13 and higher. - # The CMake binaries on the Github Actions machines are (as of this writing) 3.12 - run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=Debug -DENABLE_CONAN=OFF -DENABLE_TESTING=ON -DBUILD_SHARED_LIBS=ON -DENABLE_DATATYPEIMPORT_TEST=ON -DCALC_COVERAGE=ON .. - - - name: Build - working-directory: ${{runner.workspace}}/build - shell: bash - # Execute the build. You can specify a specific target with "--target " - run: cmake --build . --config $BUILD_TYPE - - - - name: Test - working-directory: ${{runner.workspace}}/build - shell: bash - run: make test - - - name: Test with memcheck - working-directory: ${{runner.workspace}}/build - shell: bash - # Execute tests defined by the CMake configuration. - # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail - run: ctest --verbose --overwrite MemoryCheckCommandOptions="--leak-check=full --error-exitcode=100" -T memcheck - - - name: CalculateCoverage - working-directory: ${{runner.workspace}}/build - shell: bash - run: cmake --build . --target coverage - - - uses: codecov/codecov-action@v4 - with: - file: ${{runner.workspace}}/build/coverage/coverage.info # optional - verbose: true # optional (default = false) + - name: Create Build Environment for open62541 + shell: bash + run: cmake -E make_directory ./openRoot/build + + - name: Configure open + shell: bash + working-directory: ./openRoot/build + run: | + cmake -DCMAKE_BUILD_TYPE=Debug \ + -DUA_NAMESPACE_ZERO=FULL \ + -DBUILD_SHARED_LIBS=ON \ + -DUA_ENABLE_SUBSCRIPTIONS_EVENTS=ON \ + .. + + - name: Build open + shell: bash + working-directory: ./openRoot/build + run: cmake --build . --config "$BUILD_TYPE" + + - name: Install open + shell: bash + working-directory: ./openRoot/build + run: sudo cmake --install . + + - name: Create Build Environment + # Some projects don't allow in-source building, so create a separate + # build directory We'll use this as our working directory for all + # subsequent commands + shell: bash + run: cmake -E make_directory ${{ runner.temp }}/build + + - name: Configure CMake + # Use a bash shell so we can use the same syntax for environment + # variable access regardless of the host operating system + shell: bash + working-directory: ${{ runner.temp }}/build + # Note the current convention is to use the -S and -B options here + # to specify source and build directories, but this is only + # available with CMake 3.13 and higher. The CMake binaries on the + # Github Actions machines are (as of this writing) 3.28 + run: | + cmake "$GITHUB_WORKSPACE" \ + -DCMAKE_BUILD_TYPE=Debug \ + -DENABLE_CONAN=OFF \ + -DENABLE_TESTING=ON \ + -DBUILD_SHARED_LIBS=ON \ + -DENABLE_DATATYPEIMPORT_TEST=ON \ + -DCALC_COVERAGE=ON \ + .. + + - name: Build + shell: bash + working-directory: ${{ runner.temp }}/build + # Execute the build. You can specify a specific target + # with "--target " + run: cmake --build . --config "$BUILD_TYPE" + + + - name: Test + shell: bash + working-directory: ${{ runner.temp }}/build + run: make test + + - name: Test with memcheck + shell: bash + working-directory: ${{ runner.temp }}/build + # Execute tests defined by the CMake configuration. + # See https://cmake.org/cmake/help/latest/manual/ctest.1.html + # for more detail + run: | + ctest \ + --verbose \ + --overwrite \ + MemoryCheckCommandOptions="--leak-check=full --error-exitcode=100" \ + -T memcheck + + - name: CalculateCoverage + shell: bash + working-directory: ${{ runner.temp }}/build + run: cmake --build . --target coverage + + - uses: codecov/codecov-action@v4 + with: + file: ${{ runner.temp }}/build/coverage/coverage.info # optional + verbose: true # optional (default = false) From ca2c3b7c0080efd1d568d17bf9f5e6de6c095784 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=B6tz=20G=C3=B6risch?= <47734341+GoetzGoerisch@users.noreply.github.com> Date: Fri, 23 Feb 2024 14:25:19 +0000 Subject: [PATCH 7/8] style(ci): fix linter errors --- .github/workflows/windows.yml | 48 +++++++++++++++++++++-------------- 1 file changed, 29 insertions(+), 19 deletions(-) diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 1e65eb67..6539c5c7 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -1,3 +1,4 @@ +--- name: WindowsBuildOnly on: @@ -15,26 +16,35 @@ env: jobs: build: - # The CMake configure and build commands are platform agnostic and should work equally - # well on Windows or Mac. You can convert this to a matrix build if you need - # cross-platform coverage. + # yamllint disable rule:line-length + # The CMake configure and build commands are platform agnostic and should + # work equally well on Windows or Mac. You can convert this to a matrix + # build if you need cross-platform coverage. # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix + # yamllint enable rule:line-length runs-on: windows-2019 steps: - - name: install conan - run: pip install conan==1.59.0 - - - uses: actions/checkout@v4 - with: - path: ./nodesetLoader - - - uses: ilammy/msvc-dev-cmd@v1 - - name: Build nodesetLoader - run: cd ./nodesetLoader && cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_TESTING=ON -DENABLE_CONAN=ON . && cmake --build . - - - name: Test - shell: cmd - # Execute tests defined by the CMake configuration. - # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail - run: cd ./nodesetLoader && ctest -C Debug --verbose + - name: Install conan + run: pip install conan==1.59.0 + + - uses: actions/checkout@v4 + with: + path: ./nodesetLoader + + - uses: ilammy/msvc-dev-cmd@v1 + - name: Build nodesetLoader + run: | + cd ./nodesetLoader && \ + cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DENABLE_TESTING=ON \ + -DENABLE_CONAN=ON . && \ + cmake --build . + + - name: Test + shell: cmd + # Execute tests defined by the CMake configuration. + # See https://cmake.org/cmake/help/latest/manual/ctest.1.html + # for more detail + run: cd ./nodesetLoader && ctest -C Debug --verbose From 6e12d0c23bd324de6989c52605037969f4d874c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=B6tz=20G=C3=B6risch?= <47734341+GoetzGoerisch@users.noreply.github.com> Date: Fri, 23 Feb 2024 14:35:18 +0000 Subject: [PATCH 8/8] style(ci): fix linter errors --- .github/workflows/ClangRelWithDebInfoAsan.yml | 99 +++++++++++-------- 1 file changed, 57 insertions(+), 42 deletions(-) diff --git a/.github/workflows/ClangRelWithDebInfoAsan.yml b/.github/workflows/ClangRelWithDebInfoAsan.yml index 3f660ab4..812f6986 100644 --- a/.github/workflows/ClangRelWithDebInfoAsan.yml +++ b/.github/workflows/ClangRelWithDebInfoAsan.yml @@ -1,3 +1,4 @@ +--- name: Clang RelWithDebInfoAsan on: @@ -11,59 +12,73 @@ permissions: read-all env: # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) BUILD_TYPE: RelWithDebInfo - CC: clang - CXX: clang + CC: clang + CXX: clang jobs: build: - # The CMake configure and build commands are platform agnostic and should work equally - # well on Windows or Mac. You can convert this to a matrix build if you need - # cross-platform coverage. + # yamllint disable rule:line-length + # The CMake configure and build commands are platform agnostic and should + # work equally well on Windows or Mac. You can convert this to a matrix + # build if you need cross-platform coverage. # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix + # yamllint enable rule:line-length runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 - with: - python-version: '3.x' # Version range or exact version of a Python version to use, using SemVer's version range syntax - - - name: update - run: sudo apt-get update + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: '3.x' + # Version range or exact version of a Python version to use, + # using SemVer's version range syntax + + - name: Update package lists + run: sudo apt-get update - - name: Install check - run: sudo apt-get install check + - name: Install check + run: sudo apt-get install check - - name: Install valgrind - run: sudo apt-get install valgrind + - name: Install Valgrind + run: sudo apt-get install valgrind - - name: install conan - run: pip3 install conan + - name: Install conan + run: pip3 install conan - - name: Create Build Environment - # Some projects don't allow in-source building, so create a separate build directory - # We'll use this as our working directory for all subsequent commands - run: cmake -E make_directory ${{runner.workspace}}/build + - name: Create Build Environment + # Some projects don't allow in-source building, so create a separate + # build directory We'll use this as our working directory for all + # subsequent commands + shell: bash + run: cmake -E make_directory ${{ runner.temp }}/build - - name: Configure CMake - # Use a bash shell so we can use the same syntax for environment variable - # access regardless of the host operating system - shell: bash - working-directory: ${{runner.workspace}}/build - # Note the current convention is to use the -S and -B options here to specify source - # and build directories, but this is only available with CMake 3.13 and higher. - # The CMake binaries on the Github Actions machines are (as of this writing) 3.12 - run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_TESTING=ON -DBUILD_SHARED_LIBS=ON -DENABLE_ASAN=ON .. + - name: Configure CMake + # Use a bash shell so we can use the same syntax for environment + # variable access regardless of the host operating system + shell: bash + working-directory: ${{ runner.temp }}/build + # Note the current convention is to use the -S and -B options here + # to specify source and build directories, but this is only + # available with CMake 3.13 and higher. The CMake binaries on the + # Github Actions machines are (as of this writing) 3.28 + run: | + cmake "$GITHUB_WORKSPACE" \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DENABLE_TESTING=ON \ + -DBUILD_SHARED_LIBS=ON \ + -DENABLE_ASAN=ON .. - - name: Build - working-directory: ${{runner.workspace}}/build - shell: bash - # Execute the build. You can specify a specific target with "--target " - run: cmake --build . --config $BUILD_TYPE + - name: Build + shell: bash + working-directory: ${{ runner.temp }}/build + # Execute the build. You can specify a specific target + # with "--target " + run: cmake --build . --config "$BUILD_TYPE" - - name: Test - working-directory: ${{runner.workspace}}/build - shell: bash - # Execute tests defined by the CMake configuration. - # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail - run: ctest + - name: Test + shell: bash + working-directory: ${{ runner.temp }}/build + # Execute tests defined by the CMake configuration. + # See https://cmake.org/cmake/help/latest/manual/ctest.1.html + # for more detail + run: ctest