Fix add-hosts context
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
		
							parent
							
								
									1ca185b339
								
							
						
					
					
						commit
						d7458455bb
					
				
							
								
								
									
										4
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							@ -416,7 +416,7 @@ jobs:
 | 
			
		||||
        if: always()
 | 
			
		||||
        uses: crazy-max/ghaction-dump-context@v1
 | 
			
		||||
 | 
			
		||||
  addhost:
 | 
			
		||||
  add-hosts:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    steps:
 | 
			
		||||
      -
 | 
			
		||||
@ -432,7 +432,7 @@ jobs:
 | 
			
		||||
          context: ./test
 | 
			
		||||
          file: ./test/addhost.Dockerfile
 | 
			
		||||
          tags: name/app:latest
 | 
			
		||||
          add-host: |
 | 
			
		||||
          add-hosts: |
 | 
			
		||||
            docker:10.180.0.1
 | 
			
		||||
            foo:10.0.0.1
 | 
			
		||||
      -
 | 
			
		||||
 | 
			
		||||
@ -199,7 +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`) |
 | 
			
		||||
| `add-hosts`         | List/CSV | List of [customs 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 |
 | 
			
		||||
 | 
			
		||||
@ -446,6 +446,7 @@ ccc`],
 | 
			
		||||
        ['context', '.'],
 | 
			
		||||
        ['tag', 'localhost:5000/name/app:latest'],
 | 
			
		||||
        ['file', './test/Dockerfile'],
 | 
			
		||||
        ['add-hosts', 'docker:10.180.0.1,foo:10.0.0.1'],
 | 
			
		||||
        ['network', 'host'],
 | 
			
		||||
        ['load', 'false'],
 | 
			
		||||
        ['no-cache', 'false'],
 | 
			
		||||
@ -455,6 +456,8 @@ ccc`],
 | 
			
		||||
      [
 | 
			
		||||
        'buildx',
 | 
			
		||||
        'build',
 | 
			
		||||
        '--add-host', 'docker:10.180.0.1',
 | 
			
		||||
        '--add-host', 'foo:10.0.0.1',
 | 
			
		||||
        '--file', './test/Dockerfile',
 | 
			
		||||
        '--iidfile', '/tmp/.docker-build-push-jest/iidfile',
 | 
			
		||||
        '--metadata-file', '/tmp/.docker-build-push-jest/metadata-file',
 | 
			
		||||
@ -469,7 +472,7 @@ ccc`],
 | 
			
		||||
      new Map<string, string>([
 | 
			
		||||
        ['context', '.'],
 | 
			
		||||
        ['file', './test/Dockerfile'],
 | 
			
		||||
        ['add-host', 'docker:10.180.0.1'],
 | 
			
		||||
        ['add-hosts', 'docker:10.180.0.1\nfoo:10.0.0.1'],
 | 
			
		||||
        ['cgroup-parent', 'foo'],
 | 
			
		||||
        ['shm-size', '2g'],
 | 
			
		||||
        ['ulimit', `nofile=1024:1024
 | 
			
		||||
@ -483,6 +486,7 @@ nproc=3`],
 | 
			
		||||
        'buildx',
 | 
			
		||||
        'build',
 | 
			
		||||
        '--add-host', 'docker:10.180.0.1',
 | 
			
		||||
        '--add-host', 'foo:10.0.0.1',
 | 
			
		||||
        '--cgroup-parent', 'foo',
 | 
			
		||||
        '--file', './test/Dockerfile',
 | 
			
		||||
        '--iidfile', '/tmp/.docker-build-push-jest/iidfile',
 | 
			
		||||
 | 
			
		||||
@ -7,8 +7,8 @@ branding:
 | 
			
		||||
  color: 'blue'
 | 
			
		||||
 | 
			
		||||
inputs:
 | 
			
		||||
  add-host:
 | 
			
		||||
    description: "Add a custom host-to-IP mapping (e.g., docker:10.180.0.1)"
 | 
			
		||||
  add-hosts:
 | 
			
		||||
    description: "List of a customs 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)"
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										8
									
								
								dist/index.js
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								dist/index.js
									
									
									
										generated
									
									
										vendored
									
									
								
							@ -270,7 +270,7 @@ exports.tmpNameSync = tmpNameSync;
 | 
			
		||||
function getInputs(defaultContext) {
 | 
			
		||||
    return __awaiter(this, void 0, void 0, function* () {
 | 
			
		||||
        return {
 | 
			
		||||
            addHost: yield getInputList('add-host'),
 | 
			
		||||
            addHosts: yield getInputList('add-hosts'),
 | 
			
		||||
            allow: yield getInputList('allow'),
 | 
			
		||||
            buildArgs: yield getInputList('build-args', true),
 | 
			
		||||
            builder: core.getInput('builder'),
 | 
			
		||||
@ -312,9 +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(','));
 | 
			
		||||
        }
 | 
			
		||||
        yield exports.asyncForEach(inputs.addHosts, (addHost) => __awaiter(this, void 0, void 0, function* () {
 | 
			
		||||
            args.push('--add-host', addHost);
 | 
			
		||||
        }));
 | 
			
		||||
        if (inputs.allow.length > 0) {
 | 
			
		||||
            args.push('--allow', inputs.allow.join(','));
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@ -14,7 +14,7 @@ import * as handlebars from 'handlebars';
 | 
			
		||||
let _defaultContext, _tmpDir: string;
 | 
			
		||||
 | 
			
		||||
export interface Inputs {
 | 
			
		||||
  addHost: string[];
 | 
			
		||||
  addHosts: string[];
 | 
			
		||||
  allow: string[];
 | 
			
		||||
  buildArgs: string[];
 | 
			
		||||
  builder: string;
 | 
			
		||||
@ -68,7 +68,7 @@ export function tmpNameSync(options?: tmp.TmpNameOptions): string {
 | 
			
		||||
 | 
			
		||||
export async function getInputs(defaultContext: string): Promise<Inputs> {
 | 
			
		||||
  return {
 | 
			
		||||
    addHost: await getInputList('add-host'),
 | 
			
		||||
    addHosts: await getInputList('add-hosts'),
 | 
			
		||||
    allow: await getInputList('allow'),
 | 
			
		||||
    buildArgs: await getInputList('build-args', true),
 | 
			
		||||
    builder: core.getInput('builder'),
 | 
			
		||||
@ -106,9 +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(','));
 | 
			
		||||
  }
 | 
			
		||||
  await asyncForEach(inputs.addHosts, async addHost => {
 | 
			
		||||
    args.push('--add-host', addHost);
 | 
			
		||||
  });
 | 
			
		||||
  if (inputs.allow.length > 0) {
 | 
			
		||||
    args.push('--allow', inputs.allow.join(','));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user