f7381ad6 | 14-Oct-2024 |
Arya K Padman <aryakpadman@gmail.com> |
build-unit-test-docker: Add 'isoduration' to support ISO 8601 duration
As per the proposed design for syncing data to the redundant BMC, time intervals need to be specified in seconds, minutes, or h
build-unit-test-docker: Add 'isoduration' to support ISO 8601 duration
As per the proposed design for syncing data to the redundant BMC, time intervals need to be specified in seconds, minutes, or hours. For more details, refer to the design document: https://gerrit.openbmc.org/c/openbmc/docs/+/71039/4/designs/ redundant_bmc_data_synchronization.md#157
The JSON doesn't have a in-built infrastructure to represent time intervals in seconds,minutes etc. So the schema draft 2019-09 supports format where time intervals can be represented in ISO 8601 duration format.
Refer #built-in-formats : https://json-schema.org/understanding-json-schema/reference/string
But for parsing and validating the same it requires an additional python package called `isoduration`.
Refer #validating-formats : https://python-jsonschema.readthedocs.io/en/latest/validate/
The change installs the python package `isoduration` to the docker to enable the support of ISO 8601 duration formats in JSON and schema files.
Change-Id: I5489aa21118fa8852ed22f40570c2b77c00951e3 Signed-off-by: Arya K Padman <aryakpadman@gmail.com>
show more ...
|
353aa069 | 28-Nov-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
build-unit-test-docker: Temporarily drop libpldm test configuration
The series at [1] switches libpldm's 'test' option type from feature to boolean. Avoid the container build error in the interim by
build-unit-test-docker: Temporarily drop libpldm test configuration
The series at [1] switches libpldm's 'test' option type from feature to boolean. Avoid the container build error in the interim by not disabling the build of the tests, however, in doing so, ensure that the test build dependencies are available to meson. The change implements the latter by allowing the gtest and gmock wraps to download their sources during the build.
The holistic approach of this patch is a compromise against the effort required to allow type detection for meson flags, like we do in scripts/ unit-test.py. That code could be made common, however the work is a bunch of refactoring that ultimately loses value once the patch to change the test option type to boolean is merged in libpldm. Once the patch is merged, we can drop `--wrap-mode=default` and introduce `-Dtests=false` as the replacement for `-Dtests=disabled`.
[1]: https://gerrit.openbmc.org/q/topic:%22options-rework%22+repo:openbmc/libpldm
Change-Id: I51e51c75603db613aac3bd11c719def4b7e23561 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
b2438913 | 28-Nov-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
build-unit-test-docker: Drop libpldm oem-ibm option
The OEM extensions are built by default, so there's no immediate need to specify the option. Further, the structure of the libpldm meson options i
build-unit-test-docker: Drop libpldm oem-ibm option
The OEM extensions are built by default, so there's no immediate need to specify the option. Further, the structure of the libpldm meson options is changing with the series at [1], so dodge the associated errors for now.
[1]: https://gerrit.openbmc.org/q/topic:%22options-rework%22+repo:openbmc/libpldm
Change-Id: Id45be82115f93758e96f5d23ca103ff8915ab061 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
fb45daa4 | 09-Oct-2024 |
Andrew Geissler <geissonator@yahoo.com> |
make aws default docker registry in remaining scripts
AWS has much better anonymous pull request limits (1 per second) vs docker hub which is 100 per 6 hours per IP address. A lot of our CI and deve
make aws default docker registry in remaining scripts
AWS has much better anonymous pull request limits (1 per second) vs docker hub which is 100 per 6 hours per IP address. A lot of our CI and development occurs on shared systems so it's easy to exceed this limit on an IP basis.
Tested: - Verified no setting for DOCKER_REG and a setting of docker.io work as expected within these scripts
Change-Id: Ic5cb5ee07ee83567b6cf26754b6d1045025bdd65 Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
show more ...
|
23ec3323 | 02-Oct-2024 |
Andrew Geissler <geissonator@yahoo.com> |
build-unit-test-docker: make aws default docker registry
AWS has much better anonymous pull request limits (1 per second) vs docker hub which is 100 per 6 hours per IP address. A lot of our CI and d
build-unit-test-docker: make aws default docker registry
AWS has much better anonymous pull request limits (1 per second) vs docker hub which is 100 per 6 hours per IP address. A lot of our CI and development occurs on shared systems so it's easy to exceed this limit on an IP basis.
Tested: - Verified no setting for DOCKER_REG and a setting of docker.io work as expected
Change-Id: I7fb220b2541ccb1b65fa74b8638c0258a84b7421 Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
show more ...
|
33aec43b | 09-Oct-2024 |
Johnathan Mantey <johnathanx.mantey@intel.com> |
Ensure address sanitize operation builds all components
The 'meson configure' call designed to enable address sanitize checks, under some circumstances, prevents shared objects supplied from subproj
Ensure address sanitize operation builds all components
The 'meson configure' call designed to enable address sanitize checks, under some circumstances, prevents shared objects supplied from subprojects from being rebuilt.
Using a 'setup reconfigure' operation allows the shared libraries to be built for the address sanitization phase. Instead of receiving segmentation faults for missing libraries, the tests run to completion.
Tested: Ran the CI script w/o these changes and saw the sanitize portion fail due to missing libraries. Installed the changes, and the CI script passed the sanitize section because the shared libraries were built.
Change-Id: I60fef2518ec13ffbcc615e55f8f446cf92f4dd0a Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>
show more ...
|
b80ea07b | 07-Oct-2024 |
Andrew Geissler <geissonator@yahoo.com> |
provide docker registry override in remaining scripts
As done with fe2768c73, provide a mechanism to override the docker registry used for our remaining docker scripts.
docker.io continues to tight
provide docker registry override in remaining scripts
As done with fe2768c73, provide a mechanism to override the docker registry used for our remaining docker scripts.
docker.io continues to tighten control[1] on access to its registry. Provide a mechanism within this script to utilize a different registry for the base ubuntu image.
[1]: https://www.docker.com/blog/november-2024-updated-plans-announcement/
Tested: - Confirmed script defaults still works as expected - Confirmed the following also works now: export DOCKER_REG=public.ecr.aws/ubuntu - Confirmed where applicable that this also works(fedora): export DOCKER_REG=public.ecr.aws/docker/library
Change-Id: Ib237183fb9f27573643783b3988cb00614749f4c Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
show more ...
|
9096c694 | 02-Oct-2024 |
Andrew Geissler <geissonator@yahoo.com> |
docker: remove architecture checks
Docker containers now handle this under the covers when you pull a container.
Change-Id: If0062f68c53ca79735dd841ae06236c34911e081 Signed-off-by: Andrew Geissler
docker: remove architecture checks
Docker containers now handle this under the covers when you pull a container.
Change-Id: If0062f68c53ca79735dd841ae06236c34911e081 Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
show more ...
|
fe2768c7 | 02-Oct-2024 |
Andrew Geissler <geissonator@yahoo.com> |
build-unit-test-docker: provide docker registry override
docker.io continues to tighten control[1] on access to its registry. Provide a mechanism within this script to utilize a different registry f
build-unit-test-docker: provide docker registry override
docker.io continues to tighten control[1] on access to its registry. Provide a mechanism within this script to utilize a different registry for the base ubuntu image.
[1]: https://www.docker.com/blog/november-2024-updated-plans-announcement/
Tested: - Confirmed script default still works as expected - Confirmed the following also works now: export DOCKER_REG=public.ecr.aws/ubuntu
Change-Id: I4e8251653003cfac514905f2d2a5e8787b8ec06a Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
show more ...
|
64fb4dba | 02-Oct-2024 |
Andrew Geissler <geissonator@yahoo.com> |
build-unit-test-docker: remove architecture checks
Docker containers now handle this under the covers when you pull a container.
Tested: - Confirmed ubuntu:latest works on ppc64le
Change-Id: Ic757
build-unit-test-docker: remove architecture checks
Docker containers now handle this under the covers when you pull a container.
Tested: - Confirmed ubuntu:latest works on ppc64le
Change-Id: Ic757d8317cb541e63fd51b29f5fdf4616d71797b Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
show more ...
|
c7bc4d1d | 04-Oct-2024 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: add cjson for skeleton
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Id70c0c648e53f3c945b953ca1edb63fff152f559 |
b4eec87b | 04-Oct-2024 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: add glib-2.0 for skeleton
openbmc/skeleton current needs glib-2.0 to build. Add it to the docker config.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I63a
build-unit-test-docker: add glib-2.0 for skeleton
openbmc/skeleton current needs glib-2.0 to build. Add it to the docker config.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I63ab9cdd4c84128fb878c6276213981660cd24bd
show more ...
|
276bd0e2 | 02-Oct-2024 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: enable topic-based testing
There are cases when a phosphor-dbus-interfaces change is necessary before (or at the same time) as a commit in another repository. Maintainers wil
build-unit-test-docker: enable topic-based testing
There are cases when a phosphor-dbus-interfaces change is necessary before (or at the same time) as a commit in another repository. Maintainers will sometimes ignore review of a commit with failing CI which prevents getting feedback necessary for the reviewer to move forward with the entire set of changes. Enable topic-based testing in CI, which will prime the Docker container dependencies from a topic on Gerrit.
In order to simplify this implementation and avoid having to figure out commit application order (potentially across splits in the Git tree), the topic must only have one commit from each repository.
Tested:
Confirmed both phosphor-dbus-interfaces and phosphor-logging selected commits from the topic when building the Docker container with: ``` $ GERRIT_TOPIC=logging-create-with-path scripts/build-unit-test-docker ```
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I71831d992ec79a9d820456bd4a70e02d9000ebc2
show more ...
|
d40ad0be | 30-Sep-2024 |
Johnathan Mantey <johnathanx.mantey@intel.com> |
Refresh the shared library cache after new libraries installed
The internal _test_one function installs built objects. The Meson recipes for these objects may place shared libraries into the /usr/lo
Refresh the shared library cache after new libraries installed
The internal _test_one function installs built objects. The Meson recipes for these objects may place shared libraries into the /usr/local/lib directory. When the install process completes the shared library cache becomes stale. In order for the follow up actions of test() and anaylyze() to succeed the shared library cache needs to be updated.
Tested: Invoked the CI Docker image on a project that included several subprojects. Manually invoked each script check_call_cmd action in order. Confirmed via ldd that the shared libraries were being linked from the /usr/local/lib directory instead of from the subproject directories.
Change-Id: I964508ef94f74e9d78753e38cf51b705d79a999c Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>
show more ...
|
c0fab5e2 | 09-Sep-2024 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
Use codespell's dictionary for spell checking
When we first enabled spell checking, we duplicated the dictionary file used by the kernel community and named it `openbmc-spelling.txt`. Since we added
Use codespell's dictionary for spell checking
When we first enabled spell checking, we duplicated the dictionary file used by the kernel community and named it `openbmc-spelling.txt`. Since we added the dictionary in 2021, only two changes have been made to it.
Meanwhile, the size of the kernel community’s dictionary has grown from 32 KB to 1.4 MB and is now included as part of the codespell library. As the dictionary is readily available on the system, we will now use it directly for spell checks. This offers several benefits:
1. Automatically use the latest dictionary whenever the codespell library is updated. 2. Reduce maintenance overhead and avoid data duplication.
In the future, if we need to add a word that is specific to OpenBMC, we can create a new dictionary file with just those entries and run a separate codespell check using that file.
Change-Id: I2897ab159e0a6c14480e1ee2593761ab550a19e9 Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
show more ...
|
54d01da4 | 25-Sep-2024 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: add nlohmann-json dep to sdbusplus
Pending commit[1] adds nlohmann-json usage in sdbusplus; update docker dependencies to reflect that.
[1]: https://gerrit.openbmc.org/c/ope
build-unit-test-docker: add nlohmann-json dep to sdbusplus
Pending commit[1] adds nlohmann-json usage in sdbusplus; update docker dependencies to reflect that.
[1]: https://gerrit.openbmc.org/c/openbmc/sdbusplus/+/74858
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I9027c06877c35ae9c5b130d1ce0bec881060b5d7
show more ...
|
22de2380 | 09-Sep-2024 |
George Keishing <gkeishin@in.ibm.com> |
Update robot framework version
Change: - Update robot version from 7.0 to 7.0.1 for more robot fixes.
Tested: - Tested on sandbox
Change-Id: Ib114d58f600a99c74dc6cf2cb0177edadb19dfa2
Update robot framework version
Change: - Update robot version from 7.0 to 7.0.1 for more robot fixes.
Tested: - Tested on sandbox
Change-Id: Ib114d58f600a99c74dc6cf2cb0177edadb19dfa2 Signed-off-by: George Keishing <gkeishin@in.ibm.com>
show more ...
|
1680cdaa | 05-Sep-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
test-qemu: Use romulus instead of witherspoon for AST2500
Witherspoon's UBI support seems to be broken. However, Romulus is also used by CI as a smoke test, so it makes sense to check that anyway.
test-qemu: Use romulus instead of witherspoon for AST2500
Witherspoon's UBI support seems to be broken. However, Romulus is also used by CI as a smoke test, so it makes sense to check that anyway.
Change-Id: I4c20f1e800b43ff5614cb34388149657529a5130 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
d11e9c75 | 17-Aug-2024 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: update googletest
Googletest 1.14 has issues with clang-18. Update to 1.15.2 which seems to no longer have the issues.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> C
build-unit-test-docker: update googletest
Googletest 1.14 has issues with clang-18. Update to 1.15.2 which seems to no longer have the issues.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ic31cd021ea17ba6d1a9f81399f8deaa86bdb5900
show more ...
|
6968e83e | 16-Aug-2024 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: use LLVM APT repos
The latest version of clang-18 from ubuntu's apt is 18.1.3, but the latest stable release is 18.1.8. These two versions have different output on some repo
build-unit-test-docker: use LLVM APT repos
The latest version of clang-18 from ubuntu's apt is 18.1.3, but the latest stable release is 18.1.8. These two versions have different output on some repositories when using clang-format. Switch to using the apt.llvm.org packages so we get the latest stable versions.
The LLVM apt install tool needed a few additional packages to be installed, so add those to the base apt-get.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I139cb040b95793ef8e7034d49296a2a5ea3bbac3
show more ...
|
b84e29c0 | 22-Feb-2024 |
Ed Tanous <ed@tanous.net> |
build-unit-test-docker: update to clang-18
Update the CI docker container to use clang-18.
Change-Id: Iea0776aaa7edd483fa395e23de25ebf5a6288f71 Signed-off-by: Ed Tanous <ed@tanous.net> Signed-off-b
build-unit-test-docker: update to clang-18
Update the CI docker container to use clang-18.
Change-Id: Iea0776aaa7edd483fa395e23de25ebf5a6288f71 Signed-off-by: Ed Tanous <ed@tanous.net> Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
889ac26a | 06-Aug-2024 |
George Liu <liuxiwei@ieisystem.com> |
UT: disable code coverage support for autotools
Since lcov was removed in the previous commit [1], CI script execution failed to support autotools projects (such as libmctp): ``` checking for genhtm
UT: disable code coverage support for autotools
Since lcov was removed in the previous commit [1], CI script execution failed to support autotools projects (such as libmctp): ``` checking for genhtml... no configure: error: To enable code coverage reporting you must have lcov installed ```
This commit only disables code coverage support for autotools-based projects.
Refer: https://github.com/openbmc/openbmc-build-scripts/issues/37
[1]: https://gerrit.openbmc.org/c/openbmc/openbmc-build-scripts/+/72544
Signed-off-by: George Liu <liuxiwei@ieisystem.com> Change-Id: Ib62a5f3092d8c6933f3b9ca00d08dbb38d91ce3a
show more ...
|
618b5231 | 13-Jul-2024 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: remove old dependencies
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I433fa21559a54684992eed92fc4ac8b69d66092e |
04770ccd | 18-Jun-2024 |
Michal Orzel <michalx.orzel@intel.com> |
unit-test: Support for valgrind on boost
When UTs, which are run under valgrind, utilize boost coroutines, there might occur errors during stack switching. Boost has prepared an option to suppress t
unit-test: Support for valgrind on boost
When UTs, which are run under valgrind, utilize boost coroutines, there might occur errors during stack switching. Boost has prepared an option to suppress these errors with build option `valgrind=on`, combined with compile flag `BOOST_USE_VALGRIND` [1]. This patch implements these options into boost package and CMake/Meson project configurations.
Tested: On a change where CI are failing due to valgrind errors [2]. When using container from this patch, these errors stop appearing and CI ends with success.
[1] https://www.boost.org/doc/libs/1_82_0/libs/context/doc/html/context/stack/valgrind.html [2] https://gerrit.openbmc.org/c/openbmc/jsnbd/+/59600/11
Change-Id: I183eaf7c15ac9cc2799f446fe7fb933d957fac21 Signed-off-by: Michal Orzel <michalx.orzel@intel.com>
show more ...
|
2d8c551f | 02-Jul-2024 |
Ewelina Walkusz <ewelinax.walkusz@intel.com> |
build-unit-test-docker: Replace lcov with gcovr
Resolves openbmc/openbmc-build-scripts#37
Tested: run-unit-test-docker.sh runs correctly and coverage report generated by gcovr is present
Change-Id
build-unit-test-docker: Replace lcov with gcovr
Resolves openbmc/openbmc-build-scripts#37
Tested: run-unit-test-docker.sh runs correctly and coverage report generated by gcovr is present
Change-Id: I60134758477cb8f2f5deb94c26eca515d48199f2 Signed-off-by: Ewelina Walkusz <ewelinax.walkusz@intel.com>
show more ...
|