Awesome, Leslie! Moving forward with the proposal then. Thanks, everyone!
Best, Bisakh. On Tue, 19 Oct 2021 at 22:22, Tsangleslie <[email protected]> wrote: > Agree, there are other external dependencies in the repo that can be > managed with git submodule feature as well. > I would love to see this change. > > Leslie Tsang > [email protected] > > > On 20 Oct 2021, at 12:35 AM, Bisakh Mondal <[email protected]> > wrote: > > > > Hi Community, > > > > At present we are testing the gRPC plugin through an upstream server > > written in Go [1] and a shell script to test the expected behaviour. But > > the thing is, the way we are setting up the test environment is not a > good > > approach as > > > > First, we are fetching the release candidate binary that runs the server > > and then again at the second stage we are cloning the repository to get > the > > proto file. [2] > > Also whenever we make any changes in the upstream gRPC example server > repo, > > we have to explicitly release a new binary just for the sake of > satisfying > > this approach which is manual and not at all developer-friendly. > > > > Proposed Solution: > > One easy solution could be cloning the master branch every time we run > the > > CI, but it could introduce instability in the CIs as maybe at some point > of > > time the master is not fully ready or broken. I think we could leverage > the > > benefits of `git submodules` here by putting the [1] project into a > > suitable subdirectory. In this way, we will have explicit control over > the > > state of the submodule on which we are running the tests because the > > submodule HEAD itself points to a commit hash. And whenever we update the > > upstream, we just have to move the submodule HEAD to that particular > commit > > hash via a `git pull` or something like that. > > In this approach, the upstream project will be compiled inside the CI and > > that might cost a few seconds for dependency fetching and compilation. > But > > considering the very small size of the project, I think this is okay. > > > > Let me know what do you think. Thanks! > > > > Best Regards, > > Bisakh (https://github.com/bisakhmondal) > > > > [1] : https://github.com/api7/grpc_server_example > > [2] : > > > https://github.com/apache/apisix/blob/50fed630823bb3c562f411d7cb5f5d38218348fb/ci/linux_openresty_common_runner.sh#L47-L58 > >
