Remove docker images before removing temp storage

This commit is contained in:
なつき 2021-10-08 04:54:22 +00:00
parent fa01218bc2
commit e47e573c16
3 changed files with 15 additions and 2 deletions

2
dist/index.js vendored

File diff suppressed because one or more lines are too long

2
dist/index.js.map vendored

File diff suppressed because one or more lines are too long

View file

@ -346,6 +346,18 @@ async function isPodmanLocalImageLatest(): Promise<boolean> {
return podmanImageTime > dockerImageTime;
}
// remove the pulled image from the Podman image storage
async function removeDockerImage(): Promise<void> {
core.info(`Removing "${sourceImages[0]}" from the Podman image storage`);
for (const imageWithTag of sourceImages) {
await execute(
await getPodmanPath(),
[ ...dockerPodmanOpts, "rmi", getFullDockerImageName(imageWithTag) ],
{ ignoreReturnCode: true, failOnStdErr: false, group: true }
);
}
}
async function createDockerPodmanImageStroage(): Promise<void> {
core.info(`Creating temporary Podman image storage for pulling from Docker daemon`);
dockerPodmanRoot = await fs.promises.mkdtemp(path.join(os.tmpdir(), "podman-from-docker-"));
@ -371,6 +383,7 @@ async function createDockerPodmanImageStroage(): Promise<void> {
async function removeDockerPodmanImageStroage(): Promise<void> {
if (dockerPodmanRoot) {
await removeDockerImage();
core.info(`Removing temporary Podman image storage for pulling from Docker daemon`);
await fs.promises.rmdir(dockerPodmanRoot, { recursive: true });
}