From b909bd34ef0879c4506f0acd586a7eeb02e64e85 Mon Sep 17 00:00:00 2001 From: Jakub Bacic Date: Tue, 30 Mar 2021 13:11:51 +0200 Subject: [PATCH] Fix 'enable' tag attribute (#53) --- __tests__/meta.test.ts | 73 +++++++++++++++++++++++++++++++++++++++++- dist/index.js | 3 ++ src/meta.ts | 4 +++ 3 files changed, 79 insertions(+), 1 deletion(-) diff --git a/__tests__/meta.test.ts b/__tests__/meta.test.ts index 071581e..03ee290 100644 --- a/__tests__/meta.test.ts +++ b/__tests__/meta.test.ts @@ -2015,7 +2015,41 @@ describe('raw', () => { "org.opencontainers.image.revision=90dd6032fac8bda1b6c4436a2e65de27961ed071", "org.opencontainers.image.licenses=MIT" ] - ] + ], + [ + 'raw10', + 'event_push.env', + { + images: ['user/app'], + tags: [ + `type=raw,foo`, + `type=raw,bar,enable=false`, + `type=raw,baz,enable=true` + ], + flavor: [ + `latest=false` + ] + } as Inputs, + { + main: 'foo', + partial: ['baz'], + latest: false + } as Version, + [ + 'user/app:foo', + 'user/app:baz', + ], + [ + "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=foo", + "org.opencontainers.image.created=2020-01-10T00:30:00.000Z", + "org.opencontainers.image.revision=90dd6032fac8bda1b6c4436a2e65de27961ed071", + "org.opencontainers.image.licenses=MIT" + ] + ], ])('given %p wth %p event', tagsLabelsTest); }); @@ -2324,3 +2358,40 @@ describe('bake', () => { expect(JSON.parse(fs.readFileSync(bakeFile, 'utf8'))).toEqual(exBakeDefinition); }); }); + +describe('push', () => { + // prettier-ignore + test.each([ + [ + 'push15', + 'event_push_defbranch.env', + { + images: ['user/app'], + tags: [ + `type=match,pattern=v(.*),group=1,value=v1.2.3`, + `type=edge` + ], + } as Inputs, + { + main: '1.2.3', + partial: ['edge'], + latest: true + } as Version, + [ + 'user/app:1.2.3', + 'user/app:edge', + 'user/app:latest' + ], + [ + "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=1.2.3", + "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); +}); diff --git a/dist/index.js b/dist/index.js index 9050fa4..b21ab7b 100644 --- a/dist/index.js +++ b/dist/index.js @@ -361,6 +361,9 @@ class Meta { latest: undefined }; for (const tag of this.tags) { + if (tag.attrs['enable'] == 'false') { + continue; + } switch (tag.type) { case tcl.Type.Schedule: { version = this.procSchedule(version, tag); diff --git a/src/meta.ts b/src/meta.ts index 25de61a..bd34e51 100644 --- a/src/meta.ts +++ b/src/meta.ts @@ -44,6 +44,10 @@ export class Meta { }; for (const tag of this.tags) { + if (tag.attrs['enable'] == 'false') { + continue; + } + switch (tag.type) { case tcl.Type.Schedule: { version = this.procSchedule(version, tag);