Skip to content

[8.6.0] Make overlaid files executable in http_archive#28277

Merged
Wyverald merged 1 commit intobazelbuild:release-8.6.0from
bazel-io:cp28202-8.6.0
Jan 13, 2026
Merged

[8.6.0] Make overlaid files executable in http_archive#28277
Wyverald merged 1 commit intobazelbuild:release-8.6.0from
bazel-io:cp28202-8.6.0

Conversation

@bazel-io
Copy link
Member

This makes it possible to use registry overlays to add shell scripts.

Context: https://bazelbuild.slack.com/archives/C014RARENH0/p1767975320777969

Closes #28202.

PiperOrigin-RevId: 855699722
Change-Id: I65891a0cb6d7e99d70ab33c8b38f1c7da943fc09

Commit 3efde5a

This makes it possible to use registry overlays to add shell scripts.

Context: https://bazelbuild.slack.com/archives/C014RARENH0/p1767975320777969

Closes bazelbuild#28202.

PiperOrigin-RevId: 855699722
Change-Id: I65891a0cb6d7e99d70ab33c8b38f1c7da943fc09
@bazel-io bazel-io requested a review from a team as a code owner January 13, 2026 15:17
@bazel-io bazel-io added the awaiting-review PR is awaiting review from an assigned reviewer label Jan 13, 2026
@bazel-io bazel-io requested a review from meteorcloudy January 13, 2026 15:17
Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

The pull request modifies tools/build_defs/repo/utils.bzl to set the executable flag to True when downloading remote files, allowing overlaid files to be shell scripts. The change also updates digests in src/test/tools/bzlmod/MODULE.bazel.lock. The review focuses on the correctness of setting the executable flag.

Comment on lines +110 to +111
# Overlaid files may be shell scripts.
executable = True,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

Setting executable = True unconditionally might introduce unintended consequences. It would be safer to check if the file has a shebang (#!) or other executable characteristics before setting this flag. Otherwise, consider making this configurable via an attribute.

            integrity = ctx.attr.remote_file_integrity.get(path, ""),
            block = False,
            # Overlaid files may be shell scripts.
            executable = path.endswith(".sh"),

@Wyverald Wyverald added this pull request to the merge queue Jan 13, 2026
Merged via the queue into bazelbuild:release-8.6.0 with commit 5bcd4e2 Jan 13, 2026
47 checks passed
@github-actions github-actions bot removed the awaiting-review PR is awaiting review from an assigned reviewer label Jan 13, 2026
rdesgroppes added a commit to DataDog/datadog-agent that referenced this pull request Feb 27, 2026
### What does this PR do?
Bump `.bazelversion` from 8.5.1 to 8.6.0.

### Motivation
Selected changes between 8.5.1 and 8.6.0:
- Fix visibility for implicit deps of parent rules (bazelbuild/bazel#28722)
- Force rctx.{download_and,}extract to create user-readable files (bazelbuild/bazel#28551)
- Fix disk cache failures on concurrent read-write access on Windows (bazelbuild/bazel#28529)
- Add a target_type argument to ctx.actions.symlink (bazelbuild/bazel#28538)
- Compensate for Windows filesystems lacking junction support (bazelbuild/bazel#28367)
  (our fix)
- Add short_uncached and detailed_uncached options to --test_summary (bazelbuild/bazel#28343)
- Add --experimental_strict_repo_env option (bazelbuild/bazel#28189)
- Make overlaid files executable in http_archive (bazelbuild/bazel#28277)
- Add bazel mod show_repo --all_repos and --all_visible_repos (bazelbuild/bazel#28012)
- Enable --experimental_retain_test_configuration_across_testonly (bazelbuild/bazel#28115)
- Add option to continue with local execution if remote cache is unavailable (bazelbuild/bazel#28001)
rdesgroppes added a commit to DataDog/datadog-agent that referenced this pull request Feb 27, 2026
### What does this PR do?
Bump `.bazelversion` from 8.5.1 to 8.6.0.

### Motivation
Selected changes between 8.5.1 and 8.6.0:
- Fix visibility for implicit deps of parent rules (bazelbuild/bazel#28722)
- Force rctx.{download_and,}extract to create user-readable files (bazelbuild/bazel#28551)
- Fix disk cache failures on concurrent read-write access on Windows (bazelbuild/bazel#28529)
- Add a target_type argument to ctx.actions.symlink (bazelbuild/bazel#28538)
- Compensate for Windows filesystems lacking junction support (bazelbuild/bazel#28367)
  (our fix)
- Add short_uncached and detailed_uncached options to --test_summary (bazelbuild/bazel#28343)
- Add --experimental_strict_repo_env option (bazelbuild/bazel#28189)
- Make overlaid files executable in http_archive (bazelbuild/bazel#28277)
- Add bazel mod show_repo --all_repos and --all_visible_repos (bazelbuild/bazel#28012)
- Enable --experimental_retain_test_configuration_across_testonly (bazelbuild/bazel#28115)
- Add option to continue with local execution if remote cache is unavailable (bazelbuild/bazel#28001)
gh-worker-dd-mergequeue-cf854d bot pushed a commit to DataDog/datadog-agent that referenced this pull request Feb 27, 2026
### What does this PR do?
Bump `bazel` version from 8.5.1 to 8.6.0 to benefit from a series of improvements and fixes.
Ours (bazelbuild/bazel#28367) allows to re-enable "convenience symlinks" for Windows users and makes [`path.realpath`](https://bazel.build/rules/lib/builtins/path#realpath) succeed when sharing a folder between a Linux host and a Windows VM.

### Motivation
Selected changes between 8.5.1 and 8.6.0:
- 💡 bazelbuild/bazel#28001
- bazelbuild/bazel#28012
- 💡 bazelbuild/bazel#28189
- bazelbuild/bazel#28277
- bazelbuild/bazel#28343
- 🐕 bazelbuild/bazel#28367
- bazelbuild/bazel#28529
- bazelbuild/bazel#28538
- bazelbuild/bazel#28551
- bazelbuild/bazel#28722

Co-authored-by: regis.desgroppes <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants