mirror of
https://github.com/docker/metadata-action.git
synced 2024-12-22 15:45:35 +00:00
Prefix/suffix not taken into account (#62)
Co-authored-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
parent
f39f06a624
commit
84b9e75d44
|
@ -1578,6 +1578,72 @@ describe('pr', () => {
|
||||||
"org.opencontainers.image.licenses=MIT"
|
"org.opencontainers.image.licenses=MIT"
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
[
|
||||||
|
'pr05',
|
||||||
|
'event_pull_request.env',
|
||||||
|
{
|
||||||
|
images: ['org/app', 'ghcr.io/user/app'],
|
||||||
|
tags: [
|
||||||
|
`type=ref,event=pr`
|
||||||
|
],
|
||||||
|
flavor: [
|
||||||
|
`prefix=glo-`,
|
||||||
|
`suffix=-bal`
|
||||||
|
]
|
||||||
|
} as Inputs,
|
||||||
|
{
|
||||||
|
main: 'pr-2-bal',
|
||||||
|
partial: [],
|
||||||
|
latest: false
|
||||||
|
} as Version,
|
||||||
|
[
|
||||||
|
'org/app:pr-2-bal',
|
||||||
|
'ghcr.io/user/app:pr-2-bal'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"org.opencontainers.image.title=Hello-World",
|
||||||
|
"org.opencontainers.image.description=This your first repo!",
|
||||||
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
|
"org.opencontainers.image.source=https://github.com/octocat/Hello-World",
|
||||||
|
"org.opencontainers.image.version=pr-2-bal",
|
||||||
|
"org.opencontainers.image.created=2020-01-10T00:30:00.000Z",
|
||||||
|
"org.opencontainers.image.revision=1e9249f05bfc090e0688b8fb9c1b347586add504",
|
||||||
|
"org.opencontainers.image.licenses=MIT"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'pr06',
|
||||||
|
'event_pull_request.env',
|
||||||
|
{
|
||||||
|
images: ['org/app', 'ghcr.io/user/app'],
|
||||||
|
tags: [
|
||||||
|
`type=ref,event=pr,prefix=`
|
||||||
|
],
|
||||||
|
flavor: [
|
||||||
|
`prefix=glo-`,
|
||||||
|
`suffix=-bal`
|
||||||
|
]
|
||||||
|
} as Inputs,
|
||||||
|
{
|
||||||
|
main: 'glo-2-bal',
|
||||||
|
partial: [],
|
||||||
|
latest: false
|
||||||
|
} as Version,
|
||||||
|
[
|
||||||
|
'org/app:glo-2-bal',
|
||||||
|
'ghcr.io/user/app:glo-2-bal'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"org.opencontainers.image.title=Hello-World",
|
||||||
|
"org.opencontainers.image.description=This your first repo!",
|
||||||
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
|
"org.opencontainers.image.source=https://github.com/octocat/Hello-World",
|
||||||
|
"org.opencontainers.image.version=glo-2-bal",
|
||||||
|
"org.opencontainers.image.created=2020-01-10T00:30:00.000Z",
|
||||||
|
"org.opencontainers.image.revision=1e9249f05bfc090e0688b8fb9c1b347586add504",
|
||||||
|
"org.opencontainers.image.licenses=MIT"
|
||||||
|
]
|
||||||
|
]
|
||||||
])('given %p with %p event', tagsLabelsTest);
|
])('given %p with %p event', tagsLabelsTest);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -1758,6 +1824,39 @@ describe('schedule', () => {
|
||||||
"org.opencontainers.image.licenses=MIT"
|
"org.opencontainers.image.licenses=MIT"
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
[
|
||||||
|
'schedule07',
|
||||||
|
'event_schedule.env',
|
||||||
|
{
|
||||||
|
images: ['org/app', 'ghcr.io/user/app'],
|
||||||
|
tags: [
|
||||||
|
`type=schedule`,
|
||||||
|
],
|
||||||
|
flavor: [
|
||||||
|
`prefix=glo-`,
|
||||||
|
`suffix=-bal`
|
||||||
|
]
|
||||||
|
} as Inputs,
|
||||||
|
{
|
||||||
|
main: 'glo-nightly-bal',
|
||||||
|
partial: [],
|
||||||
|
latest: false
|
||||||
|
} as Version,
|
||||||
|
[
|
||||||
|
'org/app:glo-nightly-bal',
|
||||||
|
'ghcr.io/user/app:glo-nightly-bal'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"org.opencontainers.image.title=Hello-World",
|
||||||
|
"org.opencontainers.image.description=This your first repo!",
|
||||||
|
"org.opencontainers.image.url=https://github.com/octocat/Hello-World",
|
||||||
|
"org.opencontainers.image.source=https://github.com/octocat/Hello-World",
|
||||||
|
"org.opencontainers.image.version=glo-nightly-bal",
|
||||||
|
"org.opencontainers.image.created=2020-01-10T00:30:00.000Z",
|
||||||
|
"org.opencontainers.image.revision=90dd6032fac8bda1b6c4436a2e65de27961ed071",
|
||||||
|
"org.opencontainers.image.licenses=MIT"
|
||||||
|
]
|
||||||
|
],
|
||||||
])('given %p with %p event', tagsLabelsTest);
|
])('given %p with %p event', tagsLabelsTest);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
28
dist/index.js
generated
vendored
28
dist/index.js
generated
vendored
|
@ -439,11 +439,11 @@ class Meta {
|
||||||
return version;
|
return version;
|
||||||
}
|
}
|
||||||
const currentDate = this.date;
|
const currentDate = this.date;
|
||||||
const vraw = handlebars.compile(tag.attrs['pattern'])({
|
const vraw = this.setFlavor(handlebars.compile(tag.attrs['pattern'])({
|
||||||
date: function (format) {
|
date: function (format) {
|
||||||
return moment_1.default(currentDate).utc().format(format);
|
return moment_1.default(currentDate).utc().format(format);
|
||||||
}
|
}
|
||||||
});
|
}), tag);
|
||||||
if (version.main == undefined) {
|
if (version.main == undefined) {
|
||||||
version.main = vraw;
|
version.main = vraw;
|
||||||
}
|
}
|
||||||
|
@ -475,24 +475,18 @@ class Meta {
|
||||||
includePrerelease: true
|
includePrerelease: true
|
||||||
});
|
});
|
||||||
if (semver.prerelease(vraw)) {
|
if (semver.prerelease(vraw)) {
|
||||||
vraw = handlebars.compile('{{version}}')(sver);
|
vraw = this.setFlavor(handlebars.compile('{{version}}')(sver), tag);
|
||||||
if (version.main == undefined) {
|
|
||||||
version.main = vraw;
|
|
||||||
}
|
|
||||||
else if (vraw !== version.main) {
|
|
||||||
version.partial.push(vraw);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
vraw = handlebars.compile(tag.attrs['pattern'])(sver);
|
vraw = this.setFlavor(handlebars.compile(tag.attrs['pattern'])(sver), tag);
|
||||||
if (version.main == undefined) {
|
|
||||||
version.main = vraw;
|
|
||||||
}
|
|
||||||
else if (vraw !== version.main) {
|
|
||||||
version.partial.push(vraw);
|
|
||||||
}
|
|
||||||
latest = true;
|
latest = true;
|
||||||
}
|
}
|
||||||
|
if (version.main == undefined) {
|
||||||
|
version.main = vraw;
|
||||||
|
}
|
||||||
|
else if (vraw !== version.main) {
|
||||||
|
version.partial.push(vraw);
|
||||||
|
}
|
||||||
if (version.latest == undefined) {
|
if (version.latest == undefined) {
|
||||||
version.latest = this.flavor.latest == 'auto' ? latest : this.flavor.latest == 'true';
|
version.latest = this.flavor.latest == 'auto' ? latest : this.flavor.latest == 'true';
|
||||||
}
|
}
|
||||||
|
@ -526,7 +520,7 @@ class Meta {
|
||||||
core.warning(`Group ${tag.attrs['group']} does not exist for ${tag.attrs['pattern']} pattern.`);
|
core.warning(`Group ${tag.attrs['group']} does not exist for ${tag.attrs['pattern']} pattern.`);
|
||||||
return version;
|
return version;
|
||||||
}
|
}
|
||||||
vraw = tmatch[tag.attrs['group']];
|
vraw = this.setFlavor(tmatch[tag.attrs['group']], tag);
|
||||||
latest = true;
|
latest = true;
|
||||||
if (version.main == undefined) {
|
if (version.main == undefined) {
|
||||||
version.main = vraw;
|
version.main = vraw;
|
||||||
|
|
34
src/meta.ts
34
src/meta.ts
|
@ -99,11 +99,14 @@ export class Meta {
|
||||||
}
|
}
|
||||||
|
|
||||||
const currentDate = this.date;
|
const currentDate = this.date;
|
||||||
const vraw = handlebars.compile(tag.attrs['pattern'])({
|
const vraw = this.setFlavor(
|
||||||
date: function (format) {
|
handlebars.compile(tag.attrs['pattern'])({
|
||||||
return moment(currentDate).utc().format(format);
|
date: function (format) {
|
||||||
}
|
return moment(currentDate).utc().format(format);
|
||||||
});
|
}
|
||||||
|
}),
|
||||||
|
tag
|
||||||
|
);
|
||||||
|
|
||||||
if (version.main == undefined) {
|
if (version.main == undefined) {
|
||||||
version.main = vraw;
|
version.main = vraw;
|
||||||
|
@ -138,21 +141,16 @@ export class Meta {
|
||||||
includePrerelease: true
|
includePrerelease: true
|
||||||
});
|
});
|
||||||
if (semver.prerelease(vraw)) {
|
if (semver.prerelease(vraw)) {
|
||||||
vraw = handlebars.compile('{{version}}')(sver);
|
vraw = this.setFlavor(handlebars.compile('{{version}}')(sver), tag);
|
||||||
if (version.main == undefined) {
|
|
||||||
version.main = vraw;
|
|
||||||
} else if (vraw !== version.main) {
|
|
||||||
version.partial.push(vraw);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
vraw = handlebars.compile(tag.attrs['pattern'])(sver);
|
vraw = this.setFlavor(handlebars.compile(tag.attrs['pattern'])(sver), tag);
|
||||||
if (version.main == undefined) {
|
|
||||||
version.main = vraw;
|
|
||||||
} else if (vraw !== version.main) {
|
|
||||||
version.partial.push(vraw);
|
|
||||||
}
|
|
||||||
latest = true;
|
latest = true;
|
||||||
}
|
}
|
||||||
|
if (version.main == undefined) {
|
||||||
|
version.main = vraw;
|
||||||
|
} else if (vraw !== version.main) {
|
||||||
|
version.partial.push(vraw);
|
||||||
|
}
|
||||||
if (version.latest == undefined) {
|
if (version.latest == undefined) {
|
||||||
version.latest = this.flavor.latest == 'auto' ? latest : this.flavor.latest == 'true';
|
version.latest = this.flavor.latest == 'auto' ? latest : this.flavor.latest == 'true';
|
||||||
}
|
}
|
||||||
|
@ -189,7 +187,7 @@ export class Meta {
|
||||||
return version;
|
return version;
|
||||||
}
|
}
|
||||||
|
|
||||||
vraw = tmatch[tag.attrs['group']];
|
vraw = this.setFlavor(tmatch[tag.attrs['group']], tag);
|
||||||
latest = true;
|
latest = true;
|
||||||
|
|
||||||
if (version.main == undefined) {
|
if (version.main == undefined) {
|
||||||
|
|
Loading…
Reference in a new issue