mirror of
https://github.com/docker/metadata-action.git
synced 2024-12-22 18:37:42 +01:00
Merge pull request #489 from crazy-max/labels-template
global expressions support for labels and annotations
This commit is contained in:
commit
906ecf0fc0
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
@ -269,6 +269,8 @@ jobs:
|
|||||||
images: |
|
images: |
|
||||||
${{ env.DOCKER_IMAGE }}
|
${{ env.DOCKER_IMAGE }}
|
||||||
ghcr.io/name/app
|
ghcr.io/name/app
|
||||||
|
labels: |
|
||||||
|
org.opencontainers.image.created={{commit_date 'YYYY-MM-DDTHH:mm:ss.SSS[Z]'}}
|
||||||
tags: |
|
tags: |
|
||||||
type=sha
|
type=sha
|
||||||
type=raw,value=gexp-branch-{{branch}}
|
type=raw,value=gexp-branch-{{branch}}
|
||||||
|
10
README.md
10
README.md
@ -818,7 +818,8 @@ Each tags `type` attribute has a default priority:
|
|||||||
### Global expressions
|
### Global expressions
|
||||||
|
|
||||||
The following [Handlebars' template](https://handlebarsjs.com/guide/) expressions
|
The following [Handlebars' template](https://handlebarsjs.com/guide/) expressions
|
||||||
for `prefix`, `suffix`, `value` and `enable` attributes are available:
|
for `prefix`, `suffix`, `value` and `enable` attributes of `tags` input are
|
||||||
|
available:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
tags: |
|
tags: |
|
||||||
@ -828,6 +829,13 @@ tags: |
|
|||||||
type=raw,value=mytag-{{branch}}-{{sha}}
|
type=raw,value=mytag-{{branch}}-{{sha}}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
They can also be applied to `labels` and `annotations` inputs:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
labels: |
|
||||||
|
org.opencontainers.image.created={{commit_date 'YYYY-MM-DDTHH:mm:ss.SSS[Z]'}}
|
||||||
|
```
|
||||||
|
|
||||||
#### `{{branch}}`
|
#### `{{branch}}`
|
||||||
|
|
||||||
Returns the branch name that triggered the workflow run. Will be empty if not
|
Returns the branch name that triggered the workflow run. Will be empty if not
|
||||||
|
@ -785,6 +785,9 @@ describe('push', () => {
|
|||||||
`type=raw,value=mytag-baseref-{{base_ref}}`,
|
`type=raw,value=mytag-baseref-{{base_ref}}`,
|
||||||
`type=raw,value=mytag-defbranch,enable={{is_default_branch}}`
|
`type=raw,value=mytag-defbranch,enable={{is_default_branch}}`
|
||||||
],
|
],
|
||||||
|
labels: [
|
||||||
|
"org.opencontainers.image.created={{commit_date 'YYYY-MM-DDTHH:mm:ss.SSS[Z]'}}"
|
||||||
|
]
|
||||||
} as Inputs,
|
} as Inputs,
|
||||||
{
|
{
|
||||||
main: 'mytag-master',
|
main: 'mytag-master',
|
||||||
|
2
dist/index.js
generated
vendored
2
dist/index.js
generated
vendored
File diff suppressed because one or more lines are too long
2
dist/index.js.map
generated
vendored
2
dist/index.js.map
generated
vendored
File diff suppressed because one or more lines are too long
@ -372,7 +372,7 @@ export class Meta {
|
|||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
private setGlobalExp(val): string {
|
private setGlobalExp(val: string): string {
|
||||||
const context = this.context;
|
const context = this.context;
|
||||||
const currentDate = this.date;
|
const currentDate = this.date;
|
||||||
const commitDate = this.context.commitDate;
|
const commitDate = this.context.commitDate;
|
||||||
@ -517,7 +517,9 @@ 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 || ''}`
|
||||||
];
|
];
|
||||||
res.push(...extra);
|
extra.forEach(label => {
|
||||||
|
res.push(this.setGlobalExp(label));
|
||||||
|
});
|
||||||
|
|
||||||
return Array.from(
|
return Array.from(
|
||||||
new Map<string, string>(
|
new Map<string, string>(
|
||||||
|
Loading…
Reference in New Issue
Block a user