1

rules/ remove run_under

rules/ were never meant to be added to the release. Now that we are not
*running* multi-arch binaries, we can remove the infrastructure that was
necessary to do so.

I may get back to this -- but we need to dust quite a bit off before
that happens.
This commit is contained in:
Motiejus Jakštys 2023-03-21 10:13:57 +02:00 committed by Motiejus Jakštys
parent 9779650a78
commit 3630f62053
3 changed files with 13 additions and 37 deletions

View File

@ -17,7 +17,7 @@ tools/bazel build "$@" \
--experimental_use_hermetic_linux_sandbox \ --experimental_use_hermetic_linux_sandbox \
--sandbox_writable_path="$cache_prefix" \ --sandbox_writable_path="$cache_prefix" \
--sandbox_add_mount_pair=/proc \ --sandbox_add_mount_pair=/proc \
//test/c:which_libc_linux_amd64_gnu.2.19 //test/c:which_libc
# then test everything else with the standard sandbox # then test everything else with the standard sandbox
echo "--- bazel test $* ..." echo "--- bazel test $* ..."

View File

@ -1,12 +1,7 @@
# Copyright 2023 Uber Technologies, Inc. # Copyright 2023 Uber Technologies, Inc.
# Licensed under the MIT License # Licensed under the MIT License
def _vars_script(env, run_under, cmd): load("@bazel_skylib//lib:paths.bzl", "paths")
ret = ["#!/bin/sh"]
for k, v in env.items():
ret += ['export {}="{}"'.format(k, v)]
ret += ['exec {} {} "$@"'.format(run_under, cmd)]
return "\n".join(ret) + "\n" # trailing newline is easier on the eyes
def _platform_transition_impl(settings, attr): def _platform_transition_impl(settings, attr):
_ignore = settings _ignore = settings
@ -23,22 +18,18 @@ _platform_transition = transition(
) )
def _platform_binary_impl(ctx): def _platform_binary_impl(ctx):
source_info = ctx.attr.src[DefaultInfo] platform_sanitized = ctx.attr.platform.replace("/", "_").replace(":", "_")
dst = ctx.actions.declare_file("{}-{}".format(paths.basename(ctx.file.src.path), platform_sanitized))
executable = None src = ctx.file.src
if source_info.files_to_run and source_info.files_to_run.executable: ctx.actions.run_shell(
command = _vars_script(ctx.attr.env, ctx.attr.run_under, source_info.files_to_run.executable.short_path) outputs = [dst],
executable = ctx.actions.declare_file("{}_{}".format(ctx.file.src.basename, ctx.attr.platform)) inputs = [src],
ctx.actions.write( command = "cp $1 $2",
output = executable, arguments = [src.path, dst.path],
content = command,
is_executable = True,
) )
return [DefaultInfo( return [DefaultInfo(
executable = executable, files = depset([dst]),
files = depset([executable]), executable = dst,
runfiles = ctx.runfiles(files = ctx.files.src),
)] )]
_attrs = { _attrs = {
@ -50,12 +41,6 @@ _attrs = {
"platform": attr.string( "platform": attr.string(
doc = "The platform to build the target for.", doc = "The platform to build the target for.",
), ),
"run_under": attr.string(
doc = "wrapper executable",
),
"env": attr.string_dict(
doc = "Environment variables for the test",
),
"_allowlist_function_transition": attr.label( "_allowlist_function_transition": attr.label(
default = "@bazel_tools//tools/allowlists/function_transition_allowlist", default = "@bazel_tools//tools/allowlists/function_transition_allowlist",
), ),

View File

@ -9,15 +9,6 @@ cc_binary(
tags = ["manual"], tags = ["manual"],
) )
# TODO(motiejus): bring back windows tests, not only builds
#platform_test(
# name = "winver_windows_amd64",
# src = "winver",
# platform = "//platform:windows_amd64",
# run_under = "wine64-stable",
# tags = ["no-sandbox"],
#)
platform_binary( platform_binary(
name = "winver_windows_amd64", name = "winver_windows_amd64",
src = "winver", src = "winver",