| a4a60c11 | 17-Nov-2025 |
James Athappilly <jamesatha@meta.com> |
Invalidate docker cache to fix clang upgrade error
This should address build errors from running ``` /bin/sh -c apt-get update && apt-get dist-upgrade -yy ```
that resulted in the following error:
Invalidate docker cache to fix clang upgrade error
This should address build errors from running ``` /bin/sh -c apt-get update && apt-get dist-upgrade -yy ```
that resulted in the following error: ``` dpkg: error processing archive /tmp/...60_arm64.deb (--unpack): trying to overwrite '/usr/lib/llvm-21/bin/clang-scan-deps' ```
This forces docker to actually do an apt-get update/upgrade instead of using the cached image on the host
Change-Id: I99aa148a9af51a3375ba813e93621b7dbd302680 Signed-off-by: James Athappilly <jamesatha@gmail.com>
show more ...
|
| 0774452e | 12-Nov-2025 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
scripts: unit-test: Reduce NOFILE rlimit for valgrind
Avoid triggering its file descriptor limit test and failure exit:
``` --27:0:libcfile Valgrind: FATAL: Private file creation failed. The cur
scripts: unit-test: Reduce NOFILE rlimit for valgrind
Avoid triggering its file descriptor limit test and failure exit:
``` --27:0:libcfile Valgrind: FATAL: Private file creation failed. The current file descriptor limit is 1073741804. If you are running in Docker please consider lowering this limit with the shell built-in limit command. --27:0:libcfile Exiting now. ```
Change-Id: I94b051c9843209fb0986575622735691f0320a13 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
| 6d237f4f | 12-Nov-2025 |
Ed Tanous <etanous@nvidia.com> |
Fix valgrind safety check
Cleanup the code to not catch all errors, only errors when the valgrind run is done. If the build, or anything else fails, that should be promoted to a real exception. Pr
Fix valgrind safety check
Cleanup the code to not catch all errors, only errors when the valgrind run is done. If the build, or anything else fails, that should be promoted to a real exception. Previously, any error in the c file would silently be treated as "valgrind not supported".
While we're here, clean up some other things. Use TemporaryDirectory as a context rather than doing manual cleanup. Use the python DEVNULL rather than constructing our own null pipe.
Change-Id: I0749b10cb3de579db007927fb0e3a58e815b5e22 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
| 1a484329 | 12-Nov-2025 |
Patrick Williams <patrick@stwcx.xyz> |
beautysh: fix to v6.2.1
The latest version of beautysh has a bug[1] that breaks formatting. Fix to an older version until this is fixed.
[1]: https://github.com/lovesegfault/beautysh/issues/265
Si
beautysh: fix to v6.2.1
The latest version of beautysh has a bug[1] that breaks formatting. Fix to an older version until this is fixed.
[1]: https://github.com/lovesegfault/beautysh/issues/265
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I6371098f68a2f61c0a901a1b527ac93d0e043044
show more ...
|
| e347f825 | 24-Jul-2025 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: use ubuntu-toolchain-r for gcc
Ubuntu plucky uses GCC-15.0, which has a few known bugs. Switch to picking up GCC from the ubuntu-toolchain-r repository, which currently has
build-unit-test-docker: use ubuntu-toolchain-r for gcc
Ubuntu plucky uses GCC-15.0, which has a few known bugs. Switch to picking up GCC from the ubuntu-toolchain-r repository, which currently has GCC-15.2.
One specific issue the community has encountered included with this fixes is reported by Google Test[1].
[1]: https://github.com/google/googletest/issues/4759
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Id7f9cfd9c6292334b79c6c417c11210910876f06
show more ...
|
| eae557cf | 13-Oct-2025 |
Andrew Geissler <geissonator@yahoo.com> |
build-unit-test-docker: utilize https for llvm install
Some of our internal networks have started to completely block http. This llvm.sh script utilizes a http address by default for some wget comma
build-unit-test-docker: utilize https for llvm install
Some of our internal networks have started to completely block http. This llvm.sh script utilizes a http address by default for some wget commands. An issue[1] has been opened on the llvm project but for now just utilize a workaround to tell the script to use https.
Tested: - Confirmed script now correctly builds in environment without http support
[1]: https://github.com/llvm/llvm-project/issues/163216
Change-Id: Iadcb05e94480c3a91dc65c33e41f274ac545fd99 Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
show more ...
|
| c5f92c9f | 26-Sep-2025 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: update-alternatives for clang-apply-replacements
Meson expects a `clang-apply-replacements` implementation in order to generate the `clang-tidy-fix` target[1,2]. With clang-
build-unit-test-docker: update-alternatives for clang-apply-replacements
Meson expects a `clang-apply-replacements` implementation in order to generate the `clang-tidy-fix` target[1,2]. With clang-21, it seems that this moved to a versioned implementation, so we need to include it in the `update-alternatives` invocation.
[1]: https://github.com/mesonbuild/meson/blob/3708730dee5049eca7e497629d25629534ea4964/mesonbuild/backend/ninjabackend.py#L3907 [2]: https://github.com/mesonbuild/meson/blob/3708730dee5049eca7e497629d25629534ea4964/mesonbuild/environment.py#L320
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I7d3099ac7cd675755131a1385f4ce0fc15dc55f7
show more ...
|
| e31ec4e3 | 03-Sep-2025 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: clang: update to 21
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I795e88ada8e676c242b5a18888ce9c08afdedc93 |
| d200508d | 12-Sep-2025 |
Lei YU <yulei.sh@bytedance.com> |
boot-qemu: Use hostname -I to obtian container IP
The code was using `awk 'END{print $1}' /etc/hosts` to obtain the container IP, it works OK for containers with IPv4-only address, but does not work
boot-qemu: Use hostname -I to obtian container IP
The code was using `awk 'END{print $1}' /etc/hosts` to obtain the container IP, it works OK for containers with IPv4-only address, but does not work for containers with IPv6 address, because the last line of `/etc/hosts` is IPv6 address in such containers. Then the script will use `127.0.0.1` as the IP address to start the QEMU, which will not work for QEMU CI because the host can not access the QEMU's ports.
Fix this by using `hostname -I` to obtain the IPv4 address.
Tested: Verify QEMU CI passes in containers with IPv6 address.
Change-Id: I3ce39b5633a913c303ccc8297cdf39a87f5be99a Signed-off-by: Lei YU <yulei.sh@bytedance.com>
show more ...
|
| e6d46024 | 15-Sep-2025 |
Andrew Geissler <geissonator@yahoo.com> |
build-qemu-robot-docker.sh: update to plucky
The previous version has gone EOL
Change-Id: Ic9522129e17a6359a49b7720f10a7b5229163c3e Signed-off-by: Andrew Geissler <geissonator@yahoo.com> |
| 1c84797d | 12-Sep-2025 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: escape topic queries
Gerrit topics can contain spaces[1]. We need to escape those so that the http request can be done successfully.
[1]: https://gerrit.openbmc.org/c/openb
build-unit-test-docker: escape topic queries
Gerrit topics can contain spaces[1]. We need to escape those so that the http request can be done successfully.
[1]: https://gerrit.openbmc.org/c/openbmc/entity-manager/+/83520
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I934a012497eb4e33ee606f133f2f705b8e5fcd10
show more ...
|
| 3e9c007c | 27-Aug-2025 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: sdbusplus: use pip for install
Currently sdbusplus uses a setup.py, which is a deprecated method for installing python packages. If we use `pip` here, we can allow it to det
build-unit-test-docker: sdbusplus: use pip for install
Currently sdbusplus uses a setup.py, which is a deprecated method for installing python packages. If we use `pip` here, we can allow it to detect how sdbusplus specifies its installation directives, which will allow transition from the older setup.py to newer pyproject.toml method.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ie956fc32972f4e0ef225a1f8c04d98642098b6a2
show more ...
|
| 82425eca | 25-Aug-2025 |
Ed Tanous <ed@tanous.net> |
Upgrade to meson 1.9.0
Meson 1.9.0 includes a new feature to avoid pulling in all the headers when running clang-tidy. While 1.9.0 isn't the version yocto uses, this is an important change to decre
Upgrade to meson 1.9.0
Meson 1.9.0 includes a new feature to avoid pulling in all the headers when running clang-tidy. While 1.9.0 isn't the version yocto uses, this is an important change to decrease our CI times.
[1] https://mesonbuild.com/Release-notes-for-1-9-0.html#clangtidys-autogenerated-targets-correctly-select-source-files
Change-Id: I2cd844d79f751443f9400cb185840128c2d9f2a9 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
| 3dc37e6e | 17-Jul-2025 |
Ratan Gupta <ratankgupta31@gmail.com> |
Add DMTF/libspdm v3.7.0 to docker unit test image
Add libspdm library to the docker build environment to support SPDM. The library is built with OpenSSL crypto backend and configured for shared libr
Add DMTF/libspdm v3.7.0 to docker unit test image
Add libspdm library to the docker build environment to support SPDM. The library is built with OpenSSL crypto backend and configured for shared library output.
Tested: - Verified that local CI passes without errors. - Confirmed all SPDM libraries and associated header files are correctly built and included.
Change-Id: I04c97ae616ada2bc955ac1353ce743dd8ea3ba8a Signed-off-by: Ratan Gupta <ratankgupta31@gmail.com>
show more ...
|
| 8eaac197 | 25-Jul-2025 |
Ed Tanous <etanous@nvidia.com> |
Make clang environment temporary
Pushing to the global environment has the unintended effect of running sanitizers in clang. Moving to gcc-15 had some unintended consequences where that broke in so
Make clang environment temporary
Pushing to the global environment has the unintended effect of running sanitizers in clang. Moving to gcc-15 had some unintended consequences where that broke in some cases with an error of:
ld.lld: error: undefined symbol: __asan_stack_malloc_1
Move the clang variables to a dict and pass it into the appropriate calls so that it can be destroyed afterward.
Change-Id: I8d4e2b50156e285d7a569dfa1aa8831828c5f480 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
| 96ce4b45 | 25-Jul-2025 |
Ed Tanous <ed@tanous.net> |
Set CXXFLAGS for clang
CXXFLAGS is more arguably correct. Fix it.
Change-Id: I0cd9bacfd4e6453c9e36879581aadde9792e31bd Signed-off-by: Ed Tanous <etanous@nvidia.com> |
| c7e719f9 | 24-Jul-2025 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: force libgpiod 1.x series
Latest ubuntu switched to libgpiod 2.x, which we do not support yet in OpenBMC. Convert from using a deb to manually building the 1.x package.
Tes
build-unit-test-docker: force libgpiod 1.x series
Latest ubuntu switched to libgpiod 2.x, which we do not support yet in OpenBMC. Convert from using a deb to manually building the 1.x package.
Tested:
Ran against entity-manager and confirmed that subproject build was no longer selected.
``` Run-time dependency libgpiodcxx found: YES 1.6.5 ```
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I556574c3cf728932e90f98286871a365d92c91f9
show more ...
|
| ff8e7a43 | 24-Jul-2025 |
Patrick Williams <patrick@stwcx.xyz> |
unit-test: require meson 1.3.0 for relative_to calls
Meson can give the following warning:
``` WARNING: Project specifies a minimum meson_version '>=1.1.1' but uses features which were added in new
unit-test: require meson 1.3.0 for relative_to calls
Meson can give the following warning:
``` WARNING: Project specifies a minimum meson_version '>=1.1.1' but uses features which were added in newer versions: * 1.3.0: {'fs.relative_to'} ```
Catch this in our CI.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I852950bfc7b02abae9d00fb5663136cfdc690736
show more ...
|
| d713349e | 24-Jul-2025 |
Ed Tanous <etanous@nvidia.com> |
Move clang builds to use lld
Clang builds are currently complaining about a missing LLVMGold plugin. ``` /usr/bin/ld: /usr/lib/llvm-20/bin/../lib/LLVMgold.so: error loading plugin: /usr/lib/llvm-20/
Move clang builds to use lld
Clang builds are currently complaining about a missing LLVMGold plugin. ``` /usr/bin/ld: /usr/lib/llvm-20/bin/../lib/LLVMgold.so: error loading plugin: /usr/lib/llvm-20/bin/../lib/LLVMgold.so: cannot open shared object file: No such file or directory ```
In the past this was because the plugin got moved into an llvm-linkers apt package unintentionally. The move to the new ubuntu seems to have forced this to be a problem again, and adding the llvm-linkers package doesn't fix it like it had in the past.
While compiling with clang and linking with ld should work fine, it's likely simpler to run the whole llvm toolchain when doing clang builds. Therefore, move meson clang builds to LLD.
Change-Id: Ibf952a31695061a958cb437d74ea4b264ce96aaa Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
| e4b761fe | 23-Jul-2025 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: update dependencies to match Yocto
Update a number of the dependency packages to ensure they match the version utilized in Yocto.
Signed-off-by: Patrick Williams <patrick@st
build-unit-test-docker: update dependencies to match Yocto
Update a number of the dependency packages to ensure they match the version utilized in Yocto.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ida0ef9fea95695c47d0e026ec66fd6d4eb1f53d5
show more ...
|
| bcc78d3b | 23-Jul-2025 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: update meson to 1.8.2
openbmc is currently on meson 1.8.0, but meson 1.8.2 is out and the next yocto import will use that. Go ahead and do the minor update now.
OptionStore
build-unit-test-docker: update meson to 1.8.2
openbmc is currently on meson 1.8.0, but meson 1.8.2 is out and the next yocto import will use that. Go ahead and do the minor update now.
OptionStore now requires an `is_cross` argument; set it to false.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ie6a3169b79d0dbb22e7f45cf06e883b6ad88b3dc
show more ...
|
| ea1bfb27 | 23-Jul-2025 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: update gcc to 15
Update to GCC-15 to match Yocto.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Id971752edf536987ef2239d9d6aa45deb4d8ccc8 |
| 6b14190f | 23-Jul-2025 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: upgrade to ubuntu plucky
GCC-15 does not exist in previous ubuntu versions. Update to plucky so that we can get GCC-15 pulled in, which is what is used on the latest Yocto.
build-unit-test-docker: upgrade to ubuntu plucky
GCC-15 does not exist in previous ubuntu versions. Update to plucky so that we can get GCC-15 pulled in, which is what is used on the latest Yocto.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I7c9e7b8bae9dc81ffa2b868d2921bb6f972d5ecd
show more ...
|
| 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 ...
|