Skip to content

build: updated Docker builds to persist Bazel cache.#2704

Closed
asridharan wants to merge 1 commit intoenvoyproxy:masterfrom
asridharan:bazel-cache
Closed

build: updated Docker builds to persist Bazel cache.#2704
asridharan wants to merge 1 commit intoenvoyproxy:masterfrom
asridharan:bazel-cache

Conversation

@asridharan
Copy link
Copy Markdown

build: updated Docker builds to persist Bazel cache.
Description
Using the docker builds is currently painful since the Bazel cache is
not persisted. This implies that every build is a clean build and hence
the docker build system cannot be used during regular development
workflows.

In this change I have introduced a data-volume to the Docker build system
that would persist the Bazel cache across different Docker runs. The
name of the data-volumen defaults to bazel-cache but can be changed by
the developer using the environment variable ENVOY_DOCKER_BAZEL_CACHE.

Testing
Ran the docker build

./ci/run_envoy_docker.sh './ci/do_ci.sh bazel.debug.server_only'

Multiple times to ensure that Bazel cache is persisted across runs which would result in not re-building the entire source from scratch.

Signed-off-by: Avinash Sridharan avinash.sridharan@gmail.com

title: one line description

Title can be a one or two words to describe the subsystem or the aspect
this PR applies to. Title and description must be lower case. For example:

  • ci: update build image to 44d539c
  • docs: fix indent, buffer: add copyOut() method
  • router:add x-envoy-overloaded header
  • tls: add support for specifying TLS session ticket keys

Description:

What does this PR do? What was the behavior before the PR?
What is the behavior with the PR? If fixing a bug, please describe what
the original issue is and how the change resolves it. How does this
feature get enabled? By default, config change, etc...

Risk Level: Low | Medium | High

Low: Small bug fix or small optional feature.

Medium: New features that are not enabled(for example: new filter). Small-medium
features added to existing components(for example: modification to an existing
filter).

High: Complicated changes such as flow control, rewrites of critical
components, etc.

Note: The above is only a rough guide for choosing a level,
please ask if you have any concerns about the risk of the PR.

Testing:

Explanation of what testing was done, for example: unit test,
integration, manual testing, etc.

Note: It isn’t expected to do all
forms of testing, please use your best judgement or ask for guidance
if you are unsure. A good rule of thumb is the riskier the change, the
more comprehensive the testing should be.

Docs Changes:

Link to Data Plane PR]
if your PR involves documentation changes. Please write in N/A if there were no
documentation changes.

Release Notes:

If this change is user impacting you must add a release note to
RAW_RELEASE_NOTES.md. Thank you! Please write in N/A if
there are no release notes.

[Optional Fixes #Issue]

[Optional API Changes:]

Link to Data Plane PR]

[Optional Deprecated:]

Description of what is deprecated.

Using the docker builds is currently painful since the Bazel cache is
not persisted. This implies that every build is a clean build and hence
the docker build system cannot be used during regular development
workflows.

In this change have introduced a data-volume to the Docker build system
that would persist the Bazel cache across different Docker runs. The
name of the data-volumen defaults to `bazel-cache` but can be changed by
the developer using the environment variable `ENVOY_DOCKER_BAZEL_CACHE`.

Signed-off-by: Avinash Sridharan <avinash.sridharan@gmail.com>
@asridharan
Copy link
Copy Markdown
Author

closing this PR out for the time being, since didn't realize that we can run the docker build with different users. Currently the solution in this PR is specifically for the root, need to make it more generic.

@asridharan asridharan closed this Mar 3, 2018
jpsim pushed a commit that referenced this pull request Dec 1, 2022
Add unit tests for PlatformBridgeCertValidator

Risk Level: Low
Testing: Yes :)
Docs Changes: N/A
Release Notes: N/A

Signed-off-by: Ryan Hamilton <rch@google.com>
Signed-off-by: JP Simard <jp@jpsim.com>
jpsim pushed a commit that referenced this pull request Dec 1, 2022
Add unit tests for PlatformBridgeCertValidator

