I am working on two Go projects at the same time, let's call the first one myApp and the second one my-sdk , both are seperate Golang projects. Both myApp and my-sdk are under development at the same time and it is common for myApp to use the latest version of my-sdk
Current Approach: The current approach is whenever I change my-sdk for fixing a bug or a new feature, I commit and then push to a private remote git repo (on main branch directly since I am the sole developer). I then add a new tag (e.g. v0.3.0) following semver and push it as well.
Then I go to my MyApp's myApp/go.mod and update the dependency version and run go mod tidy to re-install the latest change.
Issue: This approach works but is quite tiresome, it would have been great if both the application and SDK were stable and have infrequent changes but I am still in the early development phase and can update my-sdk more than 10 times a day and then want to test the new feature several times in myApp causing many tags to be pushed and changing go.mod several times, just in a single day.
Since both project live in my laptop (inside WSL), I was wondering if there is way to make myApp always point to the latest version or master branch of the local my-sdk without having to push and tag every change of the SDK.
Note: I thought about just moving the SDK to live inside the app project momentarily (e.g. myApp/pkg/my-sdk/*) but not sure this is the best approach since I might start a second project (anotherApp ) which would also re-use the SDK underdevelopment .