History log of /openbmc/openbmc-build-scripts/ (Results 76 – 100 of 974)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
34b4f1cb19-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 ...

8bf1ecd716-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 ...

fdfd8d4815-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 ...

bf83a1b315-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 ...

88dd792902-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 ...

abb106a904-Apr-2024 Ed Tanous <ed@tanous.net>

Update nghttp2 1.57->1.61

Change-Id: I8491dd58fb4f197c127624119a67ee0814363935
Signed-off-by: Ed Tanous <ed@tanous.net>

f9df2daf08-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 ...

ac912df801-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 ...

25ba1e2f24-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 ...

176b9eba11-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 ...

2b2f4f1711-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>

3eafe34714-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 ...

ab4fee8331-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 ...

83d69a2a24-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 ...

7cb6995717-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 ...

308091da12-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 ...

7d88622f12-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 ...

1d5e00de11-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 ...

7c95a37c05-Jan-2024 Patrick Williams <patrick@stwcx.xyz>

build-unit-test-docker: ubuntu: switch to noble numbat

The clang-17 package in manic is pinned back at 17.0.2, while the latest
release is 17.0.6. There are some subtle bug fixes around type parsin

build-unit-test-docker: ubuntu: switch to noble numbat

The clang-17 package in manic is pinned back at 17.0.2, while the latest
release is 17.0.6. There are some subtle bug fixes around type parsing,
which are especially useful for clang-format. Upgrade the distro so we
can get these fixes.

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I53dce7c01bc04cbff193fd660984f2eb985be91a

show more ...

05806f5e07-Jan-2024 Andrew Geissler <geissonator@yahoo.com>

boost: move to 1.84.0

Change-Id: I68100ca862c86324297fd46f3254674ec7a4fe41
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>

38b4687007-Jan-2024 Andrew Geissler <geissonator@yahoo.com>

boost: move download to github

Boost is having significant issues hosting on jfrog. Move to github. The
current patch is not applying cleanly so remove that until we can figure
it out. Getting most

boost: move download to github

Boost is having significant issues hosting on jfrog. Move to github. The
current patch is not applying cleanly so remove that until we can figure
it out. Getting most repos to build is better then none at this point
(the patch was for bmcweb)

https://lists.boost.org/Archives/boost/2024/01/255654.php

Change-Id: I594eac7666f96a7ec7f6991270d140357cf43aaf
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>

show more ...

910732cd02-Jan-2024 Ed Tanous <ed@tanous.net>

Run commit checkers in CI

71b73249a30d589c97e15b387d4a18e8e6b795a9 Made the change that
format-code is only run on repos that have the appropriate files.
Because commit messages don't have a "file"

Run commit checkers in CI

71b73249a30d589c97e15b387d4a18e8e6b795a9 Made the change that
format-code is only run on repos that have the appropriate files.
Because commit messages don't have a "file" in the normal sense,
.git/COMMIT_EDITMSG was used instead. While this buffer file contains
the last commit message that was written, it only works on repos that
have had a commit done on them. For developers, this gives the expected
result, where commit message tools are run. For CI, where the repos
never had a commit message interaction, this leads to the commit message
runners never being run.

This commit moves the file check to .git (ie, that this is a git repo)
which should match everything. This was arguably better than adding a
"run all the time" mechanism specific to commit messages.

Tested:
Removing .git/COMMIT_EDITMSG on master and running a build shows commit
checks not run when run against master.

Running format-code.sh against this patch now shows commit tools run in
all cases.

Signed-off-by: Ed Tanous <ed@tanous.net>
Change-Id: Ia596689b2ba220fc1dd17b713143ffc3fc96364f

show more ...

0b1b8ecb25-Dec-2023 Patrick Williams <patrick@stwcx.xyz>

format-code: revert inadvertent changes

This partially reverts commit 2612b36b4cdeeb143b6d2cc9ef14dfc84f492ba5.

Some changes got merged in unintentionally that disabled big portions of
the format t

format-code: revert inadvertent changes

This partially reverts commit 2612b36b4cdeeb143b6d2cc9ef14dfc84f492ba5.

Some changes got merged in unintentionally that disabled big portions of
the format tool. Reset those back to the previous state.

Change-Id: I47f0094ecec0ed670944736fe8f56a4084594d07

show more ...

2612b36b21-Dec-2023 Andrew Jeffery <andrew@aj.id.au>

OWNERS: Update Andrew's preferred email

We're having some grief with non-preferred emails in Gerrit[1]. I now
prefer project-related content goes to my work email address, so use my
non-preferred em

OWNERS: Update Andrew's preferred email

We're having some grief with non-preferred emails in Gerrit[1]. I now
prefer project-related content goes to my work email address, so use my
non-preferred email to implement the switch.

[1]: https://issues.gerritcodereview.com/issues/317345953

Change-Id: I1e17c560fd170304229c634f560dec59528e6e41
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>

show more ...

ac9c9c7307-Dec-2023 Lei YU <yulei.sh@bytedance.com>

unit-test: meson: Use clang-tidy-fix

In meson 1.3.0 `clang-tidy-fix` target is added if `.clang-tidy` file
exists. This could be used to run clang-tidy with the fixes applied to
the source code.

Ch

unit-test: meson: Use clang-tidy-fix

In meson 1.3.0 `clang-tidy-fix` target is added if `.clang-tidy` file
exists. This could be used to run clang-tidy with the fixes applied to
the source code.

Change the unit-test script to use `clang-tidy-fix` for meson projects.

Tested: Manually verify in a meson proejct that the `clang-tidy` check
fixes the code if issues are found.

Signed-off-by: Lei YU <yulei.sh@bytedance.com>
Change-Id: Ic6e1c6253b7fba075c26d9aad607854b49be9b23

show more ...

12345678910>>...39