Looking at the travis file, we can see that there is a way to run integration tests locally. This great feature was brought by the following pull request
I think this feature quite great and should be documented as it is quite usefull.
However, looking at how it is done, I found the script that updates the integration docker files and copies the base image from gcr.io to local registry.
If any developer did it on its laptop, it would end with git modified file which is annoying.
It can be solved in several way
- The light way
keep a save of each updated dockerfiles and use the trap command to rollback the changes at the end of the integration-test.sh script.
- The hard way
- add a variable to
Makefile INTEGRATION_REGISTRY valued by default to gcr.io
- add the same variable to
integration-test.sh valued by default to gcr.io
- launch the copy from
gcr.io to target if differents
- either the light way or by using a build argument variable
INTEGRATION_REGISTRY in each FROM command and use it in each docker command launched by tests.
I would be glad to implement any chosen solution, even a third one 😄
Looking at the travis file, we can see that there is a way to run integration tests locally. This great feature was brought by the following pull request
I think this feature quite great and should be documented as it is quite usefull.
However, looking at how it is done, I found the script that updates the integration docker files and copies the base image from gcr.io to local registry.
If any developer did it on its laptop, it would end with git modified file which is annoying.
It can be solved in several way
keep a save of each updated dockerfiles and use the
trapcommand to rollback the changes at the end of theintegration-test.shscript.MakefileINTEGRATION_REGISTRYvalued by default togcr.iointegration-test.shvalued by default togcr.iogcr.ioto target if differentsINTEGRATION_REGISTRYin eachFROMcommand and use it in eachdockercommand launched by tests.I would be glad to implement any chosen solution, even a third one 😄