Risk Level: Low
Testing: Yes :)
Docs Changes: N/A
Release Notes: N/A

Signed-off-by: Ryan Hamilton <rch@google.com>
Signed-off-by: JP Simard <jp@jpsim.com>
jpsim added a commit that referenced this pull request Dec 2, 2022
…/docs/sphinx-5.3.0

* origin/main: (50 commits)
  ci: Bump mobile build images (#24317)
  ci: update llvm on bazel CI (#24296)
  ci: Fix flaky coverage limit (#24320)
  ci: Fix change detection (part 2) (#24264)
  Start slow start window on first successful HC, make slow start re-enterable (#23946)
  contrib-sipproxy: rework sipproxy stats (#24165)
  build(deps): bump github/codeql-action from 2.1.32 to 2.1.35 (#24292)
  build(deps): bump node from `c59fb39` to `80844b6` in /examples/ext_authz/auth/http-service (#24274)
  build(deps): bump actions/upload-artifact from 2 to 3 (#24121)
  build(deps): bump mysql from `96439dd` to `66efaaa` in /examples/mysql (#24273)
  build(deps): bump grpcio from 1.50.0 to 1.51.1 in /examples/grpc-bridge/client (#24272)
  Allow mobile/library/common/jni/ to be built on non-Android platforms. (#24299)
  generic proxy: added drain support to generic proxy to doing graceful closes on connections when possible (#24220)
  Reduce Route/VirtualHost memory utilization by avoiding RateLimitPolicy instances when not needed (#24243)
  Reduce VirtualHost memory utilization by avoiding CatchAllVirtualCluster when not needed (#24182)
  Fix mobile/tools/check_format.sh to re-apply #2698 (#24300)
  upstream: don't require `source_address` in `upstream_bind_config` (#24250)
  Quiche roll 20221201150327 (#24290)
  Cleanup threading/ownership semantics of PlatformBridgeCertValidator (#2713)
  Add unit tests of the PlatformBridgeCertValidator (#2704)
  ...

Signed-off-by: JP Simard <jp@jpsim.com>
jpsim added a commit that referenced this pull request Dec 2, 2022
…/docs/pygments-2.13.0

* origin/main: (25 commits)
  ci: Bump mobile build images (#24317)
  ci: update llvm on bazel CI (#24296)
  ci: Fix flaky coverage limit (#24320)
  ci: Fix change detection (part 2) (#24264)
  Start slow start window on first successful HC, make slow start re-enterable (#23946)
  contrib-sipproxy: rework sipproxy stats (#24165)
  build(deps): bump github/codeql-action from 2.1.32 to 2.1.35 (#24292)
  build(deps): bump node from `c59fb39` to `80844b6` in /examples/ext_authz/auth/http-service (#24274)
  build(deps): bump actions/upload-artifact from 2 to 3 (#24121)
  build(deps): bump mysql from `96439dd` to `66efaaa` in /examples/mysql (#24273)
  build(deps): bump grpcio from 1.50.0 to 1.51.1 in /examples/grpc-bridge/client (#24272)
  Allow mobile/library/common/jni/ to be built on non-Android platforms. (#24299)
  generic proxy: added drain support to generic proxy to doing graceful closes on connections when possible (#24220)
  Reduce Route/VirtualHost memory utilization by avoiding RateLimitPolicy instances when not needed (#24243)
  Reduce VirtualHost memory utilization by avoiding CatchAllVirtualCluster when not needed (#24182)
  Fix mobile/tools/check_format.sh to re-apply #2698 (#24300)
  upstream: don't require `source_address` in `upstream_bind_config` (#24250)
  Quiche roll 20221201150327 (#24290)
  Cleanup threading/ownership semantics of PlatformBridgeCertValidator (#2713)
  Add unit tests of the PlatformBridgeCertValidator (#2704)
  ...

Signed-off-by: JP Simard <jp@jpsim.com>
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.

1 participant