Skip to content
This repository was archived by the owner on Jun 3, 2025. It is now read-only.

Conversation

@mzihlmann
Copy link

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:

  • COPY instruction is used without --cache-copy-layers
  • WORKDIR is implictly creating a folder
  • ADD instruction is used
  • RUN instruction 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
  • 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

@mzihlmann mzihlmann force-pushed the integration-test-does-not-test-caching branch from f2f3148 to 41a9754 Compare May 26, 2025 12:56
@@ -0,0 +1,8 @@
FROM ubuntu

# Creates cache misses on main@1d2bff5 before #3340:
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see #3340

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant