mirror of
				https://github.com/docker/setup-buildx-action.git
				synced 2025-11-01 04:04:19 +08:00 
			
		
		
		
	context: only append flags if we know the driver supports them
Background: before this change, if i tried to use GHA with an experimental driver, it would automatically append the flags `` --allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host ``` even if the underlying driver did not support them. Signed-off-by: Nick Santos <nick.santos@docker.com>
This commit is contained in:
		
							parent
							
								
									ecf95283f0
								
							
						
					
					
						commit
						922550f064
					
				| @ -148,6 +148,21 @@ describe('getCreateArgs', () => { | ||||
|         '--buildkitd-flags', '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host', | ||||
|         '--platform', 'linux/amd64,linux/arm64,linux/arm/v7' | ||||
|       ] | ||||
|     ], | ||||
|     [ | ||||
|       7, | ||||
|       'v0.10.3', | ||||
|       new Map<string, string>([ | ||||
|         ['install', 'false'], | ||||
|         ['use', 'false'], | ||||
|         ['driver', 'unknown'], | ||||
|         ['cleanup', 'true'], | ||||
|       ]), | ||||
|       [ | ||||
|         'create', | ||||
|         '--name', 'builder-9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d', | ||||
|         '--driver', 'unknown', | ||||
|       ] | ||||
|     ] | ||||
|   ])( | ||||
|     '[%d] given buildx %s and %p as inputs, returns %p', | ||||
|  | ||||
							
								
								
									
										2
									
								
								dist/index.js
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								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
											
										
									
								
							| @ -51,7 +51,7 @@ export async function getCreateArgs(inputs: Inputs, toolkit: Toolkit): Promise<A | ||||
|     await Util.asyncForEach(inputs.driverOpts, async driverOpt => { | ||||
|       args.push('--driver-opt', driverOpt); | ||||
|     }); | ||||
|     if (inputs.driver != 'remote' && inputs.buildkitdFlags) { | ||||
|     if (driverSupportsFlags(inputs.driver) && inputs.buildkitdFlags) { | ||||
|       args.push('--buildkitd-flags', inputs.buildkitdFlags); | ||||
|     } | ||||
|   } | ||||
| @ -61,7 +61,7 @@ export async function getCreateArgs(inputs: Inputs, toolkit: Toolkit): Promise<A | ||||
|   if (inputs.use) { | ||||
|     args.push('--use'); | ||||
|   } | ||||
|   if (inputs.driver != 'remote') { | ||||
|   if (driverSupportsFlags(inputs.driver)) { | ||||
|     if (inputs.config) { | ||||
|       args.push('--config', toolkit.buildkit.config.resolveFromFile(inputs.config)); | ||||
|     } else if (inputs.configInline) { | ||||
| @ -85,7 +85,7 @@ export async function getAppendArgs(inputs: Inputs, node: Node, toolkit: Toolkit | ||||
|     await Util.asyncForEach(node['driver-opts'], async driverOpt => { | ||||
|       args.push('--driver-opt', driverOpt); | ||||
|     }); | ||||
|     if (inputs.driver != 'remote' && node['buildkitd-flags']) { | ||||
|     if (driverSupportsFlags(inputs.driver) && node['buildkitd-flags']) { | ||||
|       args.push('--buildkitd-flags', node['buildkitd-flags']); | ||||
|     } | ||||
|   } | ||||
| @ -105,3 +105,7 @@ export async function getInspectArgs(inputs: Inputs, toolkit: Toolkit): Promise< | ||||
|   } | ||||
|   return args; | ||||
| } | ||||
| 
 | ||||
| function driverSupportsFlags(driver: string): boolean { | ||||
|   return driver == '' || driver == 'docker-container' || driver == 'docker' || driver == 'kubernetes'; | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Nick Santos
						Nick Santos