| f20083bc | 10-Jun-2025 |
Patrick Williams <patrick@stwcx.xyz> |
markdownlint: disable line length via config
We don't want the markdownlint warning for line length when in a table or code block but even with those disabled, markdownlint sometimes gives spurious
markdownlint: disable line length via config
We don't want the markdownlint warning for line length when in a table or code block but even with those disabled, markdownlint sometimes gives spurious warnings. Disable it with a config rather than as an argument.
We will end up getting the code reformatted with prettier anyhow which will handle line lengths on its own.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I6a6d2b2c798266ef067ba2b6b1e02279b59e1461
show more ...
|
| 2f5d53b6 | 06-May-2025 |
Chris Cain <cjcain@us.ibm.com> |
format-code: Flag lint failures at point of failure
The current format-code script will call all linters and if any of them fail, it will only print the failure message at the end.
This change will
format-code: Flag lint failures at point of failure
The current format-code script will call all linters and if any of them fail, it will only print the failure message at the end.
This change will highlight the failure immediately after the lint failure to easily pinpoint the cause faster. The fail message will continue to be logged at the end.
Current behavior: ``` Formatting code under /home/cjcain/obmc/code/openpower-occ-control markdownlint: cannot find .markdownlint.yaml; using /home/cjcain/obmc/code/openbmc-build-scripts/config/markdownlint.yaml prettier: cannot find .prettierrc.yaml; using /home/cjcain/obmc/code/openbmc-build-scripts/config/prettierrc.yaml Running commit_gitlint -: UC2 Multiple Change-Ids found in commit message body: "['Change-Id: Ic2bca9f55227f9e052255e28c68ae01bef2f4885', 'Change-Id: Ic2bca9f55227f9e052255e28c68ae01bef2f4885']" Running commit_spelling codespell-dictionary - misspelling count >> 0 generic-dictionary - misspelling count >> 0 Running beautysh_sh Running black All done! 1 file left unchanged. Running clang_format Running flake8 Running isort Running markdownlint Running meson Running prettier README.md 29ms (unchanged) example/occ_sensor.yaml 17ms (unchanged) Running shellcheck commit_gitlint: FAILED ```
Tested with successful build as well as several failures:
New behavior: ``` Running commit_gitlint -: UC2 Multiple Change-Ids found in commit message body: "['Change-Id: Ic2bca9f55227f9e052255e28c68ae01bef2f4885', 'Change-Id: Ic2bca9f55227f9e052255e28c68ae01bef2f4885']" commit_gitlint - FAILED Running commit_spelling codespell-dictionary - misspelling count >> 0 generic-dictionary - misspelling count >> 0 Running beautysh_sh Running black All done! 1 file left unchanged. Running clang_format Running flake8 Running isort Running markdownlint Running meson Running prettier README.md 29ms (unchanged) example/occ_sensor.yaml 17ms (unchanged) Running shellcheck commit_gitlint: FAILED (see prior failure)
``` and ``` Running commit_gitlint Running commit_spelling codespell-dictionary - misspelling count >> /tmp/tmp.dYkiwSB4jr:7: Every time ==> Every time 1 generic-dictionary - misspelling count >> /tmp/tmp.dYkiwSB4jr:7: Every time ==> Every time 1 commit_spelling - FAILED Running beautysh_sh Running black ```
Change-Id: I5c9182f9d5c646f6c1bfea1176695b94cd5fa4bf Signed-off-by: Chris Cain <cjcain@us.ibm.com>
show more ...
|
| 9fdba2d2 | 14-May-2025 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: add python3-referencing
entity-manager use python3-referencing, so add it explicitly.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I67692e95aa9e367329c4845
build-unit-test-docker: add python3-referencing
entity-manager use python3-referencing, so add it explicitly.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I67692e95aa9e367329c48453547c315b2c5a61e5
show more ...
|
| 79950a14 | 30-Oct-2024 |
Bill Huey (Hui) <bill.huey@gmail.com> |
build-qemu-robot-docker: move to Ubuntu Oracular
Fix qemu runtime issues (glibc/libslirp) by moving to a newer Oracular distribution. Update relevant package name changes.
Running qemu-system-aarch
build-qemu-robot-docker: move to Ubuntu Oracular
Fix qemu runtime issues (glibc/libslirp) by moving to a newer Oracular distribution. Update relevant package name changes.
Running qemu-system-aarch64 results in these errors:
''' ./tmp/sysroots-components/aarch64/qemu-system-native/usr/bin/qemu-system-aarch64: /lib/aarch64-linux-gnu/libslirp.so.0: version SLIRP_4.7' not found (required by ./tmp/sysroots-components/aarch64/qemu-system-native/usr/bin/qemu-system-aarch64) ./tmp/sysroots-components/aarch64/qemu-system-native/usr/bin/qemu-system-aarch64: /lib/aarch64-linux-gnu/libc.so.6: versionGLIBC_2.38' not found (required by ./tmp/sysroots-components/aarch64/qemu-system-native/usr/bin/qemu-system-aarch64) '''
Change-Id: Ibd24e15b761e5b130d4ccd18302613236bba1789 Signed-off-by: Bill Huey (Hui) <bill.huey@gmail.com>
show more ...
|
| 8f676ee3 | 13-May-2025 |
Patrick Williams <patrick@stwcx.xyz> |
unit-test: add workaround for clang-20 errors
We are seeing pervasive issues with clang-20 with boost async_wait calls mixed with std::bind_front:
``` /usr/local/include/sdbusplus/asio/connection.h
unit-test: add workaround for clang-20 errors
We are seeing pervasive issues with clang-20 with boost async_wait calls mixed with std::bind_front:
``` /usr/local/include/sdbusplus/asio/connection.hpp:411:15: error: no matching member function for call to 'async_wait' 411 | timer.async_wait(std::bind_front(&connection::on_timer_event, this)); ```
This issue is noted upstream[1] and is currently unsolved, but we discovered we can solve this by passing `-fno-builtin-std-forward_like` as a clang compiler option. Add this to the unit-test scripts when the `CXX` is clang.
[1]: https://github.com/llvm/llvm-project/issues/101614
Tested: Ran locally against dbus-sensors and observed the compile issues are resolved.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I3e5a68320df10fd835613da452c0fcefa95e6a22
show more ...
|
| 4e651a9a | 13-May-2025 |
Willy Tu <wltu@google.com> |
unit-test: Remove newline for dependency checks
After formatting with meson formatter, the dependency is not always in a new line. Removing the newline in the regex to fix the runtime dependencies.
unit-test: Remove newline for dependency checks
After formatting with meson formatter, the dependency is not always in a new line. Removing the newline in the regex to fix the runtime dependencies.
Change-Id: I3ee9d754fcb60a0e0a9aab2e6e94b91c3b11f240 Signed-off-by: Willy Tu <wltu@google.com>
show more ...
|
| 1c28d969 | 08-May-2025 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
build-unit-test-docker: Add doxygen
Doxygen can be used to build libpldm's documentation. Add it to the container image so issues with doxygen comments can be caught once we've cleaned up the warnin
build-unit-test-docker: Add doxygen
Doxygen can be used to build libpldm's documentation. Add it to the container image so issues with doxygen comments can be caught once we've cleaned up the warnings.
Change-Id: I2c5e043cc7ba85eb5ed7da293e3a73203dabd089 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
| 412b2814 | 08-May-2025 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: update clang to 20
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I1818407fdd8ab2ca11a939ffebd5f3e5445403c3 |
| 78503281 | 30-Apr-2025 |
Xinyuan Wang <wang.x.6f@gmail.com> |
Boost: Upgrade to Version 1.87.0
- Updated Boost from version 1.86 to 1.87.
Change-Id: I3a0adc4ca83a4816cf8f8c241fba90e35b9461d9 Signed-off-by: Xinyuan Wang <wang.x.6f@gmail.com> |
| 147139ae | 20-Mar-2025 |
George Keishing <gkeishin@in.ibm.com> |
Packages required for RF Protocol validator
https://github.com/DMTF/Redfish-Protocol-Validator
The Redfish Protocol Validator tests the HTTP protocol behavior of a Redfish service to validate that
Packages required for RF Protocol validator
https://github.com/DMTF/Redfish-Protocol-Validator
The Redfish Protocol Validator tests the HTTP protocol behavior of a Redfish service to validate that it is conforms to the Redfish Specification.
Changes: - Added the required packages needed from requirements.txt
Tested: - Tested on Jenkins docker setup
Change-Id: I7150568e127e77a8626966bd6279a2b788297ea5 Signed-off-by: George Keishing <gkeishin@in.ibm.com>
show more ...
|
| 02c7920a | 18-Mar-2025 |
George Keishing <gkeishin@in.ibm.com> |
Update robotframework version 7.2.2
Changes: - Newer package version 7.2.2 update
Tested: - Tested on sandbox with 7.2.2 with different python levels for sanity Robot Framework
Update robotframework version 7.2.2
Changes: - Newer package version 7.2.2 update
Tested: - Tested on sandbox with 7.2.2 with different python levels for sanity Robot Framework 7.2.2 (Python 3.12.9 on linux) Robot Framework 7.2.2 (Python 3.10.12 on linux)
Change-Id: I233bfe5dca177465e5a118f2ff36ea185d660968 Signed-off-by: George Keishing <gkeishin@in.ibm.com>
show more ...
|
| e5572c65 | 14-Mar-2025 |
Ed Tanous <etanous@nvidia.com> |
Update to latest release of nlohmann
3.11.2 -> 3.11.3
Change-Id: Ie0c59af0f5941b4c108bd022c54e46e40673b3fd Signed-off-by: Ed Tanous <etanous@nvidia.com> |
| bc5f06f5 | 05-Mar-2025 |
Lei YU <yulei.sh@bytedance.com> |
unit-test: Set to none after sanitizer
The unit test contains a step to do sanitize test by `-Db_sanitize=address,undefined`, and remove the config after it's done. However, the meson generated `com
unit-test: Set to none after sanitizer
The unit test contains a step to do sanitize test by `-Db_sanitize=address,undefined`, and remove the config after it's done. However, the meson generated `compile_commands.json` still contains the `-fsanitize=address,undefined` compile option. If we run the unit test again, it will cause valgrind test reporting error as below:
``` ASan runtime does not come first in initial library list; you should either link runtime to your application or manually preload it with LD_PRELOAD. ```
To correctly disable sanitizer, `-Db_sanitize=none` is needed to specifically tell meson to disable it.
Tested: Run sdbusplus's unit test twice without issue. Without this change, the second run will get the above valgrind error.
Signed-off-by: Lei YU <yulei.sh@bytedance.com> Change-Id: Iebde8ce80b498a039de4f2713b5c16561ca63b09
show more ...
|
| 966d67da | 10-Mar-2025 |
Ed Tanous <etanous@nvidia.com> |
Use clang as C compiler
When setting up the clang build, use clang as the C compiler and the C++ compiler. This matters for C libraries where we might want to set up fuzzing. Having the C portions
Use clang as C compiler
When setting up the clang build, use clang as the C compiler and the C++ compiler. This matters for C libraries where we might want to set up fuzzing. Having the C portions compile with GCC prevents compiling with libfuzzer flags.
Change-Id: I113693bc139f4ebb58107e3df26ee82cc460f460 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
| f0e5de91 | 21-Feb-2025 |
Ewelina Walkusz <ewelinax.walkusz@intel.com> |
unit-test: Remove `UBSAN_OPTIONS=halt_on_error=1`
Setting `UBSAN_OPTIONS=halt_on_error=1` here makes adding the `UBSAN_OPTION` environment variable ineffective (like `suppressions=ubsan.supp` or `pr
unit-test: Remove `UBSAN_OPTIONS=halt_on_error=1`
Setting `UBSAN_OPTIONS=halt_on_error=1` here makes adding the `UBSAN_OPTION` environment variable ineffective (like `suppressions=ubsan.supp` or `print_summary=1`). This environment variable is always overwritten.
The mechanism that makes UBSAN kill tests is no longer needed when using meson version 1.3.0 or higher https://github.com/mesonbuild/meson/commit/7b7d2e060b where default ``` UBSAN_OPTION=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ```
Resolves: openbmc/openbmc-build-scripts#43
Tested: - Run `run-unit-test-docker.sh` without setting env variable, with `invalid vptr` error - tests failed with more info in logs (stack trace, summary) - Run `run-unit-test-docker.sh` with setting env variable `UBSAN_OPTION=suppressions=ubsan.supp` with suppression for vptr check and with bug location - tests passed
Change-Id: I64eb799645dbc9cde4b7ee75098b641ebe30a5a4 Signed-off-by: Ewelina Walkusz <ewelinax.walkusz@intel.com>
show more ...
|
| 1ef5c600 | 01-Feb-2025 |
Patrick Williams <patrick@stwcx.xyz> |
format-code: enable meson format linting
Meson has a format utility built-in now. Use this to format both meson.build and meson.option files so we have consistent formatting.
Signed-off-by: Patric
format-code: enable meson format linting
Meson has a format utility built-in now. Use this to format both meson.build and meson.option files so we have consistent formatting.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I6ad7b24ca02ca86ddb3c45cb1b14f459349ad8ab
show more ...
|
| 3ee62fb5 | 25-Feb-2025 |
Ewelina Walkusz <ewelinax.walkusz@intel.com> |
build-unit-test-docker: Add libmpfr-dev
After meson bump, clang-tidy reports an error when using boost::multiprecision based on the MPFR library
``` /usr/local/include/boost/multiprecision/mpfr.hp
build-unit-test-docker: Add libmpfr-dev
After meson bump, clang-tidy reports an error when using boost::multiprecision based on the MPFR library
``` /usr/local/include/boost/multiprecision/mpfr.hpp:22:10: error: 'mpfr.h' file not found [clang-diagnostic-error] ```
Change-Id: I76db10af842926f5767c897b92f1ccc0f63ffdbe Signed-off-by: Ewelina Walkusz <ewelinax.walkusz@intel.com>
show more ...
|
| d8e150a5 | 04-Feb-2025 |
Ewelina Walkusz <ewelinax.walkusz@intel.com> |
unit-test: Add ability to skip cppcheck
Now you can run openbmc-build-scripts/run-unit-test-docker.sh with `NO_CPPCHECK=1` to skip cppcheck
We need this mechanizm in case cppcheck hangs. This probl
unit-test: Add ability to skip cppcheck
Now you can run openbmc-build-scripts/run-unit-test-docker.sh with `NO_CPPCHECK=1` to skip cppcheck
We need this mechanizm in case cppcheck hangs. This problem can occur when compiling with the BOOST_NO_RTTI and BOOST_NO_TYPEID flags.
Tested: - Run `run-unit-test-docker.sh` as before, verify cppcheck runs - Run `NO_CPPCHECK=1 run-unit-test-docker.sh`, verify cppcheck is skipped
Change-Id: Ib1b246dc932b3b36334bfbe51934c206bdeb936f Signed-off-by: Ewelina Walkusz <ewelinax.walkusz@intel.com>
show more ...
|
| 077b551a | 05-Feb-2025 |
George Keishing <gkeishin@in.ibm.com> |
Update robotframework version
Changes: - Update version from 7.0.1 to 7.1.1 due to fixes and enhancements.
Tested: - Tested version on local sandbox Robot Framework 7.1.1 (Pytho
Update robotframework version
Changes: - Update version from 7.0.1 to 7.1.1 due to fixes and enhancements.
Tested: - Tested version on local sandbox Robot Framework 7.1.1 (Python 3.10.12 on linux)
Change-Id: I46e959c3b166d5b2f4a5a0095c33fe66f16674e1 Signed-off-by: George Keishing <gkeishin@in.ibm.com>
show more ...
|
| 62eb4273 | 03-Feb-2025 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: update meson to 1.7.0
Meson 1.7.0 was released and is in the latest Yocto master branch. Update our unit test container as well.
Signed-off-by: Patrick Williams <patrick@st
build-unit-test-docker: update meson to 1.7.0
Meson 1.7.0 was released and is in the latest Yocto master branch. Update our unit test container as well.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I760b9092fbd1ac0a6c7307261e2d077c94f6773c
show more ...
|
| 5618dd5c | 20-Jan-2025 |
Ewelina Walkusz <ewelinax.walkusz@intel.com> |
build-unit-test-docker: upgrade meson to 1.6.1
Tested: run-unit-test-docker.sh runs correctly
Change-Id: Ifa4bc74d707d1c0b12bf9b147fd03e0e3c075262 Signed-off-by: Ewelina Walkusz <ewelinax.walkusz@i
build-unit-test-docker: upgrade meson to 1.6.1
Tested: run-unit-test-docker.sh runs correctly
Change-Id: Ifa4bc74d707d1c0b12bf9b147fd03e0e3c075262 Signed-off-by: Ewelina Walkusz <ewelinax.walkusz@intel.com>
show more ...
|
| 52c3aec3 | 22-Jan-2025 |
Ewelina Walkusz <ewelinax.walkusz@intel.com> |
unit-test: Reconfigure after sanitizers
After running `meson configure build -Db_sanitize=none`, there may be leftovers that cause the next analysis to fail: `ASan runtime does not come first in ini
unit-test: Reconfigure after sanitizers
After running `meson configure build -Db_sanitize=none`, there may be leftovers that cause the next analysis to fail: `ASan runtime does not come first in initial library list; you should either link runtime to your application or manually preload it with LD_PRELOAD.`
Fixes: openbmc/openbmc-build-scripts#42
Change-Id: Ia5b3c6c8a076c61aadd70ab23c029c591a3e29f5 Signed-off-by: Ewelina Walkusz <ewelinax.walkusz@intel.com>
show more ...
|
| 3aa71c8c | 24-Jan-2025 |
Tan Siewert <tan@siewert.io> |
build-unit-test-docker: use heredoc-copy for wgetrc
The "heredoc" support in Docker can be a bit tedious with indented content. Most of the examples do not indent it, but start at the beginning [1].
build-unit-test-docker: use heredoc-copy for wgetrc
The "heredoc" support in Docker can be a bit tedious with indented content. Most of the examples do not indent it, but start at the beginning [1].
To prevent any weird behavior with "RUN cat" heredoc's, we should use the native "COPY heredoc" feature which is mentioned at the end of the blog [1].
[1] https://www.docker.com/blog/introduction-to-heredocs-in-dockerfiles/
Fixes: f7e5261 ("build-unit-test-docker: Add .wgetrc for proxy") Change-Id: I41b09c093fe5c5954e0411582806434ae6a148d0 Signed-off-by: Tan Siewert <tan@siewert.io>
show more ...
|
| f7e52612 | 08-Jan-2025 |
Lei YU <yulei.sh@bytedance.com> |
build-unit-test-docker: Add .wgetrc for proxy
The script now uses `wget -O - https://apt.llvm.org/llvm.sh` to download the llvm.sh.
If http_proxy is set, set the proxy to .wgetrc in the docker cont
build-unit-test-docker: Add .wgetrc for proxy
The script now uses `wget -O - https://apt.llvm.org/llvm.sh` to download the llvm.sh.
If http_proxy is set, set the proxy to .wgetrc in the docker container so that it could be used by `wget` when building the unit test docker.
Signed-off-by: Lei YU <yulei.sh@bytedance.com> Change-Id: I5cb305515cb4f79e5fd759bf1844a110f106a049
show more ...
|
| 4a5ba95d | 13-Jan-2025 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: remove 'yamldir' option to phosphor-logging
phosphor-logging currently uses the `phosphor-dbus-interfaces.pc` file by default to determine the location of the install YAML, i
build-unit-test-docker: remove 'yamldir' option to phosphor-logging
phosphor-logging currently uses the `phosphor-dbus-interfaces.pc` file by default to determine the location of the install YAML, in order to generate appropriate headers for error metadata. `phosphor-dbus-interfaces` changed where the YAML is installed, but the yamldir value here did not match. Remove it entirely and fall back to obtaining the one from the pkg-config.
Tested: Ensured `phosphor-networkd` compiled using this container.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ibe2168a05e7ad5be0e497c9bcfc6cadac7607a5d
show more ...
|