Merge pull request #188 from crazy-max/fix-buildargs-labels-type
Labels and build args should not be handled as CSV typepull/192/head
commit
24a0b9628d
58
README.md
58
README.md
|
@ -592,46 +592,38 @@ with this action:
|
||||||
|
|
||||||
Following inputs can be used as `step.with` keys
|
Following inputs can be used as `step.with` keys
|
||||||
|
|
||||||
| Name | Type | Description |
|
| Name | Type | Description |
|
||||||
|---------------------|---------|------------------------------------|
|
|---------------------|----------|------------------------------------|
|
||||||
| `builder` | String | Builder instance (see [setup-buildx](https://github.com/docker/setup-buildx-action) action) |
|
| `builder` | String | Builder instance (see [setup-buildx](https://github.com/docker/setup-buildx-action) action) |
|
||||||
| `context` | String | Build's context is the set of files located in the specified [`PATH` or `URL`](https://docs.docker.com/engine/reference/commandline/build/) (default [Git context](#git-context)) |
|
| `context` | String | Build's context is the set of files located in the specified [`PATH` or `URL`](https://docs.docker.com/engine/reference/commandline/build/) (default [Git context](#git-context)) |
|
||||||
| `file` | String | Path to the Dockerfile (default `Dockerfile`) |
|
| `file` | String | Path to the Dockerfile (default `Dockerfile`) |
|
||||||
| `build-args` | List | List of build-time variables |
|
| `build-args` | List | List of build-time variables |
|
||||||
| `labels` | List | List of metadata for an image |
|
| `labels` | List | List of metadata for an image |
|
||||||
| `tags` | List | List of tags |
|
| `tags` | List/CSV | List of tags |
|
||||||
| `pull` | Bool | Always attempt to pull a newer version of the image (default `false`) |
|
| `pull` | Bool | Always attempt to pull a newer version of the image (default `false`) |
|
||||||
| `target` | String | Sets the target stage to build |
|
| `target` | String | Sets the target stage to build |
|
||||||
| `allow` | List | List of [extra privileged entitlement](https://github.com/docker/buildx#--allowentitlement) (eg. `network.host,security.insecure`) |
|
| `allow` | List/CSV | List of [extra privileged entitlement](https://github.com/docker/buildx#--allowentitlement) (eg. `network.host,security.insecure`) |
|
||||||
| `no-cache` | Bool | Do not use cache when building the image (default `false`) |
|
| `no-cache` | Bool | Do not use cache when building the image (default `false`) |
|
||||||
| `platforms` | List | List of [target platforms](https://github.com/docker/buildx#---platformvaluevalue) for build |
|
| `platforms` | List/CSV | List of [target platforms](https://github.com/docker/buildx#---platformvaluevalue) for build |
|
||||||
| `load` | Bool | [Load](https://github.com/docker/buildx#--load) is a shorthand for `--output=type=docker` (default `false`) |
|
| `load` | Bool | [Load](https://github.com/docker/buildx#--load) is a shorthand for `--output=type=docker` (default `false`) |
|
||||||
| `push` | Bool | [Push](https://github.com/docker/buildx#--push) is a shorthand for `--output=type=registry` (default `false`) |
|
| `push` | Bool | [Push](https://github.com/docker/buildx#--push) is a shorthand for `--output=type=registry` (default `false`) |
|
||||||
| `outputs` | CSV | List of [output destinations](https://github.com/docker/buildx#-o---outputpath-typetypekeyvalue) (format: `type=local,dest=path`) |
|
| `outputs` | List | List of [output destinations](https://github.com/docker/buildx#-o---outputpath-typetypekeyvalue) (format: `type=local,dest=path`) |
|
||||||
| `cache-from` | CSV | List of [external cache sources](https://github.com/docker/buildx#--cache-fromnametypetypekeyvalue) (eg. `type=local,src=path/to/dir`) |
|
| `cache-from` | List | List of [external cache sources](https://github.com/docker/buildx#--cache-fromnametypetypekeyvalue) (eg. `type=local,src=path/to/dir`) |
|
||||||
| `cache-to` | CSV | List of [cache export destinations](https://github.com/docker/buildx#--cache-tonametypetypekeyvalue) (eg. `type=local,dest=path/to/dir`) |
|
| `cache-to` | List | List of [cache export destinations](https://github.com/docker/buildx#--cache-tonametypetypekeyvalue) (eg. `type=local,dest=path/to/dir`) |
|
||||||
| `secrets` | CSV | List of secrets to expose to the build (eg. `key=value`, `GIT_AUTH_TOKEN=mytoken`) |
|
| `secrets` | List | List of secrets to expose to the build (eg. `key=value`, `GIT_AUTH_TOKEN=mytoken`) |
|
||||||
|
|
||||||
> `List` type can be a comma or newline-delimited string
|
> `List` type is a newline-delimited string
|
||||||
> ```yaml
|
|
||||||
> tags: name/app:latest,name/app:1.0.0
|
|
||||||
> ```
|
|
||||||
> ```yaml
|
|
||||||
> tags: |
|
|
||||||
> name/app:latest
|
|
||||||
> name/app:1.0.0
|
|
||||||
> ```
|
|
||||||
|
|
||||||
> `CSV` type must be a newline-delimited string
|
|
||||||
> ```yaml
|
|
||||||
> cache-from: user/app:cache
|
|
||||||
> ```
|
|
||||||
> ```yaml
|
> ```yaml
|
||||||
> cache-from: |
|
> cache-from: |
|
||||||
> user/app:cache
|
> user/app:cache
|
||||||
> type=local,src=path/to/dir
|
> type=local,src=path/to/dir
|
||||||
> ```
|
> ```
|
||||||
|
|
||||||
|
> `CSV` type is a comma-delimited string
|
||||||
|
> ```yaml
|
||||||
|
> tags: name/app:latest,name/app:1.0.0
|
||||||
|
> ```
|
||||||
|
|
||||||
### outputs
|
### outputs
|
||||||
|
|
||||||
Following outputs are available
|
Following outputs are available
|
||||||
|
|
|
@ -34,11 +34,13 @@ describe('getArgs', () => {
|
||||||
[
|
[
|
||||||
'0.4.2',
|
'0.4.2',
|
||||||
new Map<string, string>([
|
new Map<string, string>([
|
||||||
// noop
|
['build-args', 'MY_ARG=val1,val2,val3\nARG=val'],
|
||||||
]),
|
]),
|
||||||
[
|
[
|
||||||
'buildx',
|
'buildx',
|
||||||
'build',
|
'build',
|
||||||
|
'--build-arg', 'MY_ARG=val1,val2,val3',
|
||||||
|
'--build-arg', 'ARG=val',
|
||||||
'--iidfile', '/tmp/.docker-build-push-jest/iidfile',
|
'--iidfile', '/tmp/.docker-build-push-jest/iidfile',
|
||||||
'--file', 'Dockerfile',
|
'--file', 'Dockerfile',
|
||||||
'https://github.com/docker/build-push-action.git#test-jest'
|
'https://github.com/docker/build-push-action.git#test-jest'
|
||||||
|
@ -48,11 +50,14 @@ describe('getArgs', () => {
|
||||||
'0.4.2',
|
'0.4.2',
|
||||||
new Map<string, string>([
|
new Map<string, string>([
|
||||||
['context', '.'],
|
['context', '.'],
|
||||||
|
['labels', 'org.opencontainers.image.title=buildkit\norg.opencontainers.image.description=concurrent, cache-efficient, and Dockerfile-agnostic builder toolkit'],
|
||||||
['outputs', 'type=local,dest=./release-out']
|
['outputs', 'type=local,dest=./release-out']
|
||||||
]),
|
]),
|
||||||
[
|
[
|
||||||
'buildx',
|
'buildx',
|
||||||
'build',
|
'build',
|
||||||
|
'--label', 'org.opencontainers.image.title=buildkit',
|
||||||
|
'--label', 'org.opencontainers.image.description=concurrent, cache-efficient, and Dockerfile-agnostic builder toolkit',
|
||||||
'--output', 'type=local,dest=./release-out',
|
'--output', 'type=local,dest=./release-out',
|
||||||
'--file', 'Dockerfile',
|
'--file', 'Dockerfile',
|
||||||
'.'
|
'.'
|
||||||
|
|
|
@ -14867,8 +14867,8 @@ function getInputs(defaultContext) {
|
||||||
return {
|
return {
|
||||||
context: core.getInput('context') || defaultContext,
|
context: core.getInput('context') || defaultContext,
|
||||||
file: core.getInput('file') || 'Dockerfile',
|
file: core.getInput('file') || 'Dockerfile',
|
||||||
buildArgs: yield getInputList('build-args'),
|
buildArgs: yield getInputList('build-args', true),
|
||||||
labels: yield getInputList('labels'),
|
labels: yield getInputList('labels', true),
|
||||||
tags: yield getInputList('tags'),
|
tags: yield getInputList('tags'),
|
||||||
pull: /true/i.test(core.getInput('pull')),
|
pull: /true/i.test(core.getInput('pull')),
|
||||||
target: core.getInput('target'),
|
target: core.getInput('target'),
|
||||||
|
|
|
@ -46,8 +46,8 @@ export async function getInputs(defaultContext: string): Promise<Inputs> {
|
||||||
return {
|
return {
|
||||||
context: core.getInput('context') || defaultContext,
|
context: core.getInput('context') || defaultContext,
|
||||||
file: core.getInput('file') || 'Dockerfile',
|
file: core.getInput('file') || 'Dockerfile',
|
||||||
buildArgs: await getInputList('build-args'),
|
buildArgs: await getInputList('build-args', true),
|
||||||
labels: await getInputList('labels'),
|
labels: await getInputList('labels', true),
|
||||||
tags: await getInputList('tags'),
|
tags: await getInputList('tags'),
|
||||||
pull: /true/i.test(core.getInput('pull')),
|
pull: /true/i.test(core.getInput('pull')),
|
||||||
target: core.getInput('target'),
|
target: core.getInput('target'),
|
||||||
|
|
Loading…
Reference in New Issue