• Home
  • Raw
  • Download

Lines Matching +full:pr +full:- +full:dependencies +full:- +full:check

1 # Third-party libraries
3 gRPC depends on several third-party libraries, their source code is available
8 - IMPORTANT: whenever possible, try to only update to a stable release of a library (= not to maste…
12 - bazel BUILD uses a different dependency model - whenever updating a submodule, also update the re…
13 non-bazel builds stay in sync (this is actually enforced by a sanity check in some cases)
15 ## Considerations when adding a new third-party dependency
17 - gRPC C++ needs to stay buildable/installable even if the submodules are not present (e.g. the tar…
18 …assuming that the dependencies are already installed. This is a requirement for being able to prov…
20- CAVEAT: upb is an exception here because of its lack of cmake support. Therefore, third_party/up…
22 - Adding a new dependency is a lot of work (both for us and for the users).
27 …r the users and community - it means that all users will need to update their projects accordingly…
28 the community-provided C++ packages (e.g. vcpkg) will need to be updated as well.
30 ## Checklist for adding a new third-party dependency
34 - [ ] Make sure you understand the hidden costs of adding a dependency (see section above) and that…
36 - [ ] Once your change is ready, start an [adhoc run of artifact - packages - distribtests flow](ht…
38 - [ ] Check the impact of the new dependency on the size of our distribution packages (compare BEFO…
40 ## Instructions for updating dependencies
50 Updating some dependencies requires extra care.
52 ### Updating third_party/abseil-cpp
54 - Two additional steps should be done before running `generate_projects.sh` above.
55 - Running `src/abseil-cpp/preprocessed_builds.yaml.gen.py`.
56 - Updating `abseil_version =` scripts in `templates/gRPC-C++.podspec.template` and
57 `templates/gRPC-Core.podspec.template`.
58 - You can see an example of previous [upgrade](https://github.com/grpc/grpc/pull/24270).
60 ### Updating third_party/boringssl-with-bazel
62 …y is now part of the internal grpc release tooling (see [go/grpc-release](http://go/grpc-release)).
63 …ossible. The instructions below are provided as a reference and aren't guaranteed to be up-to-date.
65 - Update the `third_party/boringssl-with-bazel` submodule to the latest [`master-with-bazel`](https…
67 git submodule update --init # just to start in a clean state
68 cd third_party/boringssl-with-bazel
70 git checkout origin/master-with-bazel # checkout the current state of master-with-bazel branch in …
71 # Note the latest commit SHA on master-with-bazel branch
73 git status # will show that there are new commits in third_party/boringssl-with-bazel
74 git add third_party/boringssl-with-bazel # we actually want to update the changes to the submo…
75 git commit -m "update submodule boringssl-with-bazel with origin/master-with-bazel" # commit
78 - Update boringssl dependency in `bazel/grpc_deps.bzl` to the same commit SHA as master-with-bazel …
79- Update `http_archive(name = "boringssl",` section by updating the sha in `strip_prefix` and `url…
80- Also, set `sha256` field to "" as the existing value is not valid. This will be added later once…
82 - Update `tools/run_tests/sanity/check_submodules.sh` with the same commit
84 - Commit these changes `git commit -m "update boringssl dependency to master-with-bazel commit SHA"`
86 - Run `tools/buildgen/generate_projects.sh` to regenerate the generated files
87- Because `sha256` in `bazel/grpc_deps.bzl` was left empty, you will get a DEBUG msg like this one:
91 - Commit the regenrated files `git commit -m "regenerate files"`
92- Update `bazel/grpc_deps.bzl` with the SHA value shown in the above debug msg. Commit again `git …
94 - Run `tools/distrib/generate_boringssl_prefix_header.sh`
95 - Commit again `git commit -m "generate boringssl prefix headers"`
97 - Increment the boringssl podspec version number in
98 …`templates/src/objective-c/BoringSSL-GRPC.podspec.template` and `templates/gRPC-Core.podspec.templ…
100 - Commit again `git commit -m "Increment podspec version"`
102 - Run `tools/buildgen/generate_projects.sh` (yes, again)
103 - Commit again `git commit -m "Second regeneration"`
105 - Create a PR with all the above commits.
107 - Run `bazel/update_mirror.sh` to update GCS mirror.
111 …ndency is now part of the internal release process (see [go/grpc-release](http://go/grpc-release)).
113 ### Updating third_party/envoy-api
121 - `export GRPC_ROOT=~/git/grpc`
122 - `wget https://github.com/protocolbuffers/protobuf/releases/download/v25.1/protobuf-25.1.zip`
123 - `rm -rf $GRPC_ROOT/third_party/upb`
124 - `unzip protobuf-25.1.zip -d /tmp/protobuf`
125 - `cp -r /tmp/protobuf/protobuf-25.1/upb $GRPC_ROOT/third_party/upb`
137 rm -rf $GRPC_ROOT/third_party/utf8_range
138 unzip main.zip -d $GRPC_ROOT/third_party
139 mv $GRPC_ROOT/third_party/utf8_range-main $GRPC_ROOT/third_party/utf8_range
154 git show xxhash/dev:LICENSE | sed -nE '/^-+$/q;p' > third_party/xxhash/LICENSE