Make clang environment temporary

Pushing to the global environment has the unintended effect of running
sanitizers in clang.  Moving to gcc-15 had some unintended consequences
where that broke in some cases with an error of:

ld.lld: error: undefined symbol: __asan_stack_malloc_1

Move the clang variables to a dict and pass it into the appropriate
calls so that it can be destroyed afterward.

Change-Id: I8d4e2b50156e285d7a569dfa1aa8831828c5f480
Signed-off-by: Ed Tanous <etanous@nvidia.com>
1 file changed
tree: d05e5e727237f30d8dd4e2b33bd483d887b5f325
  1. config/
  2. jenkins/
  3. scripts/
  4. tools/
  5. .gitignore
  6. .shellcheck
  7. build-rootfs-size-docker.sh
  8. build-setup.sh
  9. LICENSE
  10. OWNERS
  11. qemu-build.sh
  12. README.md
  13. run-qemu-robot-test.sh
  14. run-rootfs-size-docker.sh
  15. run-unit-test-docker.sh
README.md

openbmc-build-scripts

Build script for CI jobs in Jenkins.

Linter policy and related build failures

Formatting linters sometimes change stylistic output across releases. Separately, some linters are not version-pinned in the CI container, as pinning would drive either frequent maintenance with upgrades or stagnation of the code-base against older versions.

The combination may result in inconsistent formatting opinions across CI worker nodes[^1].

If you see such behaviour consider changing the thing to force a container refresh.

[^1]: The collection of container builds across all worker nodes may not hold a consistent set of tool versions despite being built from the same specification: The inconsistencies emerge from the cadence of upstream tool package updates beating against the cadence of container rebuilds on the worker nodes.