At present there are several things in the gitlab, travis and azure
scripts which work around limitations in buildman. With a few small
feature additions these can be removed.
This series adds some new features to buildman and simplifies the script:
- Option to run a single build in a specified output directory
- Allow ignoring warnings
- Removes a restriction on the build output directory
It also
- adds a way for test.py to use buildman for the --build option
- makes one change to azure since the same approach should be possible there
- fixes a few minor problems noticed in main and sandbox docs
- removes the -a buildman flag which serves no purpose
Note: I tested that this works OK on travis, gitlab and azure:
https://travis-ci.org/github/sglass68/u-boot/builds/662740008
https://gitlab.denx.de/u-boot/custodians/u-boot-dm/pipelines/2435
https://dev.azure.com/simon0972/u-boot/_build/results?buildId=3&view=results
There is something funny about azure - the test called
"Run binman, buildman, dtoc and patman testsuites" fails the 'buildman -t'
test but azure reports success.
Changes in v2:
- Add Fixes tag
- Add a comment about the obscure bash feature
- Add a new patch to avoid copying files into .bm-work/
- Add a new patch to drop the -a option
- Add a new patch to split travis building into two parts
- Add new patch to drop the repeated buildman call
- Convert this into an option, leaving the default as is
- Just drop the -E flag
- Leave in the repeated call to buildman
- Reword the commit message for clarity
- Update azure also
- Update travis, azure also
Simon Glass (23):
sandbox: Add documentation about required/useful packages
main: Drop show_boot_progress() prototype
buildman: Document the members of BuilderJob
bulidman: Add support for a simple build
buildman: Update help for -d
buildman: Allow ignoring warnings in the return code
buildman: Be more selective about which directories to remove
buildman: Allow building within a subdir of the current dir
buildman: Drop the -a option
travis: Don't copy files into .bm-work/
travis: Split the building into two parts
gitlab/azure: Use the -w option for sandbox_spl
travis/gitlab/azure: Use --board buildman flag with test.py
travis/gitlab/azure: Drop BUILDMAN variable with test.py
travis/gitlab/azure: Drop the buildman -d flag
gitlab/azure: Drop unnecessary if..fi when using test.py
gitlab/azure: Use -w flag for all test.py builds
travis/gitlab/azure: Use bash to avoid a_test_which_does_not_exist
travis/gitlab/azure: Drop the -E flag
travis/gitlab/azure: Enable test_handoff
travis/gitlab/azure: Simplify the exit code for test.py
travis/gitlab/azure: Drop repeated buildman call with test.py
test/py: Allow using buildman to build U-Boot
.azure-pipelines.yml | 54 ++++-----------------
.gitlab-ci.yml | 85 ++++++++++-----------------------
.travis.yml | 63 ++++++++----------------
common/main.c | 5 --
doc/arch/sandbox.rst | 10 ++++
test/py/README.md | 13 ++++-
test/py/conftest.py | 30 ++++++++----
tools/buildman/README | 13 ++++-
tools/buildman/builder.py | 51 +++++++++++++++-----
tools/buildman/builderthread.py | 34 +++++++++----
tools/buildman/cmdline.py | 8 ++--
tools/buildman/control.py | 52 +++++++-------------
tools/buildman/func_test.py | 46 +++++++++++++-----
tools/buildman/test.py | 20 ++++++++
14 files changed, 248 insertions(+), 236 deletions(-)