classes: add new retain class for retaining build results

Add a fairly simple class to tar up the work directory on task failure
to a configurable location - useful when the build environment is
ephemeral (e.g. an autobuilder/build pipeline). The directories that
are retained can be configured, and you can also choose to save
directories on every build as well if desired.

[This is a significant reworking of a prototype I sent as an RFC back
in 2020 (AKA "workdir_save"). Changes since then include deferring
tarball creation until the end, more config flexibility, and the
addition of test cases.]


Changes since v1:
* Use ;prefix= instead of : to specify tarball prefix, to be consistent
  with other similar usages and avoid potential confusion with overrides
* Use prefix of "workdir" for default work directory tarballs
* Fix dir name within tarball to not have .tar.gz extension
* oe-selftest: fix test_retain_misc to be deterministic (should solve
  failures seen on the autobuilder) and tweak tests for robustness in a
  few places
* oe-selftest: add detail to failure messages in test_retain_misc and
  test_retain_failure


The following changes since commit 662396533177b72cc1d83e95841b27f7e42dcb20:

  create-spdx-3.0/populate_sdk_base: Add SDK_CLASSES inherit mechanism to fix 
tarball SPDX manifests (2024-07-26 12:26:24 +0100)

are available in the git repository at:

  https://git.yoctoproject.org/poky-contrib paule/retain
  https://git.yoctoproject.org/poky-contrib/log/?h=paule/retain

Paul Eggleton (1):
  classes: add new retain class for retaining build results

 meta/classes-global/retain.bbclass     | 182 +++++++++++++++++++++++++
 meta/lib/oeqa/selftest/cases/retain.py | 241 +++++++++++++++++++++++++++++++++
 2 files changed, 423 insertions(+)
 create mode 100644 meta/classes-global/retain.bbclass
 create mode 100644 meta/lib/oeqa/selftest/cases/retain.py

-- 
1.8.3.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#202722): 
https://lists.openembedded.org/g/openembedded-core/message/202722
Mute This Topic: https://lists.openembedded.org/mt/107659949/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to