Integration test for caching
Description
The current integration tests fall short when it comes to verifying caching. They only check whether we can rebuild from cache and that the resulting files are identical. They do not test however whether we had any cache misses. With this change we make the tests a bit more stringent, a test is deemed passed if and only if all layers are identical, which means all layers must have been loaded from cache.
This is currently violated in four scenarios in the existing integration tests:
COPYinstruction is used without--cache-copy-layersWORKDIRis implictly creating a folderADDinstruction is usedRUNinstruction results in empty layer
I therefore removed them from the cache-integration tests and created ready-to-use integration tests for those scenarios to verify they are fixed.
Submitter Checklist
These are the criteria that every PR should meet, please check them off as you review them:
- [ ] Includes unit tests
- [x] Adds integration tests if needed.
See the contribution guide for more details.
Reviewer Notes
- [ ] The code flow looks good.
- [ ] Unit tests and or integration tests added.
Release Notes
Describe any changes here so maintainer can include it in the release notes, or delete this block.
Examples of user facing changes:
- kaniko adds a new flag `--registry-repo` to override registry