action-docker-layer-caching
action-docker-layer-caching copied to clipboard
Add Podman option support
Podman Support (Need help!)
Feature
Add optional parameter container that takes in docker or podman (defaults to docker).
Issue
Podman not using cache (even though Cache restored successfully), ~~I suspect might be caused by a different cache location.
Refer to this read on Oracle.~~
Podman layer cache id isn't retrieved correctly.
Refer to this run.
Current Situation
Refer to this workflow run using this code.
TODO
- [ ] Update documentation
- [ ] Update CI tests
Do you have another workflow run showing the original error? https://github.com/Kutsuja/Node-Podman-OpenShift-CI-CD isn't a public repo, so the run logs aren't available.
Also, can you give an overview of the changes made to implement this feature? The formatting changes make it harder to spot the functional changes in the diffs.
Thanks!
Oh yeah sorry, I overlooked that.
Changelog
What I did was to add an option to use either docker or podman.
Error Logs
- Podman Fresh
- This is the first run, with no cache found, expected.
Every layer shares the samelayerIdinPost Podman Layer Caching, a problem. - This is the second run, loaded cache successfully, but didn't use cache when building.
DockertoPodmantransition
- This is where
dockercaching is still working.
This is both the original and expected behaviour, splendid. - This is a run on
podmanright afterdocker.
We see inPodman Layer Caching, it did.. podman load ..and loaded the cache successfully.
However, it didn't use the cache. - This is yet another
podmanrun, same behaviour.
Noteworthy
Possible bug
We can see the coverage test drop from 100% to 50% in Build image, run lint/test (both Docker and Podman), I am not sure if this was due to the unit test.
Did limited testing and can't seem to replicate this with the old action, or without this action.
Other
Old log with same key as Docker to Podman transition
- Fresh
Podmanrun
I've been testing podman locally and it doesn't appear to be fully compatible with the docker CLI:
podman saverequires an extra flag-mto permit saving multiple images in a single archive; without that it only includes the first tag/digest specified.podman savefails if the output archive already exists.podman historyseems to omit the digests for some intermediate images.podman loaddoesn't appear to populate the cache with the loaded images.
The first two can be worked around, but if the last is correct then this action can't be updated to support podman.
Ah, what a shame :{