I have a stage for building my application, and another stage for running integration tests. As I understand it, each job that needs the source must checkout the source again, so what happens if someone commits during the build stage? Will the integration step phase include the newest commit? Or will it somehow be locked to the revision of the source used in the build stage?