1# Patches to grpc repo tags for the backwards compatibility interop tests 2 3This directory has patch files that can be applied to different tags 4of the grpc git repo in order to run the interop tests for a specific 5language based on that tag. 6 7For example, because the ruby interop tests do not run on the v1.0.1 tag out 8of the box, but we still want to test compatibility of the 1.0.1 ruby release 9with other versions, we can apply a patch to the v1.0.1 tag from this directory 10that makes the necessary changes that are needed to run the ruby interop tests 11from that tag. We can then use that patch to build the docker image for the 12ruby v1.0.1 interop tests. 13 14## How to add a new patch to this directory 15 16Patch files in this directory are meant to be applied to a git tag 17with a `git apply` command. 18 191. Under the `patches` directory, create a new subdirectory 20titled `<language>_<git_tag>` for the git tag being modified. 21 222. `git checkout <git_tag>` 23 243. Make necessary modifications to the git repo at that tag. 25 264. 27 28``` 29git diff > ~/git_repo.patch 30git checkout <current working branch> 31cp ~/git_repo.patch tools/interop_matrix/patches/<language>_<git_tag>/ 32``` 33 345. Edit the `LANGUAGE_RELEASE_MATRIX` in `client_matrix.py` for your language/tag 35and add a `'patch': [<files>,....]` entry to it's `dictionary`. 36 37After doing this, the interop image creation script can apply that patch to the 38tag with `git apply` before uploading to the test image repo. 39