mirror of
https://github.com/docker/metadata-action.git
synced 2024-11-25 05:25:41 +01:00
custom annotations support
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
This commit is contained in:
parent
f19c3691d5
commit
cb0becceaf
10
.github/workflows/ci.yml
vendored
10
.github/workflows/ci.yml
vendored
@ -165,7 +165,7 @@ jobs:
|
|||||||
name=ghcr.io/name/app,enable=${{ github.event_name == 'pull_request' }}
|
name=ghcr.io/name/app,enable=${{ github.event_name == 'pull_request' }}
|
||||||
name=ghcr.io/name/release,enable=${{ startsWith(github.ref, 'refs/tags/') }}
|
name=ghcr.io/name/release,enable=${{ startsWith(github.ref, 'refs/tags/') }}
|
||||||
|
|
||||||
labels:
|
custom-labels-annotations:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
-
|
-
|
||||||
@ -183,6 +183,11 @@ jobs:
|
|||||||
org.opencontainers.image.title=MyCustomTitle
|
org.opencontainers.image.title=MyCustomTitle
|
||||||
org.opencontainers.image.description=this is a "good" example
|
org.opencontainers.image.description=this is a "good" example
|
||||||
org.opencontainers.image.vendor=MyCompany
|
org.opencontainers.image.vendor=MyCompany
|
||||||
|
annotations: |
|
||||||
|
maintainer=Foo
|
||||||
|
org.opencontainers.image.title=MyFooTitle
|
||||||
|
org.opencontainers.image.description=this is a "foo" example
|
||||||
|
org.opencontainers.image.vendor=MyFooCompany
|
||||||
|
|
||||||
global-exps:
|
global-exps:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@ -372,6 +377,8 @@ jobs:
|
|||||||
ghcr.io/name/app
|
ghcr.io/name/app
|
||||||
labels: |
|
labels: |
|
||||||
maintainer=CrazyMax
|
maintainer=CrazyMax
|
||||||
|
annotations: |
|
||||||
|
maintainer=Foo
|
||||||
-
|
-
|
||||||
name: Build
|
name: Build
|
||||||
uses: docker/build-push-action@v5
|
uses: docker/build-push-action@v5
|
||||||
@ -382,6 +389,7 @@ jobs:
|
|||||||
DOCKER_METADATA_OUTPUT_VERSION
|
DOCKER_METADATA_OUTPUT_VERSION
|
||||||
DOCKER_METADATA_OUTPUT_TAGS
|
DOCKER_METADATA_OUTPUT_TAGS
|
||||||
DOCKER_METADATA_OUTPUT_LABELS
|
DOCKER_METADATA_OUTPUT_LABELS
|
||||||
|
DOCKER_METADATA_OUTPUT_ANNOTATIONS
|
||||||
DOCKER_METADATA_OUTPUT_JSON
|
DOCKER_METADATA_OUTPUT_JSON
|
||||||
|
|
||||||
bake-annotations:
|
bake-annotations:
|
||||||
|
11
README.md
11
README.md
@ -47,7 +47,7 @@ ___
|
|||||||
* [`{{date '<format>' tz='<timezone>'}}`](#date-format-tztimezone)
|
* [`{{date '<format>' tz='<timezone>'}}`](#date-format-tztimezone)
|
||||||
* [Major version zero](#major-version-zero)
|
* [Major version zero](#major-version-zero)
|
||||||
* [JSON output object](#json-output-object)
|
* [JSON output object](#json-output-object)
|
||||||
* [Overwrite labels](#overwrite-labels)
|
* [Overwrite labels and annotations](#overwrite-labels-and-annotations)
|
||||||
* [Annotations](#annotations)
|
* [Annotations](#annotations)
|
||||||
* [Contributing](#contributing)
|
* [Contributing](#contributing)
|
||||||
|
|
||||||
@ -294,14 +294,16 @@ The following inputs can be used as `step.with` keys:
|
|||||||
> ```
|
> ```
|
||||||
|
|
||||||
| Name | Type | Description |
|
| Name | Type | Description |
|
||||||
|---------------|--------|-------------------------------------------------------------------------------|
|
|-------------------|--------|------------------------------------------------------------------------------|
|
||||||
| `context` | String | Where to get context data. Allowed options are: `workflow` (default), `git`. |
|
| `context` | String | Where to get context data. Allowed options are: `workflow` (default), `git`. |
|
||||||
| `images` | List | List of Docker images to use as base name for tags |
|
| `images` | List | List of Docker images to use as base name for tags |
|
||||||
| `tags` | List | List of [tags](#tags-input) as key-value pair attributes |
|
| `tags` | List | List of [tags](#tags-input) as key-value pair attributes |
|
||||||
| `flavor` | List | [Flavor](#flavor-input) to apply |
|
| `flavor` | List | [Flavor](#flavor-input) to apply |
|
||||||
| `labels` | List | List of custom labels |
|
| `labels` | List | List of custom labels |
|
||||||
|
| `annotations` | List | List of custom anntoations |
|
||||||
| `sep-tags` | String | Separator to use for tags output (default `\n`) |
|
| `sep-tags` | String | Separator to use for tags output (default `\n`) |
|
||||||
| `sep-labels` | String | Separator to use for labels output (default `\n`) |
|
| `sep-labels` | String | Separator to use for labels output (default `\n`) |
|
||||||
|
| `sep-annotations` | String | Separator to use for annotations output (default `\n`) |
|
||||||
| `bake-target` | String | Bake target name (default `docker-metadata-action`) |
|
| `bake-target` | String | Bake target name (default `docker-metadata-action`) |
|
||||||
|
|
||||||
### outputs
|
### outputs
|
||||||
@ -893,10 +895,11 @@ that you can reuse them further in your workflow using the [`fromJSON` function]
|
|||||||
REVISION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }}
|
REVISION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }}
|
||||||
```
|
```
|
||||||
|
|
||||||
### Overwrite labels
|
### Overwrite labels and annotations
|
||||||
|
|
||||||
If some [OCI Image Format Specification](https://github.com/opencontainers/image-spec/blob/master/annotations.md)
|
If some [OCI Image Format Specification](https://github.com/opencontainers/image-spec/blob/master/annotations.md)
|
||||||
labels generated are not suitable, you can overwrite them like this:
|
generated are not suitable as labels/annotations, you can overwrite them like
|
||||||
|
this:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
-
|
-
|
||||||
|
@ -39,8 +39,10 @@ describe('getInputs', () => {
|
|||||||
githubToken: '',
|
githubToken: '',
|
||||||
images: ['moby/buildkit', 'ghcr.io/moby/mbuildkit'],
|
images: ['moby/buildkit', 'ghcr.io/moby/mbuildkit'],
|
||||||
labels: [],
|
labels: [],
|
||||||
|
annotations: [],
|
||||||
sepLabels: '\n',
|
sepLabels: '\n',
|
||||||
sepTags: '\n',
|
sepTags: '\n',
|
||||||
|
sepAnnotations: '\n',
|
||||||
tags: [],
|
tags: [],
|
||||||
} as Inputs
|
} as Inputs
|
||||||
],
|
],
|
||||||
@ -51,6 +53,7 @@ describe('getInputs', () => {
|
|||||||
['images', 'moby/buildkit'],
|
['images', 'moby/buildkit'],
|
||||||
['sep-labels', ','],
|
['sep-labels', ','],
|
||||||
['sep-tags', ','],
|
['sep-tags', ','],
|
||||||
|
['sep-annotations', ',']
|
||||||
]),
|
]),
|
||||||
{
|
{
|
||||||
context: ContextSource.workflow,
|
context: ContextSource.workflow,
|
||||||
@ -59,8 +62,10 @@ describe('getInputs', () => {
|
|||||||
githubToken: '',
|
githubToken: '',
|
||||||
images: ['moby/buildkit'],
|
images: ['moby/buildkit'],
|
||||||
labels: [],
|
labels: [],
|
||||||
|
annotations: [],
|
||||||
sepLabels: ',',
|
sepLabels: ',',
|
||||||
sepTags: ',',
|
sepTags: ',',
|
||||||
|
sepAnnotations: ',',
|
||||||
tags: [],
|
tags: [],
|
||||||
} as Inputs
|
} as Inputs
|
||||||
],
|
],
|
||||||
@ -76,8 +81,10 @@ describe('getInputs', () => {
|
|||||||
githubToken: '',
|
githubToken: '',
|
||||||
images: ['moby/buildkit', 'ghcr.io/moby/mbuildkit'],
|
images: ['moby/buildkit', 'ghcr.io/moby/mbuildkit'],
|
||||||
labels: [],
|
labels: [],
|
||||||
|
annotations: [],
|
||||||
sepLabels: '\n',
|
sepLabels: '\n',
|
||||||
sepTags: '\n',
|
sepTags: '\n',
|
||||||
|
sepAnnotations: '\n',
|
||||||
tags: [],
|
tags: [],
|
||||||
} as Inputs
|
} as Inputs
|
||||||
],
|
],
|
||||||
|
@ -49,7 +49,7 @@ describe('isRawStatement', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
const tagsLabelsTest = async (name: string, envFile: string, inputs: Inputs, exVersion: Version, exTags: Array<string>, exLabels: Array<string>) => {
|
const tagsLabelsTest = async (name: string, envFile: string, inputs: Inputs, exVersion: Version, exTags: Array<string>, exLabels: Array<string>, exAnnotations: Array<string> | undefined) => {
|
||||||
process.env = dotenv.parse(fs.readFileSync(path.join(__dirname, 'fixtures', envFile)));
|
process.env = dotenv.parse(fs.readFileSync(path.join(__dirname, 'fixtures', envFile)));
|
||||||
const toolkit = new Toolkit();
|
const toolkit = new Toolkit();
|
||||||
const repo = await toolkit.github.repoData();
|
const repo = await toolkit.github.repoData();
|
||||||
@ -63,6 +63,9 @@ const tagsLabelsTest = async (name: string, envFile: string, inputs: Inputs, exV
|
|||||||
|
|
||||||
const labels = meta.getLabels();
|
const labels = meta.getLabels();
|
||||||
expect(labels).toEqual(exLabels);
|
expect(labels).toEqual(exLabels);
|
||||||
|
|
||||||
|
const annotations = meta.getAnnotations();
|
||||||
|
expect(annotations).toEqual(exAnnotations ?? exLabels);
|
||||||
};
|
};
|
||||||
|
|
||||||
describe('null', () => {
|
describe('null', () => {
|
||||||
@ -90,7 +93,8 @@ describe('null', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version="
|
"org.opencontainers.image.version="
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'null02',
|
'null02',
|
||||||
@ -117,7 +121,8 @@ describe('null', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version="
|
"org.opencontainers.image.version="
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
])('given %p with %p event', tagsLabelsTest);
|
])('given %p with %p event', tagsLabelsTest);
|
||||||
});
|
});
|
||||||
@ -149,7 +154,8 @@ describe('push', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=dev"
|
"org.opencontainers.image.version=dev"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'push02',
|
'push02',
|
||||||
@ -177,7 +183,8 @@ describe('push', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=edge"
|
"org.opencontainers.image.version=edge"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'push03',
|
'push03',
|
||||||
@ -202,7 +209,8 @@ describe('push', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=master"
|
"org.opencontainers.image.version=master"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'push04',
|
'push04',
|
||||||
@ -230,7 +238,8 @@ describe('push', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=edge"
|
"org.opencontainers.image.version=edge"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'push05',
|
'push05',
|
||||||
@ -256,7 +265,8 @@ describe('push', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=dev"
|
"org.opencontainers.image.version=dev"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'push06',
|
'push06',
|
||||||
@ -285,7 +295,8 @@ describe('push', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=edge"
|
"org.opencontainers.image.version=edge"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'push07',
|
'push07',
|
||||||
@ -317,7 +328,8 @@ describe('push', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=dev"
|
"org.opencontainers.image.version=dev"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'push08',
|
'push08',
|
||||||
@ -349,7 +361,8 @@ describe('push', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=edge"
|
"org.opencontainers.image.version=edge"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'push09',
|
'push09',
|
||||||
@ -381,7 +394,8 @@ describe('push', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=edge"
|
"org.opencontainers.image.version=edge"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'push10',
|
'push10',
|
||||||
@ -411,7 +425,8 @@ describe('push', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=sha-2665741"
|
"org.opencontainers.image.version=sha-2665741"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'push11',
|
'push11',
|
||||||
@ -441,7 +456,8 @@ describe('push', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=sha-983315b"
|
"org.opencontainers.image.version=sha-983315b"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'push12',
|
'push12',
|
||||||
@ -469,7 +485,8 @@ describe('push', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version="
|
"org.opencontainers.image.version="
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'push13',
|
'push13',
|
||||||
@ -499,7 +516,8 @@ describe('push', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=master"
|
"org.opencontainers.image.version=master"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'push14',
|
'push14',
|
||||||
@ -531,7 +549,8 @@ describe('push', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=1.2.3"
|
"org.opencontainers.image.version=1.2.3"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'push15',
|
'push15',
|
||||||
@ -562,7 +581,8 @@ describe('push', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=1.2.3"
|
"org.opencontainers.image.version=1.2.3"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'push16',
|
'push16',
|
||||||
@ -591,7 +611,8 @@ describe('push', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=edge"
|
"org.opencontainers.image.version=edge"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'push17',
|
'push17',
|
||||||
@ -635,7 +656,8 @@ describe('push', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=mytag-master"
|
"org.opencontainers.image.version=mytag-master"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'push18',
|
'push18',
|
||||||
@ -667,7 +689,8 @@ describe('push', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=dev"
|
"org.opencontainers.image.version=dev"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'push19',
|
'push19',
|
||||||
@ -699,7 +722,8 @@ describe('push', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=sha-860c1904a1ce19322e91ac35af1ab07466440c37"
|
"org.opencontainers.image.version=sha-860c1904a1ce19322e91ac35af1ab07466440c37"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'push20',
|
'push20',
|
||||||
@ -732,7 +756,8 @@ describe('push', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=sha-860c1904a1ce19322e91ac35af1ab07466440c37"
|
"org.opencontainers.image.version=sha-860c1904a1ce19322e91ac35af1ab07466440c37"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'push21',
|
'push21',
|
||||||
@ -776,7 +801,8 @@ describe('push', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=mytag-master"
|
"org.opencontainers.image.version=mytag-master"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
]
|
]
|
||||||
])('given %p with %p event', tagsLabelsTest);
|
])('given %p with %p event', tagsLabelsTest);
|
||||||
});
|
});
|
||||||
@ -809,7 +835,8 @@ describe('tag', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=release1"
|
"org.opencontainers.image.version=release1"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'tag02',
|
'tag02',
|
||||||
@ -835,7 +862,8 @@ describe('tag', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=20200110-RC2"
|
"org.opencontainers.image.version=20200110-RC2"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'tag03',
|
'tag03',
|
||||||
@ -866,7 +894,8 @@ describe('tag', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=20200110"
|
"org.opencontainers.image.version=20200110"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'tag04',
|
'tag04',
|
||||||
@ -897,7 +926,8 @@ describe('tag', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=20200110"
|
"org.opencontainers.image.version=20200110"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'tag05',
|
'tag05',
|
||||||
@ -928,7 +958,8 @@ describe('tag', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=1.1.1"
|
"org.opencontainers.image.version=1.1.1"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'tag06',
|
'tag06',
|
||||||
@ -959,7 +990,8 @@ describe('tag', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=1.1.1"
|
"org.opencontainers.image.version=1.1.1"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'tag07',
|
'tag07',
|
||||||
@ -990,7 +1022,8 @@ describe('tag', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=2.0.8-beta.67"
|
"org.opencontainers.image.version=2.0.8-beta.67"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'tag08',
|
'tag08',
|
||||||
@ -1021,7 +1054,8 @@ describe('tag', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=2.0"
|
"org.opencontainers.image.version=2.0"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'tag09',
|
'tag09',
|
||||||
@ -1055,7 +1089,8 @@ describe('tag', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=2.0.8"
|
"org.opencontainers.image.version=2.0.8"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'tag10',
|
'tag10',
|
||||||
@ -1081,7 +1116,8 @@ describe('tag', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version="
|
"org.opencontainers.image.version="
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'tag11',
|
'tag11',
|
||||||
@ -1118,7 +1154,8 @@ describe('tag', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=1.1.1"
|
"org.opencontainers.image.version=1.1.1"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'tag12',
|
'tag12',
|
||||||
@ -1150,7 +1187,8 @@ describe('tag', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=1.1.1"
|
"org.opencontainers.image.version=1.1.1"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'tag13',
|
'tag13',
|
||||||
@ -1180,7 +1218,8 @@ describe('tag', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=2.0.8-beta.67"
|
"org.opencontainers.image.version=2.0.8-beta.67"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'tag14',
|
'tag14',
|
||||||
@ -1214,7 +1253,8 @@ describe('tag', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=sometag"
|
"org.opencontainers.image.version=sometag"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'tag15',
|
'tag15',
|
||||||
@ -1249,7 +1289,8 @@ describe('tag', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=foo"
|
"org.opencontainers.image.version=foo"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'tag16',
|
'tag16',
|
||||||
@ -1282,7 +1323,8 @@ describe('tag', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=foo"
|
"org.opencontainers.image.version=foo"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'tag17',
|
'tag17',
|
||||||
@ -1321,7 +1363,8 @@ describe('tag', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=1.0.0"
|
"org.opencontainers.image.version=1.0.0"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'tag18',
|
'tag18',
|
||||||
@ -1360,7 +1403,8 @@ describe('tag', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=1.0.0"
|
"org.opencontainers.image.version=1.0.0"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'tag19',
|
'tag19',
|
||||||
@ -1401,7 +1445,8 @@ describe('tag', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=1.0.0-dev"
|
"org.opencontainers.image.version=1.0.0-dev"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'tag20',
|
'tag20',
|
||||||
@ -1436,7 +1481,8 @@ describe('tag', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=v1.1.1-860c190-foo"
|
"org.opencontainers.image.version=v1.1.1-860c190-foo"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'tag21',
|
'tag21',
|
||||||
@ -1471,7 +1517,8 @@ describe('tag', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=1.1.1-dev"
|
"org.opencontainers.image.version=1.1.1-dev"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'tag22',
|
'tag22',
|
||||||
@ -1507,7 +1554,8 @@ describe('tag', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=foo-1.1.1-dev"
|
"org.opencontainers.image.version=foo-1.1.1-dev"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'tag23',
|
'tag23',
|
||||||
@ -1538,7 +1586,8 @@ describe('tag', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=v1.1.1"
|
"org.opencontainers.image.version=v1.1.1"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'tag24',
|
'tag24',
|
||||||
@ -1568,7 +1617,8 @@ describe('tag', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=1.2"
|
"org.opencontainers.image.version=1.2"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'tag25',
|
'tag25',
|
||||||
@ -1598,7 +1648,8 @@ describe('tag', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=1.1b2"
|
"org.opencontainers.image.version=1.1b2"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'tag26',
|
'tag26',
|
||||||
@ -1628,7 +1679,8 @@ describe('tag', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=1.0.dev4"
|
"org.opencontainers.image.version=1.0.dev4"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'tag27',
|
'tag27',
|
||||||
@ -1660,7 +1712,8 @@ describe('tag', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=1.2.3rc2"
|
"org.opencontainers.image.version=1.2.3rc2"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'tag28',
|
'tag28',
|
||||||
@ -1697,7 +1750,8 @@ describe('tag', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=1.1.1"
|
"org.opencontainers.image.version=1.1.1"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'tag29',
|
'tag29',
|
||||||
@ -1727,7 +1781,8 @@ describe('tag', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=1.2.post1"
|
"org.opencontainers.image.version=1.2.post1"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'tag30',
|
'tag30',
|
||||||
@ -1761,7 +1816,8 @@ describe('tag', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=sometag"
|
"org.opencontainers.image.version=sometag"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'tag31',
|
'tag31',
|
||||||
@ -1790,7 +1846,8 @@ describe('tag', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=v2.0.8-beta.67"
|
"org.opencontainers.image.version=v2.0.8-beta.67"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'tag32',
|
'tag32',
|
||||||
@ -1822,7 +1879,8 @@ describe('tag', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=v1.2.3rc2"
|
"org.opencontainers.image.version=v1.2.3rc2"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'tag33',
|
'tag33',
|
||||||
@ -1859,7 +1917,8 @@ describe('tag', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=1.1.1"
|
"org.opencontainers.image.version=1.1.1"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
]
|
]
|
||||||
])('given %p with %p event', tagsLabelsTest);
|
])('given %p with %p event', tagsLabelsTest);
|
||||||
});
|
});
|
||||||
@ -1895,7 +1954,8 @@ describe('latest', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=release1"
|
"org.opencontainers.image.version=release1"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'latest02',
|
'latest02',
|
||||||
@ -1924,7 +1984,8 @@ describe('latest', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=20200110-RC2"
|
"org.opencontainers.image.version=20200110-RC2"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'latest03',
|
'latest03',
|
||||||
@ -1953,7 +2014,8 @@ describe('latest', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=20200110"
|
"org.opencontainers.image.version=20200110"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'latest04',
|
'latest04',
|
||||||
@ -1982,7 +2044,8 @@ describe('latest', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=1.1.1"
|
"org.opencontainers.image.version=1.1.1"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'latest05',
|
'latest05',
|
||||||
@ -2010,7 +2073,8 @@ describe('latest', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=v1.1.1"
|
"org.opencontainers.image.version=v1.1.1"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'latest06',
|
'latest06',
|
||||||
@ -2041,7 +2105,8 @@ describe('latest', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=2.0.8"
|
"org.opencontainers.image.version=2.0.8"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'latest07',
|
'latest07',
|
||||||
@ -2073,7 +2138,8 @@ describe('latest', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=v1.1.1"
|
"org.opencontainers.image.version=v1.1.1"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'latest08',
|
'latest08',
|
||||||
@ -2105,7 +2171,8 @@ describe('latest', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=v1.1.1"
|
"org.opencontainers.image.version=v1.1.1"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'latest09',
|
'latest09',
|
||||||
@ -2123,6 +2190,12 @@ describe('latest', () => {
|
|||||||
`org.opencontainers.image.description=this is a "good" example`,
|
`org.opencontainers.image.description=this is a "good" example`,
|
||||||
"org.opencontainers.image.title=MyCustomTitle",
|
"org.opencontainers.image.title=MyCustomTitle",
|
||||||
"org.opencontainers.image.vendor=MyCompany",
|
"org.opencontainers.image.vendor=MyCompany",
|
||||||
|
],
|
||||||
|
annotations: [
|
||||||
|
"maintainer=Foo",
|
||||||
|
`org.opencontainers.image.description=this is a "bad" example`,
|
||||||
|
"org.opencontainers.image.title=MyNotTitle",
|
||||||
|
"org.opencontainers.image.vendor=MyNotCompany",
|
||||||
]
|
]
|
||||||
} as Inputs,
|
} as Inputs,
|
||||||
{
|
{
|
||||||
@ -2145,6 +2218,18 @@ describe('latest', () => {
|
|||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.vendor=MyCompany",
|
"org.opencontainers.image.vendor=MyCompany",
|
||||||
"org.opencontainers.image.version=v1.1.1"
|
"org.opencontainers.image.version=v1.1.1"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"maintainer=Foo",
|
||||||
|
"org.opencontainers.image.created=2020-01-10T00:30:00.000Z",
|
||||||
|
`org.opencontainers.image.description=this is a "bad" example`,
|
||||||
|
"org.opencontainers.image.licenses=MIT",
|
||||||
|
"org.opencontainers.image.revision=860c1904a1ce19322e91ac35af1ab07466440c37",
|
||||||
|
"org.opencontainers.image.source=https://github.com/octocat/Hello-World",
|
||||||
|
"org.opencontainers.image.title=MyNotTitle",
|
||||||
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
|
"org.opencontainers.image.vendor=MyNotCompany",
|
||||||
|
"org.opencontainers.image.version=v1.1.1"
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
@ -2174,7 +2259,8 @@ describe('latest', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=2.0.8"
|
"org.opencontainers.image.version=2.0.8"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
]
|
]
|
||||||
])('given %p with %p event', tagsLabelsTest);
|
])('given %p with %p event', tagsLabelsTest);
|
||||||
});
|
});
|
||||||
@ -2206,7 +2292,8 @@ describe('pr', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=pr-15"
|
"org.opencontainers.image.version=pr-15"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'pr02',
|
'pr02',
|
||||||
@ -2232,7 +2319,8 @@ describe('pr', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=pr-15"
|
"org.opencontainers.image.version=pr-15"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'pr03',
|
'pr03',
|
||||||
@ -2264,7 +2352,8 @@ describe('pr', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=pr-15"
|
"org.opencontainers.image.version=pr-15"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'pr04',
|
'pr04',
|
||||||
@ -2296,7 +2385,8 @@ describe('pr', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=sha-a9c8c58"
|
"org.opencontainers.image.version=sha-a9c8c58"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'pr05',
|
'pr05',
|
||||||
@ -2329,7 +2419,8 @@ describe('pr', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=pr-15-bal"
|
"org.opencontainers.image.version=pr-15-bal"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'pr06',
|
'pr06',
|
||||||
@ -2362,7 +2453,8 @@ describe('pr', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=15-bal"
|
"org.opencontainers.image.version=15-bal"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'pr07',
|
'pr07',
|
||||||
@ -2394,7 +2486,8 @@ describe('pr', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=sha-2665741"
|
"org.opencontainers.image.version=sha-2665741"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'pr08',
|
'pr08',
|
||||||
@ -2427,7 +2520,8 @@ describe('pr', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=15-bal"
|
"org.opencontainers.image.version=15-bal"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'pr09',
|
'pr09',
|
||||||
@ -2464,7 +2558,8 @@ describe('pr', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=pr-15"
|
"org.opencontainers.image.version=pr-15"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'pr10',
|
'pr10',
|
||||||
@ -2493,7 +2588,8 @@ describe('pr', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=mytag-master"
|
"org.opencontainers.image.version=mytag-master"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'pr11',
|
'pr11',
|
||||||
@ -2522,7 +2618,8 @@ describe('pr', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=mytag-master"
|
"org.opencontainers.image.version=mytag-master"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
])('given %p with %p event', tagsLabelsTest);
|
])('given %p with %p event', tagsLabelsTest);
|
||||||
});
|
});
|
||||||
@ -2872,7 +2969,7 @@ describe('pr-head-sha', () => {
|
|||||||
"org.opencontainers.image.version=mytag-master"
|
"org.opencontainers.image.version=mytag-master"
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
])('given %p with %p event', async (name: string, envFile: string, inputs: Inputs, exVersion: Version, exTags: Array<string>, exLabels: Array<string>) => {
|
])('given %p with %p event', async (name: string, envFile: string, inputs: Inputs, exVersion: Version, exTags: Array<string>, exLabelsAnnotations: Array<string>) => {
|
||||||
process.env = dotenv.parse(fs.readFileSync(path.join(__dirname, 'fixtures', envFile)));
|
process.env = dotenv.parse(fs.readFileSync(path.join(__dirname, 'fixtures', envFile)));
|
||||||
process.env.DOCKER_METADATA_PR_HEAD_SHA = 'true';
|
process.env.DOCKER_METADATA_PR_HEAD_SHA = 'true';
|
||||||
|
|
||||||
@ -2887,7 +2984,10 @@ describe('pr-head-sha', () => {
|
|||||||
expect(tags).toEqual(exTags);
|
expect(tags).toEqual(exTags);
|
||||||
|
|
||||||
const labels = meta.getLabels();
|
const labels = meta.getLabels();
|
||||||
expect(labels).toEqual(exLabels);
|
expect(labels).toEqual(exLabelsAnnotations);
|
||||||
|
|
||||||
|
const annotations = meta.getAnnotations();
|
||||||
|
expect(annotations).toEqual(exLabelsAnnotations);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -2919,7 +3019,8 @@ describe('schedule', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=nightly"
|
"org.opencontainers.image.version=nightly"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'schedule02',
|
'schedule02',
|
||||||
@ -2947,7 +3048,8 @@ describe('schedule', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=20200110"
|
"org.opencontainers.image.version=20200110"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'schedule03',
|
'schedule03',
|
||||||
@ -2975,7 +3077,8 @@ describe('schedule', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=20200110-003000"
|
"org.opencontainers.image.version=20200110-003000"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'schedule04',
|
'schedule04',
|
||||||
@ -3003,7 +3106,8 @@ describe('schedule', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=nightly"
|
"org.opencontainers.image.version=nightly"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'schedule05',
|
'schedule05',
|
||||||
@ -3035,7 +3139,8 @@ describe('schedule', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=nightly"
|
"org.opencontainers.image.version=nightly"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'schedule06',
|
'schedule06',
|
||||||
@ -3073,7 +3178,8 @@ describe('schedule', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=sha-860c190"
|
"org.opencontainers.image.version=sha-860c190"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'schedule07',
|
'schedule07',
|
||||||
@ -3106,7 +3212,8 @@ describe('schedule', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=glo-nightly-bal"
|
"org.opencontainers.image.version=glo-nightly-bal"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'schedule08',
|
'schedule08',
|
||||||
@ -3134,7 +3241,8 @@ describe('schedule', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=20200110-093000"
|
"org.opencontainers.image.version=20200110-093000"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
])('given %p with %p event', tagsLabelsTest);
|
])('given %p with %p event', tagsLabelsTest);
|
||||||
});
|
});
|
||||||
@ -3167,7 +3275,8 @@ describe('release', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=v1.1.1"
|
"org.opencontainers.image.version=v1.1.1"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'release02',
|
'release02',
|
||||||
@ -3201,7 +3310,8 @@ describe('release', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=v1.1.1"
|
"org.opencontainers.image.version=v1.1.1"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
]
|
]
|
||||||
])('given %s with %p event', tagsLabelsTest);
|
])('given %s with %p event', tagsLabelsTest);
|
||||||
});
|
});
|
||||||
@ -3242,7 +3352,8 @@ describe('raw', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=dev"
|
"org.opencontainers.image.version=dev"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'raw02',
|
'raw02',
|
||||||
@ -3272,7 +3383,8 @@ describe('raw', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=dev"
|
"org.opencontainers.image.version=dev"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'raw03',
|
'raw03',
|
||||||
@ -3307,7 +3419,8 @@ describe('raw', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=release1"
|
"org.opencontainers.image.version=release1"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'raw04',
|
'raw04',
|
||||||
@ -3344,7 +3457,8 @@ describe('raw', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=20200110"
|
"org.opencontainers.image.version=20200110"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'raw05',
|
'raw05',
|
||||||
@ -3390,7 +3504,8 @@ describe('raw', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=1.1.1"
|
"org.opencontainers.image.version=1.1.1"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'raw06',
|
'raw06',
|
||||||
@ -3425,7 +3540,8 @@ describe('raw', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=my"
|
"org.opencontainers.image.version=my"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'raw07',
|
'raw07',
|
||||||
@ -3463,7 +3579,8 @@ describe('raw', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=my"
|
"org.opencontainers.image.version=my"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'raw08',
|
'raw08',
|
||||||
@ -3499,7 +3616,8 @@ describe('raw', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=my"
|
"org.opencontainers.image.version=my"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'raw09',
|
'raw09',
|
||||||
@ -3537,7 +3655,8 @@ describe('raw', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=foo-my-bar"
|
"org.opencontainers.image.version=foo-my-bar"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'raw10',
|
'raw10',
|
||||||
@ -3571,7 +3690,8 @@ describe('raw', () => {
|
|||||||
"org.opencontainers.image.title=Hello-World",
|
"org.opencontainers.image.title=Hello-World",
|
||||||
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"org.opencontainers.image.version=foo"
|
"org.opencontainers.image.version=foo"
|
||||||
]
|
],
|
||||||
|
undefined
|
||||||
],
|
],
|
||||||
])('given %p wth %p event', tagsLabelsTest);
|
])('given %p wth %p event', tagsLabelsTest);
|
||||||
});
|
});
|
||||||
@ -3615,7 +3735,6 @@ describe('json', () => {
|
|||||||
"org.opencontainers.image.version": "dev"
|
"org.opencontainers.image.version": "dev"
|
||||||
},
|
},
|
||||||
"annotations": [
|
"annotations": [
|
||||||
"manifest:foo=",
|
|
||||||
"manifest:org.opencontainers.image.created=2020-01-10T00:30:00.000Z",
|
"manifest:org.opencontainers.image.created=2020-01-10T00:30:00.000Z",
|
||||||
"manifest:org.opencontainers.image.description=This your first repo!",
|
"manifest:org.opencontainers.image.description=This your first repo!",
|
||||||
"manifest:org.opencontainers.image.licenses=MIT",
|
"manifest:org.opencontainers.image.licenses=MIT",
|
||||||
@ -3877,15 +3996,13 @@ describe('json', () => {
|
|||||||
"org.opencontainers.image.version": "v1.1.1"
|
"org.opencontainers.image.version": "v1.1.1"
|
||||||
},
|
},
|
||||||
"annotations": [
|
"annotations": [
|
||||||
"manifest:maintainer=CrazyMax",
|
|
||||||
"manifest:org.opencontainers.image.created=2020-01-10T00:30:00.000Z",
|
"manifest:org.opencontainers.image.created=2020-01-10T00:30:00.000Z",
|
||||||
"manifest:org.opencontainers.image.description=Another description",
|
"manifest:org.opencontainers.image.description=This your first repo!",
|
||||||
"manifest:org.opencontainers.image.licenses=MIT",
|
"manifest:org.opencontainers.image.licenses=MIT",
|
||||||
"manifest:org.opencontainers.image.revision=860c1904a1ce19322e91ac35af1ab07466440c37",
|
"manifest:org.opencontainers.image.revision=860c1904a1ce19322e91ac35af1ab07466440c37",
|
||||||
"manifest:org.opencontainers.image.source=https://github.com/octocat/Hello-World",
|
"manifest:org.opencontainers.image.source=https://github.com/octocat/Hello-World",
|
||||||
"manifest:org.opencontainers.image.title=MyCustom=Title",
|
"manifest:org.opencontainers.image.title=Hello-World",
|
||||||
"manifest:org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"manifest:org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"manifest:org.opencontainers.image.vendor=MyCompany",
|
|
||||||
"manifest:org.opencontainers.image.version=v1.1.1"
|
"manifest:org.opencontainers.image.version=v1.1.1"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@ -4385,25 +4502,21 @@ describe('bakeFile', () => {
|
|||||||
"target": {
|
"target": {
|
||||||
"docker-metadata-action": {
|
"docker-metadata-action": {
|
||||||
"annotations": [
|
"annotations": [
|
||||||
"index:maintainer=CrazyMax",
|
|
||||||
"index:org.opencontainers.image.created=2020-01-10T00:30:00.000Z",
|
"index:org.opencontainers.image.created=2020-01-10T00:30:00.000Z",
|
||||||
"index:org.opencontainers.image.description=Another description",
|
"index:org.opencontainers.image.description=This your first repo!",
|
||||||
"index:org.opencontainers.image.licenses=MIT",
|
"index:org.opencontainers.image.licenses=MIT",
|
||||||
"index:org.opencontainers.image.revision=860c1904a1ce19322e91ac35af1ab07466440c37",
|
"index:org.opencontainers.image.revision=860c1904a1ce19322e91ac35af1ab07466440c37",
|
||||||
"index:org.opencontainers.image.source=https://github.com/octocat/Hello-World",
|
"index:org.opencontainers.image.source=https://github.com/octocat/Hello-World",
|
||||||
"index:org.opencontainers.image.title=MyCustom=Title",
|
"index:org.opencontainers.image.title=Hello-World",
|
||||||
"index:org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"index:org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"index:org.opencontainers.image.vendor=MyCompany",
|
|
||||||
"index:org.opencontainers.image.version=v1.1.1",
|
"index:org.opencontainers.image.version=v1.1.1",
|
||||||
"manifest-descriptor:maintainer=CrazyMax",
|
|
||||||
"manifest-descriptor:org.opencontainers.image.created=2020-01-10T00:30:00.000Z",
|
"manifest-descriptor:org.opencontainers.image.created=2020-01-10T00:30:00.000Z",
|
||||||
"manifest-descriptor:org.opencontainers.image.description=Another description",
|
"manifest-descriptor:org.opencontainers.image.description=This your first repo!",
|
||||||
"manifest-descriptor:org.opencontainers.image.licenses=MIT",
|
"manifest-descriptor:org.opencontainers.image.licenses=MIT",
|
||||||
"manifest-descriptor:org.opencontainers.image.revision=860c1904a1ce19322e91ac35af1ab07466440c37",
|
"manifest-descriptor:org.opencontainers.image.revision=860c1904a1ce19322e91ac35af1ab07466440c37",
|
||||||
"manifest-descriptor:org.opencontainers.image.source=https://github.com/octocat/Hello-World",
|
"manifest-descriptor:org.opencontainers.image.source=https://github.com/octocat/Hello-World",
|
||||||
"manifest-descriptor:org.opencontainers.image.title=MyCustom=Title",
|
"manifest-descriptor:org.opencontainers.image.title=Hello-World",
|
||||||
"manifest-descriptor:org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
"manifest-descriptor:org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
"manifest-descriptor:org.opencontainers.image.vendor=MyCompany",
|
|
||||||
"manifest-descriptor:org.opencontainers.image.version=v1.1.1"
|
"manifest-descriptor:org.opencontainers.image.version=v1.1.1"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -23,12 +23,18 @@ inputs:
|
|||||||
labels:
|
labels:
|
||||||
description: 'List of custom labels'
|
description: 'List of custom labels'
|
||||||
required: false
|
required: false
|
||||||
|
annotations:
|
||||||
|
description: 'List of custom annotations'
|
||||||
|
required: false
|
||||||
sep-tags:
|
sep-tags:
|
||||||
description: 'Separator to use for tags output (default \n)'
|
description: 'Separator to use for tags output (default \n)'
|
||||||
required: false
|
required: false
|
||||||
sep-labels:
|
sep-labels:
|
||||||
description: 'Separator to use for labels output (default \n)'
|
description: 'Separator to use for labels output (default \n)'
|
||||||
required: false
|
required: false
|
||||||
|
sep-annotations:
|
||||||
|
description: 'Separator to use for annotations output (default \n)'
|
||||||
|
required: false
|
||||||
bake-target:
|
bake-target:
|
||||||
description: 'Bake target name (default docker-metadata-action)'
|
description: 'Bake target name (default docker-metadata-action)'
|
||||||
required: false
|
required: false
|
||||||
|
@ -10,8 +10,10 @@ export interface Inputs {
|
|||||||
tags: string[];
|
tags: string[];
|
||||||
flavor: string[];
|
flavor: string[];
|
||||||
labels: string[];
|
labels: string[];
|
||||||
|
annotations: string[];
|
||||||
sepTags: string;
|
sepTags: string;
|
||||||
sepLabels: string;
|
sepLabels: string;
|
||||||
|
sepAnnotations: string;
|
||||||
bakeTarget: string;
|
bakeTarget: string;
|
||||||
githubToken: string;
|
githubToken: string;
|
||||||
}
|
}
|
||||||
@ -23,8 +25,10 @@ export function getInputs(): Inputs {
|
|||||||
tags: Util.getInputList('tags', {ignoreComma: true, comment: '#'}),
|
tags: Util.getInputList('tags', {ignoreComma: true, comment: '#'}),
|
||||||
flavor: Util.getInputList('flavor', {ignoreComma: true, comment: '#'}),
|
flavor: Util.getInputList('flavor', {ignoreComma: true, comment: '#'}),
|
||||||
labels: Util.getInputList('labels', {ignoreComma: true, comment: '#'}),
|
labels: Util.getInputList('labels', {ignoreComma: true, comment: '#'}),
|
||||||
|
annotations: Util.getInputList('annotations', {ignoreComma: true, comment: '#'}),
|
||||||
sepTags: core.getInput('sep-tags', {trimWhitespace: false}) || `\n`,
|
sepTags: core.getInput('sep-tags', {trimWhitespace: false}) || `\n`,
|
||||||
sepLabels: core.getInput('sep-labels', {trimWhitespace: false}) || `\n`,
|
sepLabels: core.getInput('sep-labels', {trimWhitespace: false}) || `\n`,
|
||||||
|
sepAnnotations: core.getInput('sep-annotations', {trimWhitespace: false}) || `\n`,
|
||||||
bakeTarget: core.getInput('bake-target') || `docker-metadata-action`,
|
bakeTarget: core.getInput('bake-target') || `docker-metadata-action`,
|
||||||
githubToken: core.getInput('github-token')
|
githubToken: core.getInput('github-token')
|
||||||
};
|
};
|
||||||
|
15
src/main.ts
15
src/main.ts
@ -71,32 +71,31 @@ actionsToolkit.run(
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Annotations
|
// Annotations
|
||||||
const alevels = process.env.DOCKER_METADATA_ANNOTATIONS_LEVELS || 'manifest';
|
const annotationsRaw: Array<string> = meta.getAnnotations();
|
||||||
if (labels.length > 0) {
|
const annotationsLevels = process.env.DOCKER_METADATA_ANNOTATIONS_LEVELS || 'manifest';
|
||||||
await core.group(`Annotations`, async () => {
|
await core.group(`Annotations`, async () => {
|
||||||
const annotations: Array<string> = [];
|
const annotations: Array<string> = [];
|
||||||
for (const level of alevels.split(',')) {
|
for (const level of annotationsLevels.split(',')) {
|
||||||
annotations.push(
|
annotations.push(
|
||||||
...labels.map(label => {
|
...annotationsRaw.map(label => {
|
||||||
const v = `${level}:${label}`;
|
const v = `${level}:${label}`;
|
||||||
core.info(v);
|
core.info(v);
|
||||||
return v;
|
return v;
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
setOutput(`annotations`, annotations.join(inputs.sepLabels));
|
setOutput(`annotations`, annotations.join(inputs.sepAnnotations));
|
||||||
});
|
});
|
||||||
}
|
|
||||||
|
|
||||||
// JSON
|
// JSON
|
||||||
const jsonOutput = meta.getJSON(alevels.split(','));
|
const jsonOutput = meta.getJSON(annotationsLevels.split(','));
|
||||||
await core.group(`JSON output`, async () => {
|
await core.group(`JSON output`, async () => {
|
||||||
core.info(JSON.stringify(jsonOutput, null, 2));
|
core.info(JSON.stringify(jsonOutput, null, 2));
|
||||||
setOutput('json', JSON.stringify(jsonOutput));
|
setOutput('json', JSON.stringify(jsonOutput));
|
||||||
});
|
});
|
||||||
|
|
||||||
// Bake files
|
// Bake files
|
||||||
for (const kind of ['tags', 'labels', 'annotations:' + alevels]) {
|
for (const kind of ['tags', 'labels', 'annotations:' + annotationsLevels]) {
|
||||||
const outputName = kind.split(':')[0];
|
const outputName = kind.split(':')[0];
|
||||||
const bakeFile: string = meta.getBakeFile(kind);
|
const bakeFile: string = meta.getBakeFile(kind);
|
||||||
await core.group(`Bake file definition (${outputName})`, async () => {
|
await core.group(`Bake file definition (${outputName})`, async () => {
|
||||||
|
18
src/meta.ts
18
src/meta.ts
@ -468,7 +468,15 @@ export class Meta {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public getLabels(): Array<string> {
|
public getLabels(): Array<string> {
|
||||||
const labels: Array<string> = [
|
return this.getOCIAnnotationsWithCustoms(this.inputs.labels);
|
||||||
|
}
|
||||||
|
|
||||||
|
public getAnnotations(): Array<string> {
|
||||||
|
return this.getOCIAnnotationsWithCustoms(this.inputs.annotations);
|
||||||
|
}
|
||||||
|
|
||||||
|
private getOCIAnnotationsWithCustoms(extra: string[]): Array<string> {
|
||||||
|
const res: Array<string> = [
|
||||||
`org.opencontainers.image.title=${this.repo.name || ''}`,
|
`org.opencontainers.image.title=${this.repo.name || ''}`,
|
||||||
`org.opencontainers.image.description=${this.repo.description || ''}`,
|
`org.opencontainers.image.description=${this.repo.description || ''}`,
|
||||||
`org.opencontainers.image.url=${this.repo.html_url || ''}`,
|
`org.opencontainers.image.url=${this.repo.html_url || ''}`,
|
||||||
@ -478,11 +486,11 @@ export class Meta {
|
|||||||
`org.opencontainers.image.revision=${this.context.sha || ''}`,
|
`org.opencontainers.image.revision=${this.context.sha || ''}`,
|
||||||
`org.opencontainers.image.licenses=${this.repo.license?.spdx_id || ''}`
|
`org.opencontainers.image.licenses=${this.repo.license?.spdx_id || ''}`
|
||||||
];
|
];
|
||||||
labels.push(...this.inputs.labels);
|
res.push(...extra);
|
||||||
|
|
||||||
return Array.from(
|
return Array.from(
|
||||||
new Map<string, string>(
|
new Map<string, string>(
|
||||||
labels
|
res
|
||||||
.map(label => label.split('='))
|
.map(label => label.split('='))
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
.filter(([_key, ...values]) => values.length > 0)
|
.filter(([_key, ...values]) => values.length > 0)
|
||||||
@ -496,7 +504,7 @@ export class Meta {
|
|||||||
public getJSON(alevels: string[]): unknown {
|
public getJSON(alevels: string[]): unknown {
|
||||||
const annotations: Array<string> = [];
|
const annotations: Array<string> = [];
|
||||||
for (const level of alevels) {
|
for (const level of alevels) {
|
||||||
annotations.push(...this.getLabels().map(label => `${level}:${label}`));
|
annotations.push(...this.getAnnotations().map(label => `${level}:${label}`));
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
tags: this.getTags(),
|
tags: this.getTags(),
|
||||||
@ -536,7 +544,7 @@ export class Meta {
|
|||||||
const name = kind.split(':')[0];
|
const name = kind.split(':')[0];
|
||||||
const annotations: Array<string> = [];
|
const annotations: Array<string> = [];
|
||||||
for (const level of kind.split(':')[1].split(',')) {
|
for (const level of kind.split(':')[1].split(',')) {
|
||||||
annotations.push(...this.getLabels().map(label => `${level}:${label}`));
|
annotations.push(...this.getAnnotations().map(label => `${level}:${label}`));
|
||||||
}
|
}
|
||||||
return this.generateBakeFile(name, {
|
return this.generateBakeFile(name, {
|
||||||
annotations: annotations
|
annotations: annotations
|
||||||
|
@ -4,9 +4,11 @@ RUN apk add --no-cache coreutils jq
|
|||||||
ARG DOCKER_METADATA_OUTPUT_VERSION
|
ARG DOCKER_METADATA_OUTPUT_VERSION
|
||||||
ARG DOCKER_METADATA_OUTPUT_TAGS
|
ARG DOCKER_METADATA_OUTPUT_TAGS
|
||||||
ARG DOCKER_METADATA_OUTPUT_LABELS
|
ARG DOCKER_METADATA_OUTPUT_LABELS
|
||||||
|
ARG DOCKER_METADATA_OUTPUT_ANNOTATIONS
|
||||||
ARG DOCKER_METADATA_OUTPUT_JSON
|
ARG DOCKER_METADATA_OUTPUT_JSON
|
||||||
RUN printenv DOCKER_METADATA_OUTPUT_VERSION
|
RUN printenv DOCKER_METADATA_OUTPUT_VERSION
|
||||||
RUN printenv DOCKER_METADATA_OUTPUT_TAGS
|
RUN printenv DOCKER_METADATA_OUTPUT_TAGS
|
||||||
RUN printenv DOCKER_METADATA_OUTPUT_LABELS
|
RUN printenv DOCKER_METADATA_OUTPUT_LABELS
|
||||||
|
RUN printenv DOCKER_METADATA_OUTPUT_ANNOTATIONS
|
||||||
RUN printenv DOCKER_METADATA_OUTPUT_JSON
|
RUN printenv DOCKER_METADATA_OUTPUT_JSON
|
||||||
RUN echo $DOCKER_METADATA_OUTPUT_JSON | jq
|
RUN echo $DOCKER_METADATA_OUTPUT_JSON | jq
|
||||||
|
Loading…
Reference in New Issue
Block a user