Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[7.0.1] Fixes for Bazel's own integration tests fail locally on Linux #20821

Merged
merged 3 commits into from
Jan 9, 2024

Conversation

iancha1992
Copy link
Member

@iancha1992 iancha1992 commented Jan 9, 2024

Includes 3 commits.
c48392c, bc1d9d3, b0db044

Progress towards #20753

…ata map.

This happens for action templates.

The reason is that the Linux sandbox needs to know where the tree file artifact is materialized to, which information is stored in its parent.

The reason for making this a flag was performance, but it's only at most one tree artifact per action, it's a constant time operation per tree artifact and it only happens rarely (on templated actions) so I think this time, simplicity is better than performance.

The surprising change to ActionInputMapHelper was needed because before this change, the tree artifact was a discovered input and therefore was processed by the code path in ActionExecutionFunction.addDiscoveredInputs(), which populated archivedTreeArtifacts but addToMap() did not. It was presumably the bug.

The depOwner argument of putTreeArtifact may also be wrong there. It's at least inconsistent with the other two call sites, but I don't want to add more polish at some risk to this change so I decided to not add it to addArchivedTreeArtifactMaybe().

Progress towards bazelbuild#20753.

RELNOTES: None.
PiperOrigin-RevId: 596586625
Change-Id: Ib690a84508da07560ec376d4e87ed8fb2211979f
This is necessary because that paths of those directories are different when seen by Bazel and by the processes within the sandbox and the sandbox interprets paths to writable directories as within the sandbox.

This is notably the case for $TEST_TMPDIR. The reason why this worked at all is that the $TEST_TMPDIR that Bazel passes to the test is relative to the working directory (it's absolutized in the test wrapper script)

Progress on bazelbuild#20753.

RELNOTES: None.
PiperOrigin-RevId: 596566851
Change-Id: Ifb56a3016a521b6a0cd4b5700172951d6feabddf
This makes --experimental_split_coverage_postprocessing work in the wake of bazelbuild@fb6658c: before, it was enough to add the metadata of the tree file artifacts to the metadata provider of the post-processing action, but that change made the metadata of the tree artifact necessary, too.

Progress towards bazelbuild#20753.

RELNOTES: None.
PiperOrigin-RevId: 596929659
Change-Id: I481ef36328de7f7ab07f2ec7a0ac83d5fd508c36
@iancha1992 iancha1992 added the team-Local-Exec Issues and PRs for the Execution (Local) team label Jan 9, 2024
@iancha1992 iancha1992 requested a review from lberki January 9, 2024 19:51
@iancha1992 iancha1992 requested a review from a team as a code owner January 9, 2024 19:51
@github-actions github-actions bot added awaiting-review PR is awaiting review from an assigned reviewer team-Performance Issues for Performance teams labels Jan 9, 2024
@iancha1992 iancha1992 enabled auto-merge (squash) January 9, 2024 20:00
@iancha1992 iancha1992 merged commit bcdfffe into bazelbuild:release-7.0.1 Jan 9, 2024
33 checks passed
@github-actions github-actions bot removed the awaiting-review PR is awaiting review from an assigned reviewer label Jan 9, 2024
iancha1992 pushed a commit that referenced this pull request Jan 18, 2024
Baseline:  d798ebd

Release Notes:

+ Consider MODULE.bazel for workspace detection in bazel.sh (#20594)
+ Auto-create deploy jars for Bazel `java_test` targets if requested (#20602)
+ `java_binary` wrapper should forward `restricted_to` (#20611)
+ Mount user-specified bind mounts before Bazel's own magic. (#20609)
+ Fix bootstrapped Bazel binary (#20612)
+ Attempt to make main repo mapping inverse more efficient (#20625)
+ Cherry-pick all presubmit.yml changes (#20733)
+ Print interactive sandboxed shell command with `--sandbox_debug` (#20734)
+ Fix two issues with --incompatible_sandbox_hermetic_tmp that manifested themselves when the output base was under /tmp (#20718)
+ Let module extensions track calls to `Label()` (#20750)
+ Add support for bind mounts under `/tmp` with hermetic tmp (#20749)
+ Fixes for Bazel's own integration tests fail locally on Linux  (#20821)
+ Fix NPE in BzlmodRepoRuleFunction (#20828)
+ Avoid emitting canonical labels into generated repos (#20840)
+ Let .bzl files record their usages of repo mapping (#20848)
+ Force output checking for incremental run commands without the bytes. (#20881)
+ Retry binding to ipv6 localhost (#20903)
+ Fix linker feature detection being performed on wrong linker (#20901)
+ Fix singlejar resource mapping for external repositories (#20904)

Acknowledgements:

This release contains contributions from many people at Google, as well as bazel.build machine account, David Ostrovsky, Fabian Meumertzheim, hvd, Siddhartha Bagaria, Tianyu Geng, Xdng Yng, Xùdōng Yáng.
copybara-service bot pushed a commit that referenced this pull request Jan 18, 2024
Baseline:  d798ebd

Release Notes:

+ Consider MODULE.bazel for workspace detection in bazel.sh (#20594)
+ Auto-create deploy jars for Bazel `java_test` targets if requested (#20602)
+ `java_binary` wrapper should forward `restricted_to` (#20611)
+ Mount user-specified bind mounts before Bazel's own magic. (#20609)
+ Fix bootstrapped Bazel binary (#20612)
+ Attempt to make main repo mapping inverse more efficient (#20625)
+ Cherry-pick all presubmit.yml changes (#20733)
+ Print interactive sandboxed shell command with `--sandbox_debug` (#20734)
+ Fix two issues with --incompatible_sandbox_hermetic_tmp that manifested themselves when the output base was under /tmp (#20718)
+ Let module extensions track calls to `Label()` (#20750)
+ Add support for bind mounts under `/tmp` with hermetic tmp (#20749)
+ Fixes for Bazel's own integration tests fail locally on Linux  (#20821)
+ Fix NPE in BzlmodRepoRuleFunction (#20828)
+ Avoid emitting canonical labels into generated repos (#20840)
+ Let .bzl files record their usages of repo mapping (#20848)
+ Force output checking for incremental run commands without the bytes. (#20881)
+ Retry binding to ipv6 localhost (#20903)
+ Fix linker feature detection being performed on wrong linker (#20901)
+ Fix singlejar resource mapping for external repositories (#20904)

Acknowledgements:

This release contains contributions from many people at Google, as well as bazel.build machine account, David Ostrovsky, Fabian Meumertzheim, hvd, Siddhartha Bagaria, Tianyu Geng, Xdng Yng, Xùdōng Yáng.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
team-Local-Exec Issues and PRs for the Execution (Local) team team-Performance Issues for Performance teams
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants