1832ffa3 | 25-Jun-2025 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
format-code: Print tool versions and describe version policy
The updated output improves our ability to spot differences in tools across CI worker containers:
``` $ ./openbmc-build-scripts/scripts/
format-code: Print tool versions and describe version policy
The updated output improves our ability to spot differences in tools across CI worker containers:
``` $ ./openbmc-build-scripts/scripts/format-code.sh ./libpldm/origin/ Formatting code under .../libpldm/origin markdownlint: cannot find .markdownlint.yaml; using .../openbmc-build-scripts/config/markdownlint.yaml prettier: cannot find .prettierrc.yaml; using .../openbmc-build-scripts/config/prettierrc.yaml Running commit_gitlint (0.19.1) Running commit_spelling (codespell: 2.4.1) codespell-dictionary - misspelling count >> 0 generic-dictionary - misspelling count >> 0 Running beautysh (6.2.1) Running black (black, 25.1.0 (compiled: yes)) All done! ✨ ✨ 2 files left unchanged. Running clang_format (Ubuntu clang-format version 20.1.7 (++20250613062657+6146a88f6049-1~exp1~20250613062712.130)) Running clang_tidy (openbmc-build-scripts: effec66f389b614089f46e1ae5b41ffa05c3e817) Running flake8 (7.2.0 (mccabe: 0.7.0, pycodestyle: 2.13.0, pyflakes: 3.3.2) CPython 3.12.7 on Linux) Running isort (6.0.1) Running markdownlint (0.45.0) Running meson (1.7.0) Running prettier (3.5.3) ... Running shellcheck (0.10.0) Result differences... Format: PASSED ```
Change-Id: I1a14b5ba765a794f2aec37302fc35173a13ba4e7 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
a1cbd404 | 25-Jun-2025 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: force refresh container
prettier had a breaking update which causes some of our markdown files to fail formatting with the new version. Force a refresh so that all the CI co
build-unit-test-docker: force refresh container
prettier had a breaking update which causes some of our markdown files to fail formatting with the new version. Force a refresh so that all the CI containers are on the latest version at the same time (otherwise different CI containers disagree at the proper formatting).
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ic304f4d6407d0aaf18110f31b27e5783f8eb545a
show more ...
|
7d27a5bc | 25-Jun-2025 |
Patrick Williams <patrick@stwcx.xyz> |
Reapply "format-code: fail on markdownlint warnings"
This reverts commit 6100d0bf6a0a30818a9508e344ea257df2574be6.
The reported issues were caused, not by markdownlint, but by a upgrade of prettier
Reapply "format-code: fail on markdownlint warnings"
This reverts commit 6100d0bf6a0a30818a9508e344ea257df2574be6.
The reported issues were caused, not by markdownlint, but by a upgrade of prettier that was not refreshed in all CI containers.
Change-Id: Ie5ec1849b5ee61cbfc5d376dfc14bf7a0aa1b89a Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
6100d0bf | 25-Jun-2025 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
Revert "format-code: fail on markdownlint warnings"
This reverts commit e91217edf290aaa84f87305f3d4ec9afc21f9dc2.
It seems prettier and markdownlint can sometimes require conflicting layouts[1][2][
Revert "format-code: fail on markdownlint warnings"
This reverts commit e91217edf290aaa84f87305f3d4ec9afc21f9dc2.
It seems prettier and markdownlint can sometimes require conflicting layouts[1][2][3][4]. Return to ignoring markdownlint until we better understand the issue.
[1]: https://discord.com/channels/775381525260664832/867820390406422538/1387251528682700900 [2]: https://discord.com/channels/775381525260664832/867820390406422538/1387334519140651040 [3]: https://discord.com/channels/775381525260664832/867820390406422538/1387367751835848777 [4]: https://discord.com/channels/775381525260664832/778790638563885086/1387359922307600445
Change-Id: I0358494b492130a26115a3d958955f9c47784c77 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
e91217ed | 18-Jun-2025 |
Patrick Williams <patrick@stwcx.xyz> |
format-code: fail on markdownlint warnings
We've cleaned up the vast majority of markdownlint warnings and the few remaining have pending commits. Enable failures on markdownlint warnings now so we
format-code: fail on markdownlint warnings
We've cleaned up the vast majority of markdownlint warnings and the few remaining have pending commits. Enable failures on markdownlint warnings now so we do not regress.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I3e16bd65cf0b3aefc818b027c8b368dc56819332
show more ...
|
c675d088 | 09-Jun-2025 |
Patrick Williams <patrick@stwcx.xyz> |
format-code: enable config-clang-tidy format checking
config-clang-tidy has been introduced as a tool for formatting and modifying `.clang-tidy` files in a consistent way across the organization. A
format-code: enable config-clang-tidy format checking
config-clang-tidy has been introduced as a tool for formatting and modifying `.clang-tidy` files in a consistent way across the organization. All existing `.clang-tidy` files have been reformatted already with this tool, so enable running in CI to prevent format regressions.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I99081c3313faf5514399128416b325f3cdf20323
show more ...
|
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 ...
|