Compare commits
	
		
			27 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 8026d2bc36 | ||
|   | e51aab53e9 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | fd7390e14d | ||
|   | 910a304005 | ||
|   | 3623ee443e | ||
|   | e0e5ecf670 | ||
|   | 5334dd0cdd | ||
|   | 214bb6dac1 | ||
|   | 818c69a4ea | ||
|   | b467d6aa7a | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 7594cf3831 | ||
|   | 988b5a0280 | ||
|   | 2c215620b8 | ||
|   | 3382292cd5 | ||
|   | 3d68780484 | ||
|   | d069e98648 | ||
|   | 8b850f86dc | ||
|   | aa33708b10 | ||
|   | 2d99e3412d | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 4dab43650b | ||
|   | 49a04d6890 | ||
|   | a6ade2e34f | ||
|   | 2f2694b8d1 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 0a4bab6632 | ||
|   | 2ad185228a | ||
|   | 560ac469d6 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | b3a341759e | 
| @@ -101,7 +101,13 @@ The following inputs can be used as `step.with` keys: | ||||
| | `cache-binary`               | Bool     | `true`             | Cache buildx binary to GitHub Actions cache backend                                                                                                                          | | ||||
| | `cleanup`                    | Bool     | `true`             | Cleanup temp files and remove builder at the end of a job                                                                                                                    | | ||||
|  | ||||
| _\* `buildkitd-config` and `buildkitd-config-inline` are mutually exclusive_ | ||||
| > [!IMPORTANT] | ||||
| > If you set the `buildkitd-flags` input, the default flags (`--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host`) | ||||
| > will be reset. If you want to retain the default behavior, make sure to | ||||
| > include these flags in your custom `buildkitd-flags` value. | ||||
|  | ||||
| > [!NOTE] | ||||
| > `buildkitd-config` and `buildkitd-config-inline` are mutually exclusive. | ||||
|  | ||||
| ### outputs | ||||
|  | ||||
|   | ||||
| @@ -1,7 +1,6 @@ | ||||
| import {beforeEach, describe, expect, jest, test} from '@jest/globals'; | ||||
| import * as fs from 'fs'; | ||||
| import * as path from 'path'; | ||||
| import * as uuid from 'uuid'; | ||||
| import {Buildx} from '@docker/actions-toolkit/lib/buildx/buildx'; | ||||
| import {Context} from '@docker/actions-toolkit/lib/context'; | ||||
| import {Docker} from '@docker/actions-toolkit/lib/docker/docker'; | ||||
| @@ -26,8 +25,7 @@ jest.spyOn(Context, 'tmpName').mockImplementation((): string => { | ||||
|   return tmpName; | ||||
| }); | ||||
|  | ||||
| jest.mock('uuid'); | ||||
| jest.spyOn(uuid, 'v4').mockReturnValue('9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'); | ||||
| jest.spyOn(crypto, 'randomUUID').mockReturnValue('9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'); | ||||
|  | ||||
| jest.spyOn(Docker, 'context').mockImplementation((): Promise<string> => { | ||||
|   return Promise.resolve('default'); | ||||
| @@ -226,6 +224,24 @@ describe('getCreateArgs', () => { | ||||
|         '--buildkitd-flags', '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host', | ||||
|         '--config', tmpName, | ||||
|       ] | ||||
|     ], | ||||
|     [ | ||||
|       10, | ||||
|       'v0.10.3', | ||||
|       new Map<string, string>([ | ||||
|         ['install', 'false'], | ||||
|         ['use', 'false'], | ||||
|         ['driver', 'cloud'], | ||||
|         ['buildkitd-flags', '--allow-insecure-entitlement network.host'], | ||||
|         ['cache-binary', 'true'], | ||||
|         ['cleanup', 'true'], | ||||
|       ]), | ||||
|       [ | ||||
|         'create', | ||||
|         '--name', 'builder-9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d', | ||||
|         '--driver', 'cloud', | ||||
|         '--buildkitd-flags', '--allow-insecure-entitlement network.host', | ||||
|       ] | ||||
|     ] | ||||
|   ])( | ||||
|     '[%d] given buildx %s and %p as inputs, returns %p', | ||||
|   | ||||
| @@ -19,7 +19,6 @@ inputs: | ||||
|     required: false | ||||
|   buildkitd-flags: | ||||
|     description: 'BuildKit daemon flags' | ||||
|     default: '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host' | ||||
|     required: false | ||||
|   buildkitd-config: | ||||
|     description: 'BuildKit daemon config file' | ||||
| @@ -52,7 +51,7 @@ inputs: | ||||
|     description: 'Cleanup temp files and remove builder at the end of a job' | ||||
|     default: 'true' | ||||
|     required: false | ||||
|   # deprecated inputs | ||||
|   # TODO: remove deprecated config and config-inline inputs | ||||
|   config: | ||||
|     description: 'BuildKit daemon config file' | ||||
|     deprecationMessage: 'Use buildkitd-config instead' | ||||
|   | ||||
							
								
								
									
										20
									
								
								dist/index.js
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								dist/index.js
									
									
									
										generated
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										2
									
								
								dist/index.js.map
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								dist/index.js.map
									
									
									
										generated
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -26,14 +26,12 @@ | ||||
|   "packageManager": "yarn@3.6.3", | ||||
|   "dependencies": { | ||||
|     "@actions/core": "^1.10.1", | ||||
|     "@docker/actions-toolkit": "^0.31.0", | ||||
|     "js-yaml": "^4.1.0", | ||||
|     "uuid": "^10.0.0" | ||||
|     "@docker/actions-toolkit": "^0.39.0", | ||||
|     "js-yaml": "^4.1.0" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "@types/js-yaml": "^4.0.9", | ||||
|     "@types/node": "^20.12.12", | ||||
|     "@types/uuid": "^10.0.0", | ||||
|     "@typescript-eslint/eslint-plugin": "^7.9.0", | ||||
|     "@typescript-eslint/parser": "^7.9.0", | ||||
|     "@vercel/ncc": "^0.38.1", | ||||
|   | ||||
| @@ -1,4 +1,3 @@ | ||||
| import * as uuid from 'uuid'; | ||||
| import * as core from '@actions/core'; | ||||
|  | ||||
| import {Docker} from '@docker/actions-toolkit/lib/docker/docker'; | ||||
| @@ -8,6 +7,7 @@ import {Toolkit} from '@docker/actions-toolkit/lib/toolkit'; | ||||
| import {Node} from '@docker/actions-toolkit/lib/types/buildx/builder'; | ||||
|  | ||||
| export const builderNodeEnvPrefix = 'BUILDER_NODE'; | ||||
| const defaultBuildkitdFlags = '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host'; | ||||
|  | ||||
| export interface Inputs { | ||||
|   version: string; | ||||
| @@ -32,7 +32,7 @@ export async function getInputs(): Promise<Inputs> { | ||||
|     name: await getBuilderName(core.getInput('driver') || 'docker-container'), | ||||
|     driver: core.getInput('driver') || 'docker-container', | ||||
|     driverOpts: Util.getInputList('driver-opts', {ignoreComma: true, quote: false}), | ||||
|     buildkitdFlags: core.getInput('buildkitd-flags') || '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host', | ||||
|     buildkitdFlags: core.getInput('buildkitd-flags'), | ||||
|     platforms: Util.getInputList('platforms'), | ||||
|     install: core.getBooleanInput('install'), | ||||
|     use: core.getBooleanInput('use'), | ||||
| @@ -46,17 +46,19 @@ export async function getInputs(): Promise<Inputs> { | ||||
| } | ||||
|  | ||||
| export async function getBuilderName(driver: string): Promise<string> { | ||||
|   return driver == 'docker' ? await Docker.context() : `builder-${uuid.v4()}`; | ||||
|   return driver == 'docker' ? await Docker.context() : `builder-${crypto.randomUUID()}`; | ||||
| } | ||||
|  | ||||
| export async function getCreateArgs(inputs: Inputs, toolkit: Toolkit): Promise<Array<string>> { | ||||
|   const args: Array<string> = ['create', '--name', inputs.name, '--driver', inputs.driver]; | ||||
|   if (await toolkit.buildx.versionSatisfies('>=0.3.0')) { | ||||
|     await Util.asyncForEach(inputs.driverOpts, async driverOpt => { | ||||
|     await Util.asyncForEach(inputs.driverOpts, async (driverOpt: string) => { | ||||
|       args.push('--driver-opt', driverOpt); | ||||
|     }); | ||||
|     if (driverSupportsFlags(inputs.driver) && inputs.buildkitdFlags) { | ||||
|     if (inputs.buildkitdFlags) { | ||||
|       args.push('--buildkitd-flags', inputs.buildkitdFlags); | ||||
|     } else if (driverSupportsBuildkitdFlags(inputs.driver)) { | ||||
|       args.push('--buildkitd-flags', defaultBuildkitdFlags); | ||||
|     } | ||||
|   } | ||||
|   if (inputs.platforms.length > 0) { | ||||
| @@ -65,12 +67,10 @@ export async function getCreateArgs(inputs: Inputs, toolkit: Toolkit): Promise<A | ||||
|   if (inputs.use) { | ||||
|     args.push('--use'); | ||||
|   } | ||||
|   if (driverSupportsFlags(inputs.driver)) { | ||||
|     if (inputs.buildkitdConfig) { | ||||
|       args.push('--config', toolkit.buildkit.config.resolveFromFile(inputs.buildkitdConfig)); | ||||
|     } else if (inputs.buildkitdConfigInline) { | ||||
|       args.push('--config', toolkit.buildkit.config.resolveFromString(inputs.buildkitdConfigInline)); | ||||
|     } | ||||
|   if (inputs.buildkitdConfig) { | ||||
|     args.push('--config', toolkit.buildkit.config.resolveFromFile(inputs.buildkitdConfig)); | ||||
|   } else if (inputs.buildkitdConfigInline) { | ||||
|     args.push('--config', toolkit.buildkit.config.resolveFromString(inputs.buildkitdConfigInline)); | ||||
|   } | ||||
|   if (inputs.endpoint) { | ||||
|     args.push(inputs.endpoint); | ||||
| @@ -83,14 +83,16 @@ export async function getAppendArgs(inputs: Inputs, node: Node, toolkit: Toolkit | ||||
|   if (node.name) { | ||||
|     args.push('--node', node.name); | ||||
|   } else if (inputs.driver == 'kubernetes' && (await toolkit.buildx.versionSatisfies('<0.11.0'))) { | ||||
|     args.push('--node', `node-${uuid.v4()}`); | ||||
|     args.push('--node', `node-${crypto.randomUUID()}`); | ||||
|   } | ||||
|   if (node['driver-opts'] && (await toolkit.buildx.versionSatisfies('>=0.3.0'))) { | ||||
|     await Util.asyncForEach(node['driver-opts'], async driverOpt => { | ||||
|     await Util.asyncForEach(node['driver-opts'], async (driverOpt: string) => { | ||||
|       args.push('--driver-opt', driverOpt); | ||||
|     }); | ||||
|     if (driverSupportsFlags(inputs.driver) && node['buildkitd-flags']) { | ||||
|     if (node['buildkitd-flags']) { | ||||
|       args.push('--buildkitd-flags', node['buildkitd-flags']); | ||||
|     } else if (driverSupportsBuildkitdFlags(inputs.driver)) { | ||||
|       args.push('--buildkitd-flags', defaultBuildkitdFlags); | ||||
|     } | ||||
|   } | ||||
|   if (node.platforms) { | ||||
| @@ -110,6 +112,6 @@ export async function getInspectArgs(inputs: Inputs, toolkit: Toolkit): Promise< | ||||
|   return args; | ||||
| } | ||||
|  | ||||
| function driverSupportsFlags(driver: string): boolean { | ||||
| function driverSupportsBuildkitdFlags(driver: string): boolean { | ||||
|   return driver == '' || driver == 'docker-container' || driver == 'docker' || driver == 'kubernetes'; | ||||
| } | ||||
|   | ||||
							
								
								
									
										60
									
								
								src/main.ts
									
									
									
									
									
								
							
							
						
						
									
										60
									
								
								src/main.ts
									
									
									
									
									
								
							| @@ -11,6 +11,7 @@ import {Toolkit} from '@docker/actions-toolkit/lib/toolkit'; | ||||
| import {Util} from '@docker/actions-toolkit/lib/util'; | ||||
|  | ||||
| import {Node} from '@docker/actions-toolkit/lib/types/buildx/builder'; | ||||
| import {ContextInfo} from '@docker/actions-toolkit/lib/types/docker/docker'; | ||||
|  | ||||
| import * as context from './context'; | ||||
| import * as stateHelper from './state-helper'; | ||||
| @@ -68,6 +69,51 @@ actionsToolkit.run( | ||||
|     fs.mkdirSync(Buildx.certsDir, {recursive: true}); | ||||
|     stateHelper.setCertsDir(Buildx.certsDir); | ||||
|  | ||||
|     // if the default context has TLS data loaded and endpoint is not set, then | ||||
|     // we create a temporary docker context only if driver is docker-container | ||||
|     // https://github.com/docker/buildx/blob/b96ad59f64d40873e4959336d294b648bb3937fe/builder/builder.go#L489 | ||||
|     // https://github.com/docker/setup-buildx-action/issues/105 | ||||
|     if (!standalone && inputs.driver == 'docker-container' && (await Docker.context()) == 'default' && inputs.endpoint.length == 0) { | ||||
|       let defaultContextWithTLS: boolean = false; | ||||
|       await core.group(`Inspecting default docker context`, async () => { | ||||
|         await Docker.getExecOutput(['context', 'inspect', '--format=json', 'default'], { | ||||
|           ignoreReturnCode: true, | ||||
|           silent: true | ||||
|         }).then(res => { | ||||
|           if (res.stderr.length > 0 && res.exitCode != 0) { | ||||
|             core.info(`Cannot inspect default docker context: ${res.stderr.trim()}`); | ||||
|           } else { | ||||
|             try { | ||||
|               const contextInfo = (<Array<ContextInfo>>JSON.parse(res.stdout.trim()))[0]; | ||||
|               core.info(JSON.stringify(JSON.parse(res.stdout.trim()), undefined, 2)); | ||||
|               const hasTLSData = Object.keys(contextInfo.Endpoints).length > 0 && Object.values(contextInfo.Endpoints)[0].TLSData !== undefined; | ||||
|               const hasTLSMaterial = Object.keys(contextInfo.TLSMaterial).length > 0 && Object.values(contextInfo.TLSMaterial)[0].length > 0; | ||||
|               defaultContextWithTLS = hasTLSData || hasTLSMaterial; | ||||
|             } catch (e) { | ||||
|               core.info(`Unable to parse default docker context info: ${e}`); | ||||
|               core.info(res.stdout.trim()); | ||||
|             } | ||||
|           } | ||||
|         }); | ||||
|       }); | ||||
|       if (defaultContextWithTLS) { | ||||
|         const tmpDockerContext = `buildx-${crypto.randomUUID()}`; | ||||
|         await core.group(`Creating temp docker context (TLS data loaded in default one)`, async () => { | ||||
|           await Docker.getExecOutput(['context', 'create', tmpDockerContext], { | ||||
|             ignoreReturnCode: true | ||||
|           }).then(res => { | ||||
|             if (res.stderr.length > 0 && res.exitCode != 0) { | ||||
|               core.warning(`Cannot create docker context ${tmpDockerContext}: ${res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error'}`); | ||||
|             } else { | ||||
|               core.info(`Setting builder endpoint to ${tmpDockerContext} context`); | ||||
|               inputs.endpoint = tmpDockerContext; | ||||
|               stateHelper.setTmpDockerContext(tmpDockerContext); | ||||
|             } | ||||
|           }); | ||||
|         }); | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     if (inputs.driver !== 'docker') { | ||||
|       await core.group(`Creating a new builder instance`, async () => { | ||||
|         const certsDriverOpts = Buildx.resolveCertsDriverOpts(inputs.driver, inputs.endpoint, { | ||||
| @@ -181,7 +227,7 @@ actionsToolkit.run( | ||||
|   async () => { | ||||
|     if (stateHelper.IsDebug && stateHelper.containerName.length > 0) { | ||||
|       await core.group(`BuildKit container logs`, async () => { | ||||
|         await Exec.getExecOutput('docker', ['logs', `${stateHelper.containerName}`], { | ||||
|         await Docker.getExecOutput(['logs', `${stateHelper.containerName}`], { | ||||
|           ignoreReturnCode: true | ||||
|         }).then(res => { | ||||
|           if (res.stderr.length > 0 && res.exitCode != 0) { | ||||
| @@ -214,6 +260,18 @@ actionsToolkit.run( | ||||
|       }); | ||||
|     } | ||||
|  | ||||
|     if (stateHelper.tmpDockerContext) { | ||||
|       await core.group(`Removing temp docker context`, async () => { | ||||
|         await Exec.getExecOutput('docker', ['context', 'rm', '-f', stateHelper.tmpDockerContext], { | ||||
|           ignoreReturnCode: true | ||||
|         }).then(res => { | ||||
|           if (res.stderr.length > 0 && res.exitCode != 0) { | ||||
|             core.warning(`${res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error'}`); | ||||
|           } | ||||
|         }); | ||||
|       }); | ||||
|     } | ||||
|  | ||||
|     if (stateHelper.certsDir.length > 0 && fs.existsSync(stateHelper.certsDir)) { | ||||
|       await core.group(`Cleaning up certificates`, async () => { | ||||
|         fs.rmSync(stateHelper.certsDir, {recursive: true}); | ||||
|   | ||||
| @@ -6,6 +6,7 @@ export const builderName = process.env['STATE_builderName'] || ''; | ||||
| export const builderDriver = process.env['STATE_builderDriver'] || ''; | ||||
| export const containerName = process.env['STATE_containerName'] || ''; | ||||
| export const certsDir = process.env['STATE_certsDir'] || ''; | ||||
| export const tmpDockerContext = process.env['STATE_tmpDockerContext'] || ''; | ||||
| export const cleanup = /true/i.test(process.env['STATE_cleanup'] || ''); | ||||
|  | ||||
| export function setDebug(debug: string) { | ||||
| @@ -32,6 +33,10 @@ export function setCertsDir(certsDir: string) { | ||||
|   core.saveState('certsDir', certsDir); | ||||
| } | ||||
|  | ||||
| export function setTmpDockerContext(tmpDockerContext: string) { | ||||
|   core.saveState('tmpDockerContext', tmpDockerContext); | ||||
| } | ||||
|  | ||||
| export function setCleanup(cleanup: boolean) { | ||||
|   core.saveState('cleanup', cleanup); | ||||
| } | ||||
|   | ||||
							
								
								
									
										71
									
								
								yarn.lock
									
									
									
									
									
								
							
							
						
						
									
										71
									
								
								yarn.lock
									
									
									
									
									
								
							| @@ -12,9 +12,9 @@ __metadata: | ||||
|   languageName: node | ||||
|   linkType: hard | ||||
|  | ||||
| "@actions/artifact@npm:^2.1.7": | ||||
|   version: 2.1.7 | ||||
|   resolution: "@actions/artifact@npm:2.1.7" | ||||
| "@actions/artifact@npm:^2.1.9": | ||||
|   version: 2.1.10 | ||||
|   resolution: "@actions/artifact@npm:2.1.10" | ||||
|   dependencies: | ||||
|     "@actions/core": ^1.10.0 | ||||
|     "@actions/github": ^5.1.1 | ||||
| @@ -30,7 +30,7 @@ __metadata: | ||||
|     jwt-decode: ^3.1.2 | ||||
|     twirp-ts: ^2.5.0 | ||||
|     unzip-stream: ^0.3.1 | ||||
|   checksum: 346c7caf43bdeb4a96c044ca3a6a005d82b977178b1a6be2c6954dfd59fef3344d2576bdd07c6cac9b54207cc88d7b1161cabd08c7cc15a1db86bf82463b36c7 | ||||
|   checksum: dfe4cb49da913e7706b884ff2dac629671f298febb1e54b2800659e4e78651c47032548ee5e18f164e31894b4aca4320201a97a7cd4240d0fbf7d203a6955b29 | ||||
|   languageName: node | ||||
|   linkType: hard | ||||
|  | ||||
| @@ -105,7 +105,7 @@ __metadata: | ||||
|   languageName: node | ||||
|   linkType: hard | ||||
|  | ||||
| "@actions/http-client@npm:^2.0.1, @actions/http-client@npm:^2.1.0, @actions/http-client@npm:^2.1.1, @actions/http-client@npm:^2.2.0, @actions/http-client@npm:^2.2.1": | ||||
| "@actions/http-client@npm:^2.0.1, @actions/http-client@npm:^2.1.0, @actions/http-client@npm:^2.1.1, @actions/http-client@npm:^2.2.0": | ||||
|   version: 2.2.1 | ||||
|   resolution: "@actions/http-client@npm:2.2.1" | ||||
|   dependencies: | ||||
| @@ -115,6 +115,16 @@ __metadata: | ||||
|   languageName: node | ||||
|   linkType: hard | ||||
|  | ||||
| "@actions/http-client@npm:^2.2.3": | ||||
|   version: 2.2.3 | ||||
|   resolution: "@actions/http-client@npm:2.2.3" | ||||
|   dependencies: | ||||
|     tunnel: ^0.0.6 | ||||
|     undici: ^5.25.4 | ||||
|   checksum: 5d395df575d30ae599efa10dd715e72944b015e753db61f0a823f737acbb0e99743d4a9f25e812b18ec8cc34f86c73565d075c449e01ffa891577b6595212dde | ||||
|   languageName: node | ||||
|   linkType: hard | ||||
|  | ||||
| "@actions/io@npm:^1.0.1, @actions/io@npm:^1.1.1, @actions/io@npm:^1.1.3": | ||||
|   version: 1.1.3 | ||||
|   resolution: "@actions/io@npm:1.1.3" | ||||
| @@ -1071,16 +1081,16 @@ __metadata: | ||||
|   languageName: node | ||||
|   linkType: hard | ||||
|  | ||||
| "@docker/actions-toolkit@npm:^0.31.0": | ||||
|   version: 0.31.0 | ||||
|   resolution: "@docker/actions-toolkit@npm:0.31.0" | ||||
| "@docker/actions-toolkit@npm:^0.39.0": | ||||
|   version: 0.39.0 | ||||
|   resolution: "@docker/actions-toolkit@npm:0.39.0" | ||||
|   dependencies: | ||||
|     "@actions/artifact": ^2.1.7 | ||||
|     "@actions/artifact": ^2.1.9 | ||||
|     "@actions/cache": ^3.2.4 | ||||
|     "@actions/core": ^1.10.1 | ||||
|     "@actions/exec": ^1.1.1 | ||||
|     "@actions/github": ^6.0.0 | ||||
|     "@actions/http-client": ^2.2.1 | ||||
|     "@actions/http-client": ^2.2.3 | ||||
|     "@actions/io": ^1.1.3 | ||||
|     "@actions/tool-cache": ^2.0.1 | ||||
|     "@azure/storage-blob": ^12.15.0 | ||||
| @@ -1093,10 +1103,10 @@ __metadata: | ||||
|     he: ^1.2.0 | ||||
|     js-yaml: ^4.1.0 | ||||
|     jwt-decode: ^4.0.0 | ||||
|     semver: ^7.6.2 | ||||
|     semver: ^7.6.3 | ||||
|     tar-stream: ^3.1.7 | ||||
|     tmp: ^0.2.3 | ||||
|   checksum: 34fdc08b6380bbee05fc740b161bb1172658da6d3e58f0f9cf8bc12011da638b37314e2a92a689542955189459ace241769c9f247a6917bf8365bc461221eecd | ||||
|   checksum: 9dafe3c3e02f6f78c8da4cfb8bc726ae5eef9b6a2fedfca5d75ee6d6c559745c12aa16587dd595360f76be91803235dc66e0852e595ef7a582506fa0d4402983 | ||||
|   languageName: node | ||||
|   linkType: hard | ||||
|  | ||||
| @@ -2124,13 +2134,6 @@ __metadata: | ||||
|   languageName: node | ||||
|   linkType: hard | ||||
|  | ||||
| "@types/uuid@npm:^10.0.0": | ||||
|   version: 10.0.0 | ||||
|   resolution: "@types/uuid@npm:10.0.0" | ||||
|   checksum: e3958f8b0fe551c86c14431f5940c3470127293280830684154b91dc7eb3514aeb79fe3216968833cf79d4d1c67f580f054b5be2cd562bebf4f728913e73e944 | ||||
|   languageName: node | ||||
|   linkType: hard | ||||
|  | ||||
| "@types/yargs-parser@npm:*": | ||||
|   version: 20.2.0 | ||||
|   resolution: "@types/yargs-parser@npm:20.2.0" | ||||
| @@ -3168,10 +3171,9 @@ __metadata: | ||||
|   resolution: "docker-setup-buildx@workspace:." | ||||
|   dependencies: | ||||
|     "@actions/core": ^1.10.1 | ||||
|     "@docker/actions-toolkit": ^0.31.0 | ||||
|     "@docker/actions-toolkit": ^0.39.0 | ||||
|     "@types/js-yaml": ^4.0.9 | ||||
|     "@types/node": ^20.12.12 | ||||
|     "@types/uuid": ^10.0.0 | ||||
|     "@typescript-eslint/eslint-plugin": ^7.9.0 | ||||
|     "@typescript-eslint/parser": ^7.9.0 | ||||
|     "@vercel/ncc": ^0.38.1 | ||||
| @@ -3185,7 +3187,6 @@ __metadata: | ||||
|     ts-jest: ^29.1.2 | ||||
|     ts-node: ^10.9.2 | ||||
|     typescript: ^5.4.5 | ||||
|     uuid: ^10.0.0 | ||||
|   languageName: unknown | ||||
|   linkType: soft | ||||
|  | ||||
| @@ -5534,9 +5535,9 @@ __metadata: | ||||
|   linkType: hard | ||||
|  | ||||
| "path-to-regexp@npm:^6.2.0": | ||||
|   version: 6.2.2 | ||||
|   resolution: "path-to-regexp@npm:6.2.2" | ||||
|   checksum: b7b0005c36f5099f9ed1fb20a820d2e4ed1297ffe683ea1d678f5e976eb9544f01debb281369dabdc26da82e6453901bf71acf2c7ed14b9243536c2a45286c33 | ||||
|   version: 6.3.0 | ||||
|   resolution: "path-to-regexp@npm:6.3.0" | ||||
|   checksum: eca78602e6434a1b6799d511d375ec044e8d7e28f5a48aa5c28d57d8152fb52f3fc62fb1cfc5dfa2198e1f041c2a82ed14043d75740a2fe60e91b5089a153250 | ||||
|   languageName: node | ||||
|   linkType: hard | ||||
|  | ||||
| @@ -5940,7 +5941,7 @@ __metadata: | ||||
|   languageName: node | ||||
|   linkType: hard | ||||
|  | ||||
| "semver@npm:^7.6.0, semver@npm:^7.6.2": | ||||
| "semver@npm:^7.6.0": | ||||
|   version: 7.6.2 | ||||
|   resolution: "semver@npm:7.6.2" | ||||
|   bin: | ||||
| @@ -5949,6 +5950,15 @@ __metadata: | ||||
|   languageName: node | ||||
|   linkType: hard | ||||
|  | ||||
| "semver@npm:^7.6.3": | ||||
|   version: 7.6.3 | ||||
|   resolution: "semver@npm:7.6.3" | ||||
|   bin: | ||||
|     semver: bin/semver.js | ||||
|   checksum: 4110ec5d015c9438f322257b1c51fe30276e5f766a3f64c09edd1d7ea7118ecbc3f379f3b69032bacf13116dc7abc4ad8ce0d7e2bd642e26b0d271b56b61a7d8 | ||||
|   languageName: node | ||||
|   linkType: hard | ||||
|  | ||||
| "shebang-command@npm:^2.0.0": | ||||
|   version: 2.0.0 | ||||
|   resolution: "shebang-command@npm:2.0.0" | ||||
| @@ -6661,15 +6671,6 @@ __metadata: | ||||
|   languageName: node | ||||
|   linkType: hard | ||||
|  | ||||
| "uuid@npm:^10.0.0": | ||||
|   version: 10.0.0 | ||||
|   resolution: "uuid@npm:10.0.0" | ||||
|   bin: | ||||
|     uuid: dist/bin/uuid | ||||
|   checksum: 4b81611ade2885d2313ddd8dc865d93d8dccc13ddf901745edca8f86d99bc46d7a330d678e7532e7ebf93ce616679fb19b2e3568873ac0c14c999032acb25869 | ||||
|   languageName: node | ||||
|   linkType: hard | ||||
|  | ||||
| "uuid@npm:^3.3.2, uuid@npm:^3.3.3": | ||||
|   version: 3.4.0 | ||||
|   resolution: "uuid@npm:3.4.0" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user