diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 65ed0a2038..96fd38b643 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -118,7 +118,7 @@ steps: - label: "E2E: default :docker: (ping)" command: - echo "--- build" - - make build docker-images + - make build-dev docker-images - echo "--- start topology" - ./scion.sh topology -d - ./scion.sh run diff --git a/Makefile b/Makefile index fc555c7e08..ad506aded3 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,15 @@ -.PHONY: all antlr bazel clean docker-images gazelle go.mod licenses mocks protobuf scion-topo test test-integration write_all_source_files +.PHONY: all build build-dev antlr clean docker-images gazelle go.mod licenses mocks protobuf scion-topo test test-integration write_all_source_files -build: bazel +build-dev: + rm -f bin/* + bazel build //:scion //:scion-ci + tar -kxf bazel-bin/scion.tar -C bin + tar -kxf bazel-bin/scion-ci.tar -C bin + +build: + rm -f bin/* + bazel build //:scion + tar -kxf bazel-bin/scion.tar -C bin # all: performs the code-generation steps and then builds; the generated code # is git controlled, and therefore this is only necessary when changing the @@ -8,7 +17,7 @@ build: bazel # Use NOTPARALLEL to force correct order. # Note: From GNU make 4.4, this still allows building any other targets (e.g. lint) in parallel. .NOTPARALLEL: all -all: go_deps.bzl protobuf mocks gazelle build antlr write_all_source_files licenses +all: go_deps.bzl protobuf mocks gazelle build-dev antlr write_all_source_files licenses clean: bazel clean @@ -18,12 +27,6 @@ scrub: bazel clean --expunge rm -f bin/* -bazel: - rm -f bin/* - bazel build //:scion //:scion-ci - tar -kxf bazel-bin/scion.tar -C bin - tar -kxf bazel-bin/scion-ci.tar -C bin - test: bazel test --config=unit_all diff --git a/doc/dev/setup.rst b/doc/dev/setup.rst index dadeb2d690..4b6e5e7aa4 100644 --- a/doc/dev/setup.rst +++ b/doc/dev/setup.rst @@ -72,6 +72,9 @@ Bazel make + .. hint:: This builds tools for tests in addition to the main SCION services (e.g., `end2end`); + if you don't require those, you can only build the SCION services by running ``make build``. + #. Finally, check that tests run correctly: .. code-block:: bash