add-host input
				
					
				
			Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
		
							parent
							
								
									d8b0ca6f0e
								
							
						
					
					
						commit
						eebf87aed1
					
				
							
								
								
									
										24
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										24
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							| @ -416,6 +416,30 @@ jobs: | ||||
|         if: always() | ||||
|         uses: crazy-max/ghaction-dump-context@v1 | ||||
| 
 | ||||
|   addhost: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - | ||||
|         name: Checkout | ||||
|         uses: actions/checkout@v2 | ||||
|       - | ||||
|         name: Set up Docker Buildx | ||||
|         uses: docker/setup-buildx-action@v1 | ||||
|       - | ||||
|         name: Build | ||||
|         uses: ./ | ||||
|         with: | ||||
|           context: ./test | ||||
|           file: ./test/addhost.Dockerfile | ||||
|           tags: name/app:latest | ||||
|           add-host: | | ||||
|             docker:10.180.0.1 | ||||
|             foo:10.0.0.1 | ||||
|       - | ||||
|         name: Dump context | ||||
|         if: always() | ||||
|         uses: crazy-max/ghaction-dump-context@v1 | ||||
| 
 | ||||
|   multi: | ||||
|     runs-on: ubuntu-latest | ||||
|     strategy: | ||||
|  | ||||
| @ -199,6 +199,7 @@ Following inputs can be used as `step.with` keys | ||||
| 
 | ||||
| | Name                | Type     | Description                        | | ||||
| |---------------------|----------|------------------------------------| | ||||
| | `add-host`          | List/CSV | Add a [custom host-to-IP mapping](https://docs.docker.com/engine/reference/commandline/build/#add-entries-to-container-hosts-file---add-host) (e.g., `docker:10.180.0.1`) | | ||||
| | `allow`             | List/CSV | List of [extra privileged entitlement](https://github.com/docker/buildx/blob/master/docs/reference/buildx_build.md#allow) (e.g., `network.host,security.insecure`) | | ||||
| | `builder`           | String   | Builder instance (see [setup-buildx](https://github.com/docker/setup-buildx-action) action) | | ||||
| | `build-args`        | List     | List of build-time variables | | ||||
|  | ||||
| @ -469,6 +469,7 @@ ccc`], | ||||
|       new Map<string, string>([ | ||||
|         ['context', '.'], | ||||
|         ['file', './test/Dockerfile'], | ||||
|         ['add-host', 'docker:10.180.0.1'], | ||||
|         ['cgroup-parent', 'foo'], | ||||
|         ['shm-size', '2g'], | ||||
|         ['ulimit', `nofile=1024:1024
 | ||||
| @ -481,6 +482,7 @@ nproc=3`], | ||||
|       [ | ||||
|         'buildx', | ||||
|         'build', | ||||
|         '--add-host', 'docker:10.180.0.1', | ||||
|         '--cgroup-parent', 'foo', | ||||
|         '--file', './test/Dockerfile', | ||||
|         '--iidfile', '/tmp/.docker-build-push-jest/iidfile', | ||||
|  | ||||
| @ -7,6 +7,9 @@ branding: | ||||
|   color: 'blue' | ||||
| 
 | ||||
| inputs: | ||||
|   add-host: | ||||
|     description: "Add a custom host-to-IP mapping (e.g., docker:10.180.0.1)" | ||||
|     required: false | ||||
|   allow: | ||||
|     description: "List of extra privileged entitlement (e.g., network.host,security.insecure)" | ||||
|     required: false | ||||
|  | ||||
							
								
								
									
										4
									
								
								dist/index.js
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								dist/index.js
									
									
									
										generated
									
									
										vendored
									
									
								
							| @ -270,6 +270,7 @@ exports.tmpNameSync = tmpNameSync; | ||||
| function getInputs(defaultContext) { | ||||
|     return __awaiter(this, void 0, void 0, function* () { | ||||
|         return { | ||||
|             addHost: yield getInputList('add-host'), | ||||
|             allow: yield getInputList('allow'), | ||||
|             buildArgs: yield getInputList('build-args', true), | ||||
|             builder: core.getInput('builder'), | ||||
| @ -311,6 +312,9 @@ exports.getArgs = getArgs; | ||||
| function getBuildArgs(inputs, defaultContext, buildxVersion) { | ||||
|     return __awaiter(this, void 0, void 0, function* () { | ||||
|         let args = ['build']; | ||||
|         if (inputs.addHost.length > 0) { | ||||
|             args.push('--add-host', inputs.addHost.join(',')); | ||||
|         } | ||||
|         if (inputs.allow.length > 0) { | ||||
|             args.push('--allow', inputs.allow.join(',')); | ||||
|         } | ||||
|  | ||||
| @ -14,6 +14,7 @@ import * as handlebars from 'handlebars'; | ||||
| let _defaultContext, _tmpDir: string; | ||||
| 
 | ||||
| export interface Inputs { | ||||
|   addHost: string[]; | ||||
|   allow: string[]; | ||||
|   buildArgs: string[]; | ||||
|   builder: string; | ||||
| @ -67,6 +68,7 @@ export function tmpNameSync(options?: tmp.TmpNameOptions): string { | ||||
| 
 | ||||
| export async function getInputs(defaultContext: string): Promise<Inputs> { | ||||
|   return { | ||||
|     addHost: await getInputList('add-host'), | ||||
|     allow: await getInputList('allow'), | ||||
|     buildArgs: await getInputList('build-args', true), | ||||
|     builder: core.getInput('builder'), | ||||
| @ -104,6 +106,9 @@ export async function getArgs(inputs: Inputs, defaultContext: string, buildxVers | ||||
| 
 | ||||
| async function getBuildArgs(inputs: Inputs, defaultContext: string, buildxVersion: string): Promise<Array<string>> { | ||||
|   let args: Array<string> = ['build']; | ||||
|   if (inputs.addHost.length > 0) { | ||||
|     args.push('--add-host', inputs.addHost.join(',')); | ||||
|   } | ||||
|   if (inputs.allow.length > 0) { | ||||
|     args.push('--allow', inputs.allow.join(',')); | ||||
|   } | ||||
|  | ||||
							
								
								
									
										2
									
								
								test/addhost.Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								test/addhost.Dockerfile
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,2 @@ | ||||
| FROM busybox | ||||
| RUN cat /etc/hosts | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 CrazyMax
						CrazyMax