README.md
Patches to grpc repo tags for the backwards compatibility interop tests
This directory has patch files that can be applied to different tags of the grpc git repo in order to run the interop tests for a specific language based on that tag.
For example, because the ruby interop tests do not run on the v1.0.1 tag out of the box, but we still want to test compatibility of the 1.0.1 ruby release with other versions, we can apply a patch to the v1.0.1 tag from this directory that makes the necessary changes that are needed to run the ruby interop tests from that tag. We can then use that patch to build the docker image for the ruby v1.0.1 interop tests.
How to add a new patch to this directory
Patch files in this directory are meant to be applied to a git tag
with a git apply
command.
-
Under the
patches
directory, create a new subdirectory titled<language>_<git_tag>
for the git tag being modified. -
git checkout <git_tag>
-
Make necessary modifications to the git repo at that tag.
git diff > ~/git_repo.patch
git checkout <current working branch>
cp ~/git_repo.patch tools/interop_matrix/patches/<language>_<git_tag>/
- Edit the
LANGUAGE_RELEASE_MATRIX
inclient_matrix.py
for your language/tag and add a'patch': [<files>,....]
entry to it'sdictionary
.
After doing this, the interop image creation script can apply that patch to the
tag with git apply
before uploading to the test image repo.