From 6793fa5c4c0be1af624e43297e879aa54a5ea8a6 Mon Sep 17 00:00:00 2001 From: CrazyMax <1951866+crazy-max@users.noreply.github.com> Date: Fri, 10 Jul 2026 13:17:00 +0200 Subject: [PATCH 1/2] update undock to 0.14.0 Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com> --- src/docker/assets.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/docker/assets.ts b/src/docker/assets.ts index 8eec6d13..4e418f76 100644 --- a/src/docker/assets.ts +++ b/src/docker/assets.ts @@ -283,7 +283,7 @@ provision: x86_64) arch=amd64;; aarch64) arch=arm64;; esac - url="https://github.com/crazy-max/undock/releases/download/v0.12.0/undock_0.12.0_linux_$arch.tar.gz" + url="https://github.com/crazy-max/undock/releases/download/v0.14.0/undock_0.14.0_linux_$arch.tar.gz" wget "$url" -O /tmp/undock.tar.gz tar -C /usr/local/bin -xvf /tmp/undock.tar.gz From f80a46ee1b4ffc550eec746caa9e29cfe37ef39f Mon Sep 17 00:00:00 2001 From: CrazyMax <1951866+crazy-max@users.noreply.github.com> Date: Fri, 10 Jul 2026 14:22:39 +0200 Subject: [PATCH 2/2] update lima undock version from update-deps Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com> --- .github/workflows/update-deps.yml | 11 +++++++++-- __tests__/docker/install.test.ts | 24 ++++++++++++++++++++++++ src/docker/assets.ts | 4 +++- src/docker/install.ts | 5 +++-- 4 files changed, 39 insertions(+), 5 deletions(-) diff --git a/.github/workflows/update-deps.yml b/.github/workflows/update-deps.yml index 52350624..23373801 100644 --- a/.github/workflows/update-deps.yml +++ b/.github/workflows/update-deps.yml @@ -161,7 +161,7 @@ jobs: } function tsConstStringPattern(key) { - return new RegExp(`^(const ${escapeRegExp(key)} = ')([^']*)(';)$`, 'm'); + return new RegExp(`^((?:export )?const ${escapeRegExp(key)} = ')([^']*)(';)$`, 'm'); } const dependencyConfigs = { @@ -259,14 +259,21 @@ jobs: sourceUrl: 'https://github.com/docker/actions-toolkit/blob/main/.github/undock-releases.json', async resolve() { const tag = readLatestTag('.github/undock-releases.json'); + const version = stripLeadingV(tag); return { titleValue: tag, targets: [ { path: 'dev.Dockerfile', key: 'UNDOCK_VERSION', - value: stripLeadingV(tag), + value: version, pattern: dockerfileArgPattern('UNDOCK_VERSION') + }, + { + path: 'src/docker/assets.ts', + key: 'limaUndockVersion', + value: version, + pattern: tsConstStringPattern('limaUndockVersion') } ] }; diff --git a/__tests__/docker/install.test.ts b/__tests__/docker/install.test.ts index 009edde6..2fe4b959 100644 --- a/__tests__/docker/install.test.ts +++ b/__tests__/docker/install.test.ts @@ -16,12 +16,14 @@ import {describe, expect, vi, test, beforeEach, afterEach, it} from 'vitest'; import fs from 'fs'; +import handlebars from 'handlebars'; import os from 'os'; import path from 'path'; import * as rimraf from 'rimraf'; import {mockArch, mockPlatform} from '../.helpers/os.js'; +import {limaYamlData, limaUndockVersion} from '../../src/docker/assets.js'; import {Install, InstallSourceArchive, InstallSourceImage} from '../../src/docker/install.js'; const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'docker-install-')); @@ -128,3 +130,25 @@ aarch64:https://cloud-images.ubuntu.com/releases/23.10/release-20231011/ubuntu-2 ]); }); }); + +describe('limaYamlData', () => { + it('renders the pinned undock version in the release URL', () => { + const instance = handlebars.create(); + instance.registerHelper('stringify', function (obj) { + return new instance.SafeString(JSON.stringify(obj)); + }); + const limaCfg = instance.compile(limaYamlData)({ + customImages: [], + daemonConfig: {}, + dockerSock: '/tmp/docker.sock', + gitCommit: 'master', + srcType: 'image', + srcArchiveVersion: '29.0.0', + srcArchiveChannel: 'stable', + srcImageTag: '29.0.0', + undockVersion: limaUndockVersion + }); + + expect(limaCfg).toContain(`url="https://github.com/crazy-max/undock/releases/download/v${limaUndockVersion}/undock_${limaUndockVersion}_linux_$arch.tar.gz"`); + }); +}); diff --git a/src/docker/assets.ts b/src/docker/assets.ts index 4e418f76..60f436db 100644 --- a/src/docker/assets.ts +++ b/src/docker/assets.ts @@ -29,6 +29,8 @@ export const limaYaml = (): string => { return get('lima.yaml', limaYamlData); }; +export const limaUndockVersion = '0.14.0'; + const get = (filename: string, data: string, mode?: string): string => { const assetPath = Context.tmpName({ template: `docker-asset-XXXXXX-${filename}`, @@ -283,7 +285,7 @@ provision: x86_64) arch=amd64;; aarch64) arch=arm64;; esac - url="https://github.com/crazy-max/undock/releases/download/v0.14.0/undock_0.14.0_linux_$arch.tar.gz" + url="https://github.com/crazy-max/undock/releases/download/v{{undockVersion}}/undock_{{undockVersion}}_linux_$arch.tar.gz" wget "$url" -O /tmp/undock.tar.gz tar -C /usr/local/bin -xvf /tmp/undock.tar.gz diff --git a/src/docker/install.ts b/src/docker/install.ts index e5aaef46..ce59aa98 100644 --- a/src/docker/install.ts +++ b/src/docker/install.ts @@ -33,7 +33,7 @@ import {Regctl} from '../regclient/regctl.js'; import {Undock} from '../undock/undock.js'; import {Util} from '../util.js'; -import {limaYamlData, dockerServiceLogsPs1, setupDockerWinPs1} from './assets.js'; +import {limaYamlData, dockerServiceLogsPs1, setupDockerWinPs1, limaUndockVersion} from './assets.js'; import {GitHubRelease} from '../types/github/github.js'; import {Image} from '../types/oci/config.js'; @@ -295,7 +295,8 @@ export class Install { srcType: src.type, srcArchiveVersion: this._version, // Use the resolved version (e.g. latest -> 27.4.0) srcArchiveChannel: srcArchive.channel, - srcImageTag: (src as InstallSourceImage).tag + srcImageTag: (src as InstallSourceImage).tag, + undockVersion: limaUndockVersion }); core.info(`Writing lima config to ${path.join(limaDir, 'lima.yaml')}`); fs.writeFileSync(path.join(limaDir, 'lima.yaml'), limaCfg);