align interface fields with action inputs
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
This commit is contained in:
		
							parent
							
								
									cf8d130912
								
							
						
					
					
						commit
						1d5307d7af
					
				@ -8,23 +8,23 @@ import {Toolkit} from '@docker/actions-toolkit/lib/toolkit';
 | 
				
			|||||||
import {Util} from '@docker/actions-toolkit/lib/util';
 | 
					import {Util} from '@docker/actions-toolkit/lib/util';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export interface Inputs {
 | 
					export interface Inputs {
 | 
				
			||||||
  addHosts: string[];
 | 
					  'add-hosts': string[];
 | 
				
			||||||
  allow: string[];
 | 
					  allow: string[];
 | 
				
			||||||
  annotations: string[];
 | 
					  annotations: string[];
 | 
				
			||||||
  attests: string[];
 | 
					  attests: string[];
 | 
				
			||||||
  buildArgs: string[];
 | 
					  'build-args': string[];
 | 
				
			||||||
  buildContexts: string[];
 | 
					  'build-contexts': string[];
 | 
				
			||||||
  builder: string;
 | 
					  builder: string;
 | 
				
			||||||
  cacheFrom: string[];
 | 
					  'cache-from': string[];
 | 
				
			||||||
  cacheTo: string[];
 | 
					  'cache-to': string[];
 | 
				
			||||||
  cgroupParent: string;
 | 
					  'cgroup-parent': string;
 | 
				
			||||||
  context: string;
 | 
					  context: string;
 | 
				
			||||||
  file: string;
 | 
					  file: string;
 | 
				
			||||||
  labels: string[];
 | 
					  labels: string[];
 | 
				
			||||||
  load: boolean;
 | 
					  load: boolean;
 | 
				
			||||||
  network: string;
 | 
					  network: string;
 | 
				
			||||||
  noCache: boolean;
 | 
					  'no-cache': boolean;
 | 
				
			||||||
  noCacheFilters: string[];
 | 
					  'no-cache-filters': string[];
 | 
				
			||||||
  outputs: string[];
 | 
					  outputs: string[];
 | 
				
			||||||
  platforms: string[];
 | 
					  platforms: string[];
 | 
				
			||||||
  provenance: string;
 | 
					  provenance: string;
 | 
				
			||||||
@ -32,35 +32,35 @@ export interface Inputs {
 | 
				
			|||||||
  push: boolean;
 | 
					  push: boolean;
 | 
				
			||||||
  sbom: string;
 | 
					  sbom: string;
 | 
				
			||||||
  secrets: string[];
 | 
					  secrets: string[];
 | 
				
			||||||
  secretEnvs: string[];
 | 
					  'secret-envs': string[];
 | 
				
			||||||
  secretFiles: string[];
 | 
					  'secret-files': string[];
 | 
				
			||||||
  shmSize: string;
 | 
					  'shm-size': string;
 | 
				
			||||||
  ssh: string[];
 | 
					  ssh: string[];
 | 
				
			||||||
  tags: string[];
 | 
					  tags: string[];
 | 
				
			||||||
  target: string;
 | 
					  target: string;
 | 
				
			||||||
  ulimit: string[];
 | 
					  ulimit: string[];
 | 
				
			||||||
  githubToken: string;
 | 
					  'github-token': string;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export async function getInputs(): Promise<Inputs> {
 | 
					export async function getInputs(): Promise<Inputs> {
 | 
				
			||||||
  return {
 | 
					  return {
 | 
				
			||||||
    addHosts: Util.getInputList('add-hosts'),
 | 
					    'add-hosts': Util.getInputList('add-hosts'),
 | 
				
			||||||
    allow: Util.getInputList('allow'),
 | 
					    allow: Util.getInputList('allow'),
 | 
				
			||||||
    annotations: Util.getInputList('annotations', {ignoreComma: true}),
 | 
					    annotations: Util.getInputList('annotations', {ignoreComma: true}),
 | 
				
			||||||
    attests: Util.getInputList('attests', {ignoreComma: true}),
 | 
					    attests: Util.getInputList('attests', {ignoreComma: true}),
 | 
				
			||||||
    buildArgs: Util.getInputList('build-args', {ignoreComma: true}),
 | 
					    'build-args': Util.getInputList('build-args', {ignoreComma: true}),
 | 
				
			||||||
    buildContexts: Util.getInputList('build-contexts', {ignoreComma: true}),
 | 
					    'build-contexts': Util.getInputList('build-contexts', {ignoreComma: true}),
 | 
				
			||||||
    builder: core.getInput('builder'),
 | 
					    builder: core.getInput('builder'),
 | 
				
			||||||
    cacheFrom: Util.getInputList('cache-from', {ignoreComma: true}),
 | 
					    'cache-from': Util.getInputList('cache-from', {ignoreComma: true}),
 | 
				
			||||||
    cacheTo: Util.getInputList('cache-to', {ignoreComma: true}),
 | 
					    'cache-to': Util.getInputList('cache-to', {ignoreComma: true}),
 | 
				
			||||||
    cgroupParent: core.getInput('cgroup-parent'),
 | 
					    'cgroup-parent': core.getInput('cgroup-parent'),
 | 
				
			||||||
    context: core.getInput('context') || Context.gitContext(),
 | 
					    context: core.getInput('context') || Context.gitContext(),
 | 
				
			||||||
    file: core.getInput('file'),
 | 
					    file: core.getInput('file'),
 | 
				
			||||||
    labels: Util.getInputList('labels', {ignoreComma: true}),
 | 
					    labels: Util.getInputList('labels', {ignoreComma: true}),
 | 
				
			||||||
    load: core.getBooleanInput('load'),
 | 
					    load: core.getBooleanInput('load'),
 | 
				
			||||||
    network: core.getInput('network'),
 | 
					    network: core.getInput('network'),
 | 
				
			||||||
    noCache: core.getBooleanInput('no-cache'),
 | 
					    'no-cache': core.getBooleanInput('no-cache'),
 | 
				
			||||||
    noCacheFilters: Util.getInputList('no-cache-filters'),
 | 
					    'no-cache-filters': Util.getInputList('no-cache-filters'),
 | 
				
			||||||
    outputs: Util.getInputList('outputs', {ignoreComma: true, quote: false}),
 | 
					    outputs: Util.getInputList('outputs', {ignoreComma: true, quote: false}),
 | 
				
			||||||
    platforms: Util.getInputList('platforms'),
 | 
					    platforms: Util.getInputList('platforms'),
 | 
				
			||||||
    provenance: Build.getProvenanceInput('provenance'),
 | 
					    provenance: Build.getProvenanceInput('provenance'),
 | 
				
			||||||
@ -68,14 +68,14 @@ export async function getInputs(): Promise<Inputs> {
 | 
				
			|||||||
    push: core.getBooleanInput('push'),
 | 
					    push: core.getBooleanInput('push'),
 | 
				
			||||||
    sbom: core.getInput('sbom'),
 | 
					    sbom: core.getInput('sbom'),
 | 
				
			||||||
    secrets: Util.getInputList('secrets', {ignoreComma: true}),
 | 
					    secrets: Util.getInputList('secrets', {ignoreComma: true}),
 | 
				
			||||||
    secretEnvs: Util.getInputList('secret-envs'),
 | 
					    'secret-envs': Util.getInputList('secret-envs'),
 | 
				
			||||||
    secretFiles: Util.getInputList('secret-files', {ignoreComma: true}),
 | 
					    'secret-files': Util.getInputList('secret-files', {ignoreComma: true}),
 | 
				
			||||||
    shmSize: core.getInput('shm-size'),
 | 
					    'shm-size': core.getInput('shm-size'),
 | 
				
			||||||
    ssh: Util.getInputList('ssh'),
 | 
					    ssh: Util.getInputList('ssh'),
 | 
				
			||||||
    tags: Util.getInputList('tags'),
 | 
					    tags: Util.getInputList('tags'),
 | 
				
			||||||
    target: core.getInput('target'),
 | 
					    target: core.getInput('target'),
 | 
				
			||||||
    ulimit: Util.getInputList('ulimit', {ignoreComma: true}),
 | 
					    ulimit: Util.getInputList('ulimit', {ignoreComma: true}),
 | 
				
			||||||
    githubToken: core.getInput('github-token')
 | 
					    'github-token': core.getInput('github-token')
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -93,7 +93,7 @@ export async function getArgs(inputs: Inputs, toolkit: Toolkit): Promise<Array<s
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
async function getBuildArgs(inputs: Inputs, context: string, toolkit: Toolkit): Promise<Array<string>> {
 | 
					async function getBuildArgs(inputs: Inputs, context: string, toolkit: Toolkit): Promise<Array<string>> {
 | 
				
			||||||
  const args: Array<string> = ['build'];
 | 
					  const args: Array<string> = ['build'];
 | 
				
			||||||
  await Util.asyncForEach(inputs.addHosts, async addHost => {
 | 
					  await Util.asyncForEach(inputs['add-hosts'], async addHost => {
 | 
				
			||||||
    args.push('--add-host', addHost);
 | 
					    args.push('--add-host', addHost);
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  if (inputs.allow.length > 0) {
 | 
					  if (inputs.allow.length > 0) {
 | 
				
			||||||
@ -106,26 +106,26 @@ async function getBuildArgs(inputs: Inputs, context: string, toolkit: Toolkit):
 | 
				
			|||||||
  } else if (inputs.annotations.length > 0) {
 | 
					  } else if (inputs.annotations.length > 0) {
 | 
				
			||||||
    core.warning("Annotations are only supported by buildx >= 0.12.0; the input 'annotations' is ignored.");
 | 
					    core.warning("Annotations are only supported by buildx >= 0.12.0; the input 'annotations' is ignored.");
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  await Util.asyncForEach(inputs.buildArgs, async buildArg => {
 | 
					  await Util.asyncForEach(inputs['build-args'], async buildArg => {
 | 
				
			||||||
    args.push('--build-arg', buildArg);
 | 
					    args.push('--build-arg', buildArg);
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  if (await toolkit.buildx.versionSatisfies('>=0.8.0')) {
 | 
					  if (await toolkit.buildx.versionSatisfies('>=0.8.0')) {
 | 
				
			||||||
    await Util.asyncForEach(inputs.buildContexts, async buildContext => {
 | 
					    await Util.asyncForEach(inputs['build-contexts'], async buildContext => {
 | 
				
			||||||
      args.push('--build-context', buildContext);
 | 
					      args.push('--build-context', buildContext);
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
  } else if (inputs.buildContexts.length > 0) {
 | 
					  } else if (inputs['build-contexts'].length > 0) {
 | 
				
			||||||
    core.warning("Build contexts are only supported by buildx >= 0.8.0; the input 'build-contexts' is ignored.");
 | 
					    core.warning("Build contexts are only supported by buildx >= 0.8.0; the input 'build-contexts' is ignored.");
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  await Util.asyncForEach(inputs.cacheFrom, async cacheFrom => {
 | 
					  await Util.asyncForEach(inputs['cache-from'], async cacheFrom => {
 | 
				
			||||||
    args.push('--cache-from', cacheFrom);
 | 
					    args.push('--cache-from', cacheFrom);
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  await Util.asyncForEach(inputs.cacheTo, async cacheTo => {
 | 
					  await Util.asyncForEach(inputs['cache-to'], async cacheTo => {
 | 
				
			||||||
    args.push('--cache-to', cacheTo);
 | 
					    args.push('--cache-to', cacheTo);
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  if (inputs.cgroupParent) {
 | 
					  if (inputs['cgroup-parent']) {
 | 
				
			||||||
    args.push('--cgroup-parent', inputs.cgroupParent);
 | 
					    args.push('--cgroup-parent', inputs['cgroup-parent']);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  await Util.asyncForEach(inputs.secretEnvs, async secretEnv => {
 | 
					  await Util.asyncForEach(inputs['secret-envs'], async secretEnv => {
 | 
				
			||||||
    try {
 | 
					    try {
 | 
				
			||||||
      args.push('--secret', Build.resolveSecretEnv(secretEnv));
 | 
					      args.push('--secret', Build.resolveSecretEnv(secretEnv));
 | 
				
			||||||
    } catch (err) {
 | 
					    } catch (err) {
 | 
				
			||||||
@ -141,7 +141,7 @@ async function getBuildArgs(inputs: Inputs, context: string, toolkit: Toolkit):
 | 
				
			|||||||
  await Util.asyncForEach(inputs.labels, async label => {
 | 
					  await Util.asyncForEach(inputs.labels, async label => {
 | 
				
			||||||
    args.push('--label', label);
 | 
					    args.push('--label', label);
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  await Util.asyncForEach(inputs.noCacheFilters, async noCacheFilter => {
 | 
					  await Util.asyncForEach(inputs['no-cache-filters'], async noCacheFilter => {
 | 
				
			||||||
    args.push('--no-cache-filter', noCacheFilter);
 | 
					    args.push('--no-cache-filter', noCacheFilter);
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  await Util.asyncForEach(inputs.outputs, async output => {
 | 
					  await Util.asyncForEach(inputs.outputs, async output => {
 | 
				
			||||||
@ -162,18 +162,18 @@ async function getBuildArgs(inputs: Inputs, context: string, toolkit: Toolkit):
 | 
				
			|||||||
      core.warning(err.message);
 | 
					      core.warning(err.message);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  await Util.asyncForEach(inputs.secretFiles, async secretFile => {
 | 
					  await Util.asyncForEach(inputs['secret-files'], async secretFile => {
 | 
				
			||||||
    try {
 | 
					    try {
 | 
				
			||||||
      args.push('--secret', Build.resolveSecretFile(secretFile));
 | 
					      args.push('--secret', Build.resolveSecretFile(secretFile));
 | 
				
			||||||
    } catch (err) {
 | 
					    } catch (err) {
 | 
				
			||||||
      core.warning(err.message);
 | 
					      core.warning(err.message);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
  if (inputs.githubToken && !Build.hasGitAuthTokenSecret(inputs.secrets) && context.startsWith(Context.gitContext())) {
 | 
					  if (inputs['github-token'] && !Build.hasGitAuthTokenSecret(inputs.secrets) && context.startsWith(Context.gitContext())) {
 | 
				
			||||||
    args.push('--secret', Build.resolveSecretString(`GIT_AUTH_TOKEN=${inputs.githubToken}`));
 | 
					    args.push('--secret', Build.resolveSecretString(`GIT_AUTH_TOKEN=${inputs['github-token']}`));
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  if (inputs.shmSize) {
 | 
					  if (inputs['shm-size']) {
 | 
				
			||||||
    args.push('--shm-size', inputs.shmSize);
 | 
					    args.push('--shm-size', inputs['shm-size']);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  await Util.asyncForEach(inputs.ssh, async ssh => {
 | 
					  await Util.asyncForEach(inputs.ssh, async ssh => {
 | 
				
			||||||
    args.push('--ssh', ssh);
 | 
					    args.push('--ssh', ssh);
 | 
				
			||||||
@ -204,7 +204,7 @@ async function getCommonArgs(inputs: Inputs, toolkit: Toolkit): Promise<Array<st
 | 
				
			|||||||
  if (inputs.network) {
 | 
					  if (inputs.network) {
 | 
				
			||||||
    args.push('--network', inputs.network);
 | 
					    args.push('--network', inputs.network);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  if (inputs.noCache) {
 | 
					  if (inputs['no-cache']) {
 | 
				
			||||||
    args.push('--no-cache');
 | 
					    args.push('--no-cache');
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  if (inputs.pull) {
 | 
					  if (inputs.pull) {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user