effe5080 | 05-Jun-2024 |
George Keishing <gkeishin@in.ibm.com> |
Robot Framework 7.0 changes for HW CI build script
Changes: - Update robot package version to 7.0
Tested: - Tested on sandbox. - Tested on jenkins setup for HW CI
Change-Id: Ie51df
Robot Framework 7.0 changes for HW CI build script
Changes: - Update robot package version to 7.0
Tested: - Tested on sandbox. - Tested on jenkins setup for HW CI
Change-Id: Ie51df09dc11585c91856eadc2dba05b09e11543c Signed-off-by: George Keishing <gkeishin@in.ibm.com>
show more ...
|
a6ebc6e2 | 17-Jun-2024 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
Fix spelling mistakes using codespell
This commit corrects various spelling mistakes throughout the repository. The corrections were made automatically using `codespell`[1] tool.
[1]: https://githu
Fix spelling mistakes using codespell
This commit corrects various spelling mistakes throughout the repository. The corrections were made automatically using `codespell`[1] tool.
[1]: https://github.com/codespell-project/codespell
Change-Id: Ia6b70713d3e9b77d6fd2d9400489ef7f02360364 Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
show more ...
|
f3d27e64 | 09-Apr-2024 |
Andrew Geissler <geissonator@yahoo.com> |
build-unit-test-docker: ensure we stop on first branch
Ran into an issue where we were creating our root branch (i.e. 1110) and then creating some snapshot branches (i.e. 1110-snapshot-xyz). The scr
build-unit-test-docker: ensure we stop on first branch
Ran into an issue where we were creating our root branch (i.e. 1110) and then creating some snapshot branches (i.e. 1110-snapshot-xyz). The script would end up using that snapshot branch.
Lots of potential discussion to be had on our branch creations decisions but either way, best to make sure we match with the exact branch being passed in.
Tested: - Confirmed over in ibm-openbmc/openbmc that we pick up expected branches now.
Change-Id: I71099f42ca40bfd9fe719a550349eba82000133d Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
show more ...
|
8dd1bfe6 | 27-May-2024 |
Ewelina Walkusz <ewelinax.walkusz@intel.com> |
build-unit-test-docker: Add socat
Adding possibility to use socat in the SSH configuration.
Resolves openbmc/openbmc-build-scripts#36
Tested: run-unit-test-docker.sh runs with EXTRA_DOCKER_RUN_ARG
build-unit-test-docker: Add socat
Adding possibility to use socat in the SSH configuration.
Resolves openbmc/openbmc-build-scripts#36
Tested: run-unit-test-docker.sh runs with EXTRA_DOCKER_RUN_ARGS= "-v /home/user/.gitconfig:/home/user/.gitconfig -v /home/user/.ssh:/home/user/.ssh"
Change-Id: I45e9279c5e3bd3bfc59113bc41ba2abfd7eb1bfa Signed-off-by: Ewelina Walkusz <ewelinax.walkusz@intel.com>
show more ...
|
d0757dea | 27-May-2024 |
Xinnan Xie <xiexinnan@bytedance.com> |
build-unit-test-docker: eslint-plugin-json: pin to v3.1.0
The new v4.0.0 release does not work with an error like this: ``` Error: ESLint configuration in --config » plugin:json/recommended-with-com
build-unit-test-docker: eslint-plugin-json: pin to v3.1.0
The new v4.0.0 release does not work with an error like this: ``` Error: ESLint configuration in --config » plugin:json/recommended-with-comments is invalid: - Unexpected top-level property "files". ``` Pin eslint-plugin-json to v3.1.0 to solve this.
Change-Id: I773c9c0bda3b87cca92e69089ea37fb20f563ab9 Signed-off-by: Xinnan Xie <xiexinnan@bytedance.com>
show more ...
|
3adf1a3b | 22-May-2024 |
Andrew Geissler <geissonator@yahoo.com> |
build-setup.sh: only delete ubuntu user when present
A previous commit (58ad8018e), added code to delete the new "ubuntu" user in the more recent ubuntu distributions. Unfortunately that introduces
build-setup.sh: only delete ubuntu user when present
A previous commit (58ad8018e), added code to delete the new "ubuntu" user in the more recent ubuntu distributions. Unfortunately that introduces an issue if someone is using an older ubuntu distribution. The new "ubuntu" user is not present so the delete command fails: ``` "userdel: user 'ubuntu' does not exist" ```
Only delete the user if it's present in the image.
Tested: - Confirmed script works on old and new ubuntu containers
Change-Id: I9ea89cd82d7ae6d71271ec59aac8cdf98bfca7c2 Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
show more ...
|
58ad8018 | 21-May-2024 |
Andrew Geissler <geissonator@yahoo.com> |
build-setup.sh: remove new default ubuntu user
If the user running build-setup.sh happens to have a UID of 1000 (which is the case in a lot of dedicated CI machines) then it will no longer be able t
build-setup.sh: remove new default ubuntu user
If the user running build-setup.sh happens to have a UID of 1000 (which is the case in a lot of dedicated CI machines) then it will no longer be able to build OpenBMC using the latest Ubuntu containers due to a new default "ubuntu" user being added to the images.
It will get the following error when trying to start the container: ``` useradd: UID 1000 is not unique ```
This new "feature" is documented up here: https://bugs.launchpad.net/cloud-images/+bug/2005129
This change utilizes the solution put forth by the bug owner of just deleting the new default user. It does result in the following harmless warning: ``` userdel: ubuntu mail spool (/var/mail/ubuntu) not found ```
A different solution was chosen in 67cc06169 but it's not working in this sh script so stick to the simple solution here.
Tested: - Confirmed build-setup.sh runs again with users that have a UID of 1000
Change-Id: I3f8c691fad2778a17e23c2d4e45eb86af7a78556 Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
show more ...
|
34b4f1cb | 19-May-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
scripts: unit-test: Make valgrind exit failure on error
By default valgrind exits with the exit status of the process under examination. From the manual[1]:
> --error-exitcode=<number> [default: 0
scripts: unit-test: Make valgrind exit failure on error
By default valgrind exits with the exit status of the process under examination. From the manual[1]:
> --error-exitcode=<number> [default: 0] > > Specifies an alternative exit code to return if Valgrind reported any > errors in the run. When set to the default value (zero), the return > value from Valgrind will always be the return value of the process > being simulated. When set to a nonzero value, that value is returned > instead, if Valgrind detects any errors. This is useful for using > Valgrind as part of an automated test suite, since it makes it easy > to detect test cases for which Valgrind has reported errors, just > by inspecting return codes. When set to a nonzero value and Valgrind > detects no error, the return value of Valgrind will be the return > value of the program being simulated.
[1]: https://valgrind.org/docs/manual/manual-core.html#manual-core.options
The default value of 0 is not actually useful for CI, where we want it to bubble up a failure if poor behavior is detected.
Change-Id: I6e7c56b9ccee5c8f9c5234df19ab84009868ff88 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
8bf1ecd7 | 16-May-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
scripts: unit-test: Constrain test setups to current project
self.package now reflects the top-level meson project name. Using this, prevent incorrect propagation of configuration into subprojects u
scripts: unit-test: Constrain test setups to current project
self.package now reflects the top-level meson project name. Using this, prevent incorrect propagation of configuration into subprojects using the usual meson scope syntax.
Further, now that we're using the scope syntax, meson outputs a different error message:
``` $ meson test --setup=stdplus:__likely_not_a_setup__ -C build __likely_not_a_test__ Unknown test setup 'stdplus:__likely_not_a_setup__'. ```
Adjust the regex that performs the setup error test.
Change-Id: Ia15c0406323f025fff318cb1c1e4a92605d19c96 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
fdfd8d48 | 15-May-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
scripts: unit-test: Replace outdated timeout logic
Back in 2019 William added a new code-path for exploiting a meson project's 'valgrind' test setup, if one existed[1]:
[1]: https://github.com/open
scripts: unit-test: Replace outdated timeout logic
Back in 2019 William added a new code-path for exploiting a meson project's 'valgrind' test setup, if one existed[1]:
[1]: https://github.com/openbmc/openbmc-build-scripts/commit/49d4e594e8959cd8764
At the time, the behavior of `meson test -t 0 ...` was to immediately terminate. This was useful in the context of testing whether a project provided the a particular test setup, as we could invoke `meson test -t 0 --setup=<name>` without any significant impact on CI execution time.
However, as of meson 0.57.0 the behavior of `meson test -t 0` changed[2]:
> test() timeout and timeout_multiplier value <= 0 > > test(..., timeout: 0), or negative value, used to abort the test > immediately but now instead allow infinite duration. Note that > omitting the timeout keyword argument still defaults to 30s timeout. > > Likewise, add_test_setup(..., timeout_multiplier: 0), or meson test > --timeout-multiplier 0, or negative value, disable tests timeout.
[2]: https://mesonbuild.com/Release-notes-for-0-57-0.html#test-timeout-and-timeout_multiplier-value-0
The consequence of the change is that the test for the existence of the named setup in the project now executes the test suite with timeouts disabled when the named setup is provided by the project at hand.
Further, having established that the named setup is supported by the project, the script then executes the test suite _again_[^1].
A useful observation at this point is the the output from the following set of commands, using stdplus[3] as an example:
``` $ meson test --setup=__likely_not_a_setup__ -C build __likely_not_a_test__ Test setup '__likely_not_a_setup__' not found from project 'stdplus'. $ meson test --setup=valgrind -C build __likely_not_a_test__ ERROR: *:__likely_not_a_test__ test name does not match any test ```
[3]: https://github.com/openbmc/stdplus
Using an unlikely test name we make it likely that we error out in the case where the named test setup is supported by the project. We use this as a substitute for the old behavior of `-t 0`.
[^1]: Though at least it sets a timeout multiplier of 10, rather than disabling the timeout.
Tested: Ran the CI container against:
- entity-manager, which does not define a 'valgrind' test setup - stdplus, which does define a 'valgrind' test setup
Verified that `meson test` was invoked with `--wrapper valgrind` for entity-manager, and `--setup valgrind` for stdplus.
Change-Id: I78090716dd2842e6f4485a69f353d15ca11b62d1 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
bf83a1b3 | 15-May-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
scripts: unit-test: Derive package name from meson.build
The implementation for package name derivation implemented in BuildSystem.__init__() simply takes the basename of the directory containing th
scripts: unit-test: Derive package name from meson.build
The implementation for package name derivation implemented in BuildSystem.__init__() simply takes the basename of the directory containing the source code if another name isn't supplied.
For meson builds we can make a smarter choice, and the result is that we can lift the requirement that the directory be named after the project. This is helpful for some workflows where the CI container is run locally.
By introspecting the build configuration we can extract the meson project name. Defining the package name as the project name is useful for meson command invocations. For example, the project name can be used to specify constraints on build variables (`-D<project>:werror=false`) and test setups (`--setup=<project>:valgrind`), preventing configuration from incorrectly propagating into other (sub)projects.
Override the package name once the build configuration is available.
Change-Id: I52dc03253a54589cba0ff2fae5ddba2a74d458ba Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
88dd7929 | 02-May-2024 |
Jonathan Doman <jonathan.doman@intel.com> |
Capture stderr from docker build
BuildKit sends build messages to stderr and python `sh` does nothing with it. Redirect stderr to our custom printer function to put everything in the same stream.
C
Capture stderr from docker build
BuildKit sends build messages to stderr and python `sh` does nothing with it. Redirect stderr to our custom printer function to put everything in the same stream.
Change-Id: Id862154be7ef845a758c5f2248f47a8c6d4de7e2 Signed-off-by: Jonathan Doman <jonathan.doman@intel.com>
show more ...
|
abb106a9 | 04-Apr-2024 |
Ed Tanous <ed@tanous.net> |
Update nghttp2 1.57->1.61
Change-Id: I8491dd58fb4f197c127624119a67ee0814363935 Signed-off-by: Ed Tanous <ed@tanous.net> |
f9df2daf | 08-Apr-2024 |
Andrew Geissler <geissonator@yahoo.com> |
build-unit-test-docker:eslint: pin to v8.56.0
The new v9.0 release change the API and our existing use of it no longer works with an error like this:
``` Invalid option '--eslintrc' - perhaps you m
build-unit-test-docker:eslint: pin to v8.56.0
The new v9.0 release change the API and our existing use of it no longer works with an error like this:
``` Invalid option '--eslintrc' - perhaps you meant '--ignore'? ```
Until we have some time to sort this out, move us back to the previous release.
Change-Id: Ieed62b82bb3870c22bb377f562fb75b148395cee Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
show more ...
|
ac912df8 | 01-Apr-2024 |
Patrick Williams <patrick@stwcx.xyz> |
jenkins: use uploader for validation
In order to determine if a user is authorized for CI, we look them up in Gerrit groups. We should use the uploader for this and not the owner, because otherwise
jenkins: use uploader for validation
In order to determine if a user is authorized for CI, we look them up in Gerrit groups. We should use the uploader for this and not the owner, because otherwise anyone with a Gerrit account could forge a patch-set that was created by an authorized committer and get Jenkins to do the testing (when it should not have been).
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I4fc8415dee35004ebb68b2aea040be27bf521168
show more ...
|
25ba1e2f | 24-Mar-2024 |
William A. Kennington III <wak@google.com> |
build-unit-test-docker: Protobuf versions should match
The python protobuf version should match the compiler and library version, or else we will run into API issues.
Change-Id: Iba9472123734cb1015
build-unit-test-docker: Protobuf versions should match
The python protobuf version should match the compiler and library version, or else we will run into API issues.
Change-Id: Iba9472123734cb1015c0d2f0dc72bd18be660355 Signed-off-by: William A. Kennington III <wak@google.com>
show more ...
|
176b9eba | 11-Mar-2024 |
Ed Tanous <ed@tanous.net> |
Remove valgrind-dbgsym
This package doesn't seem to exist anymore and results in
```base: E: Unable to locate package valgrind-dbgsym```
when trying to build.
From the ubuntu maintainers, this do
Remove valgrind-dbgsym
This package doesn't seem to exist anymore and results in
```base: E: Unable to locate package valgrind-dbgsym```
when trying to build.
From the ubuntu maintainers, this doesn't seem necessary anymore
``` If you are on Ubuntu Jammy (22.04) or later, you do not need to worry about installing debug symbol packages anymore. The Ubuntu project maintains a Debuginfod server, and GDB and other debuginfo-consumer applications support it out of the box. For more information about it, please refer to this page.
If you are on Ubuntu Noble (24.04) or later, Debuginfod is the preferred method as the following information is outdated and, due to a new format for the sources.list entries being moved to the deb822 format.
https://wiki.ubuntu.com/Debug%20Symbol%20Packages#Debuginfod ```
Change-Id: Ib7d221763b30d433c19cfad7fe3b8462ffcb7383 Signed-off-by: Ed Tanous <ed@tanous.net> Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
show more ...
|
2b2f4f17 | 11-Mar-2024 |
Andrew Geissler <geissonator@yahoo.com> |
userid-validation: add triple crown
CLA recently submitted and accepted
Change-Id: I2e29af28dc4273e5f8a95903f9145ef77c44df6c Signed-off-by: Andrew Geissler <geissonator@yahoo.com> |
3eafe347 | 14-Feb-2024 |
Rahul Maheshwari <rahulmaheshwari@in.ibm.com> |
Adding libdbus-glib-1-2 install to fix Firefox installation issue
Installing libdbus-glib-1-2 facilitates a smooth and functional Firefox experience on Linux systems. With this change robot GUI test
Adding libdbus-glib-1-2 install to fix Firefox installation issue
Installing libdbus-glib-1-2 facilitates a smooth and functional Firefox experience on Linux systems. With this change robot GUI test cases would again start working fine.
Change-Id: I808a54d75e3b6b92f284920ba2cf5fad648dee22 Signed-off-by: Rahul Maheshwari <rahulmaheshwari@in.ibm.com>
show more ...
|
ab4fee83 | 31-Jan-2024 |
Jonathan Doman <jonathan.doman@intel.com> |
build-unit-test-docker: Run ldconfig
The preinstalled packages are copied to /usr/local but ld is not aware of these libraries until ldconfig is run. This makes the container more useful for interac
build-unit-test-docker: Run ldconfig
The preinstalled packages are copied to /usr/local but ld is not aware of these libraries until ldconfig is run. This makes the container more useful for interactive use out of the box.
Tested: == Before == docker$ ldd /usr/local/lib/libboost_coroutine.so | grep 'not found' libboost_context.so.1.84.0 => not found
== After == docker$ ldd /usr/local/lib/libboost_coroutine.so | grep 'not found' docker$
Change-Id: I3f6508ad6068df03206b6c405532c0230dd95d8d Signed-off-by: Jonathan Doman <jonathan.doman@intel.com>
show more ...
|
83d69a2a | 24-Jan-2024 |
Paul Fertser <fercerpav@gmail.com> |
ci: fix gagar-in group name
The original group name gager-in had a typo so it was renamed on Gerrit and now needs to be fixed here to allow CI.
Change-Id: I3adcd8e710fe6eb3a49535f084d2e9a004aab3ff
ci: fix gagar-in group name
The original group name gager-in had a typo so it was renamed on Gerrit and now needs to be fixed here to allow CI.
Change-Id: I3adcd8e710fe6eb3a49535f084d2e9a004aab3ff Signed-off-by: Paul Fertser <fercerpav@gmail.com>
show more ...
|
7cb69957 | 17-Jan-2024 |
Andrew Geissler <geissonator@yahoo.com> |
build-qemu-robot-docker: pin robotframework to v6
A new major release of the robotframework was recently released (v7). This new release appears to not be playing well with our jenkins code update j
build-qemu-robot-docker: pin robotframework to v6
A new major release of the robotframework was recently released (v7). This new release appears to not be playing well with our jenkins code update job. The robot plugin is showing the following fail:
``` Archiving artifacts Robot results publisher started... -Parsing output xml: Done! -Copying log files to build dir: Done! -Assigning results to build: ERROR: Build step failed with exception java.lang.NullPointerException Build step 'Publish Robot Framework test results' marked build as failure ```
Until we understand this better, pin our CI to the v6 level
Change-Id: Ibe4f11a04fa8af5c435a02635916106c59419196 Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
show more ...
|
308091da | 12-Jan-2024 |
Andrew Geissler <geissonator@yahoo.com> |
userid-validation: adapt to new gerrit email permission
The latest gerrit no longer allows users without account modification permissions to look up users with secondary email addresses. So if someo
userid-validation: adapt to new gerrit email permission
The latest gerrit no longer allows users without account modification permissions to look up users with secondary email addresses. So if someone uploads a commit to gerrit using a secondary email, this script no longer can determine if they are approved.
Utilize the gerrit query command to look up the username of a commit.
Tested: - Confirmed that with this change that a previously failing autobump commit was properly given the ok-to-test +1
Change-Id: Ia44149bb4605261bb3451d4f491051df7fd0bbd4 Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
show more ...
|
7d88622f | 12-Jan-2024 |
Andrew Geissler <geissonator@yahoo.com> |
userid-validation: add Plexus to approved companies
CLA has been submitted and uploaded to google drive
Change-Id: Ic5ea03aa9373ce1479e62a464bc06f7fb1adde33 Signed-off-by: Andrew Geissler <geissona
userid-validation: add Plexus to approved companies
CLA has been submitted and uploaded to google drive
Change-Id: Ic5ea03aa9373ce1479e62a464bc06f7fb1adde33 Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
show more ...
|
1d5e00de | 11-Jan-2024 |
Jonathan Doman <jonathan.doman@intel.com> |
format-code: don't spellcheck the commit author's name
Use the git-log --format option to only dump the "raw body (unwrapped subject and body)", and omit the "commit"/"Author:"/"Date:" lines which c
format-code: don't spellcheck the commit author's name
Use the git-log --format option to only dump the "raw body (unwrapped subject and body)", and omit the "commit"/"Author:"/"Date:" lines which can trigger false positives.
Tested: `format-code.sh --enable commit_spelling` doesn't reject my commits :)
Change-Id: Ic03c1c9703a91dab9f268f5f7bbca29cabeeb067 Signed-off-by: Jonathan Doman <jonathan.doman@intel.com>
show more ...
|