diff --git a/__tests__/undock/undock.test.itg.ts b/__tests__/undock/undock.test.itg.ts new file mode 100644 index 0000000..09efd92 --- /dev/null +++ b/__tests__/undock/undock.test.itg.ts @@ -0,0 +1,51 @@ +/** + * Copyright 2025 actions-toolkit authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import {describe, expect, it} from '@jest/globals'; +import fs from 'fs'; +import os from 'os'; +import path from 'path'; + +import {Undock} from '../../src/undock/undock'; +import {Install as UndockInstall} from '../../src/undock/install'; + +const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'undock-itg-')); + +describe('run', () => { + it('extracts moby/moby-bin:26.1.5', async () => { + const install = new UndockInstall(); + const toolPath = await install.download('latest'); + if (!fs.existsSync(toolPath)) { + throw new Error('toolPath does not exist'); + } + const binPath = await install.install(toolPath); + if (!fs.existsSync(binPath)) { + throw new Error('binPath does not exist'); + } + + const undock = new Undock(); + await expect( + (async () => { + // prettier-ignore + await undock.run({ + source: 'moby/moby-bin:26.1.5', + dist: tmpDir, + all: true + }); + })() + ).resolves.not.toThrow(); + }, 100000); +}); diff --git a/dev.Dockerfile b/dev.Dockerfile index 91a2626..ef33fdc 100644 --- a/dev.Dockerfile +++ b/dev.Dockerfile @@ -18,7 +18,7 @@ ARG NODE_VERSION=20 ARG DOCKER_VERSION=27.2.1 ARG BUILDX_VERSION=0.23.0 ARG COMPOSE_VERSION=2.32.4 -ARG UNDOCK_VERSION=0.8.0 +ARG UNDOCK_VERSION=0.10.0 ARG REGCTL_VERSION=v0.8.2 FROM node:${NODE_VERSION}-alpine AS base diff --git a/src/docker/assets.ts b/src/docker/assets.ts index a70941a..e46fcc2 100644 --- a/src/docker/assets.ts +++ b/src/docker/assets.ts @@ -257,7 +257,7 @@ provision: x86_64) arch=amd64;; aarch64) arch=arm64;; esac - url="https://github.com/crazy-max/undock/releases/download/v0.8.0/undock_0.8.0_linux_$arch.tar.gz" + url="https://github.com/crazy-max/undock/releases/download/v0.10.0/undock_0.10.0_linux_$arch.tar.gz" wget "$url" -O /tmp/undock.tar.gz tar -C /usr/local/bin -xvf /tmp/undock.tar.gz