make: Allow to specify bazel startup options.
And don't parse binary paths for the build target. Signed-off-by: Andrei Vagin <avagin@gmail.com>
This commit is contained in:
parent
16100d18cb
commit
5e4d7072a6
|
@ -13,7 +13,10 @@ jobs:
|
|||
- os: linux
|
||||
arch: arm64
|
||||
script:
|
||||
- uname -a && make smoke-test
|
||||
# On arm64, we need to create our own pipes for stderr and stdout,
|
||||
# otherwise we will not be able to open /dev/stderr. This is probably
|
||||
# due to AppArmor rules.
|
||||
- uname -a && make smoke-test 2>&1 | cat
|
||||
branches:
|
||||
except:
|
||||
# Skip copybara branches.
|
||||
|
|
4
Makefile
4
Makefile
|
@ -16,6 +16,7 @@
|
|||
|
||||
# Described below.
|
||||
OPTIONS :=
|
||||
STARTUP_OPTIONS :=
|
||||
TARGETS := //runsc
|
||||
ARGS :=
|
||||
|
||||
|
@ -24,7 +25,7 @@ default: runsc
|
|||
|
||||
## usage: make <target>
|
||||
## or
|
||||
## make <build|test|copy|run|sudo> OPTIONS="..." TARGETS="..." ARGS="..."
|
||||
## make <build|test|copy|run|sudo> STARTUP_OPTIONS="..." OPTIONS="..." TARGETS="..." ARGS="..."
|
||||
##
|
||||
## Basic targets.
|
||||
##
|
||||
|
@ -33,6 +34,7 @@ default: runsc
|
|||
## requirements.
|
||||
##
|
||||
## There are common arguments that may be passed to targets. These are:
|
||||
## STARTUP_OPTIONS - Bazel startup options.
|
||||
## OPTIONS - Build or test options.
|
||||
## TARGETS - The bazel targets.
|
||||
## ARGS - Arguments for run or sudo.
|
||||
|
|
|
@ -93,14 +93,16 @@ bazel-server: ## Ensures that the server exists. Used as an internal target.
|
|||
@docker exec $(DOCKER_NAME) true || $(MAKE) bazel-server-start
|
||||
.PHONY: bazel-server
|
||||
|
||||
build_paths = docker exec --user $(UID):$(GID) -i $(DOCKER_NAME) sh -o pipefail -c 'bazel build $(OPTIONS) $(TARGETS) 2>&1 \
|
||||
| tee /dev/fd/2 \
|
||||
build_cmd = docker exec --user $(UID):$(GID) -i $(DOCKER_NAME) sh -o pipefail -c 'bazel $(STARTUP_OPTIONS) build $(OPTIONS) $(TARGETS)'
|
||||
|
||||
build_paths = $(build_cmd) 2>&1 \
|
||||
| tee /proc/self/fd/2 \
|
||||
| grep -E "^ bazel-bin/" \
|
||||
| awk "{print $$1;}"' \
|
||||
| awk "{print $$1;}" \
|
||||
| xargs -n 1 -I {} sh -c "$(1)"
|
||||
|
||||
build: bazel-server
|
||||
@$(call build_paths,echo {})
|
||||
@$(call build_cmd)
|
||||
.PHONY: build
|
||||
|
||||
copy: bazel-server
|
||||
|
@ -118,5 +120,5 @@ sudo: bazel-server
|
|||
.PHONY: sudo
|
||||
|
||||
test: bazel-server
|
||||
@docker exec --user $(UID):$(GID) -i $(DOCKER_NAME) bazel test $(OPTIONS) $(TARGETS)
|
||||
@docker exec --user $(UID):$(GID) -i $(DOCKER_NAME) bazel $(STARTUP_OPTIONS) test $(OPTIONS) $(TARGETS)
|
||||
.PHONY: test
|
||||
|
|
Loading…
Reference in New Issue