From 4cb9252fa621cbeb05d16ea8f5c8dd7482b76e3b Mon Sep 17 00:00:00 2001 From: CrazyMax Date: Mon, 12 Jul 2021 17:08:07 +0200 Subject: [PATCH] Only return edge if branch matches Signed-off-by: CrazyMax --- README.md | 6 ++-- __tests__/meta.test.ts | 70 +++++++++++++++++++++++++++--------------- dist/index.js | 6 ++-- src/meta.ts | 6 ++-- 4 files changed, 55 insertions(+), 33 deletions(-) diff --git a/README.md b/README.md index 8e955c9..2bfac34 100644 --- a/README.md +++ b/README.md @@ -544,11 +544,11 @@ Extended attributes and default values: ```yaml tags: | # branch event - type=ref,enable=true,priority=600,prefix=,suffix=,event= + type=ref,enable=true,priority=600,prefix=,suffix=,event=branch # tag event - type=ref,enable=true,priority=600,prefix=,suffix=,event= + type=ref,enable=true,priority=600,prefix=,suffix=,event=tag # pull request event - type=ref,enable=true,priority=600,prefix=pr-,suffix=,event= + type=ref,enable=true,priority=600,prefix=pr-,suffix=,event=pr ``` ### `type=raw` diff --git a/__tests__/meta.test.ts b/__tests__/meta.test.ts index ff14ac5..c907526 100644 --- a/__tests__/meta.test.ts +++ b/__tests__/meta.test.ts @@ -379,14 +379,12 @@ describe('push', () => { ], } as Inputs, { - main: 'master', - partial: ['sha-90dd603'], + main: 'sha-90dd603', + partial: [], latest: false } as Version, [ - 'org/app:master', 'org/app:sha-90dd603', - 'ghcr.io/user/app:master', 'ghcr.io/user/app:sha-90dd603' ], [ @@ -394,7 +392,7 @@ describe('push', () => { "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=master", + "org.opencontainers.image.version=sha-90dd603", "org.opencontainers.image.created=2020-01-10T00:30:00.000Z", "org.opencontainers.image.revision=90dd6032fac8bda1b6c4436a2e65de27961ed071", "org.opencontainers.image.licenses=MIT" @@ -411,14 +409,12 @@ describe('push', () => { ], } as Inputs, { - main: 'my-feature-1245', - partial: ['sha-90dd603'], + main: 'sha-90dd603', + partial: [], latest: false } as Version, [ - 'org/app:my-feature-1245', 'org/app:sha-90dd603', - 'ghcr.io/user/app:my-feature-1245', 'ghcr.io/user/app:sha-90dd603' ], [ @@ -426,7 +422,7 @@ describe('push', () => { "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=my-feature-1245", + "org.opencontainers.image.version=sha-90dd603", "org.opencontainers.image.created=2020-01-10T00:30:00.000Z", "org.opencontainers.image.revision=90dd6032fac8bda1b6c4436a2e65de27961ed071", "org.opencontainers.image.licenses=MIT" @@ -444,20 +440,17 @@ describe('push', () => { ], } as Inputs, { - main: 'my-feature-1245', + main: undefined, partial: [], latest: false } as Version, - [ - 'org/app:my-feature-1245', - 'ghcr.io/user/app:my-feature-1245' - ], + [], [ "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=my-feature-1245", + "org.opencontainers.image.version=", "org.opencontainers.image.created=2020-01-10T00:30:00.000Z", "org.opencontainers.image.revision=90dd6032fac8bda1b6c4436a2e65de27961ed071", "org.opencontainers.image.licenses=MIT" @@ -646,6 +639,37 @@ describe('push', () => { "org.opencontainers.image.revision=90dd6032fac8bda1b6c4436a2e65de27961ed071", "org.opencontainers.image.licenses=MIT" ] + ], + [ + 'push19', + 'event_push.env', + { + images: ['org/app', 'ghcr.io/user/app'], + tags: [ + `type=edge,branch=master`, + `type=ref,event=branch,enable=false`, + `type=sha,format=long` + ], + } as Inputs, + { + main: 'sha-90dd6032fac8bda1b6c4436a2e65de27961ed071', + partial: [], + latest: false + } as Version, + [ + 'org/app:sha-90dd6032fac8bda1b6c4436a2e65de27961ed071', + 'ghcr.io/user/app:sha-90dd6032fac8bda1b6c4436a2e65de27961ed071' + ], + [ + "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=sha-90dd6032fac8bda1b6c4436a2e65de27961ed071", + "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); }); @@ -1377,20 +1401,18 @@ describe('tag', () => { { images: ['org/app'], tags: [ - `type=pep440,pattern={{version}}`, - `type=pep440,pattern={{major}}.{{minor}}`, - `type=pep440,pattern={{major}}` + `type=pep440,pattern={{raw}}`, + `type=pep440,pattern={{major}}.{{minor}}` ] } as Inputs, { - main: '1.1.1', - partial: ['1.1', '1'], + main: 'v1.1.1', + partial: ['1.1'], latest: true } as Version, [ - 'org/app:1.1.1', + 'org/app:v1.1.1', 'org/app:1.1', - 'org/app:1', 'org/app:latest' ], [ @@ -1398,7 +1420,7 @@ describe('tag', () => { "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=1.1.1", + "org.opencontainers.image.version=v1.1.1", "org.opencontainers.image.created=2020-01-10T00:30:00.000Z", "org.opencontainers.image.revision=90dd6032fac8bda1b6c4436a2e65de27961ed071", "org.opencontainers.image.licenses=MIT" diff --git a/dist/index.js b/dist/index.js index 239bec6..916aace 100644 --- a/dist/index.js +++ b/dist/index.js @@ -629,10 +629,10 @@ class Meta { if (tag.attrs['branch'].length == 0) { tag.attrs['branch'] = this.repo.default_branch; } - if (tag.attrs['branch'] === val) { - val = 'edge'; + if (tag.attrs['branch'] != val) { + return version; } - const vraw = this.setValue(val, tag); + const vraw = this.setValue('edge', tag); return Meta.setVersion(version, vraw, this.flavor.latest == 'auto' ? false : this.flavor.latest == 'true'); } procRaw(version, tag) { diff --git a/src/meta.ts b/src/meta.ts index 24da302..5746d14 100644 --- a/src/meta.ts +++ b/src/meta.ts @@ -265,11 +265,11 @@ export class Meta { if (tag.attrs['branch'].length == 0) { tag.attrs['branch'] = this.repo.default_branch; } - if (tag.attrs['branch'] === val) { - val = 'edge'; + if (tag.attrs['branch'] != val) { + return version; } - const vraw = this.setValue(val, tag); + const vraw = this.setValue('edge', tag); return Meta.setVersion(version, vraw, this.flavor.latest == 'auto' ? false : this.flavor.latest == 'true'); }