Allow to disable edge branch tagging (#2)

Co-authored-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
CrazyMax
2020-10-25 15:32:14 +01:00
committed by GitHub
parent a0b5755726
commit cb039680df
6 changed files with 50 additions and 16 deletions

View File

@ -3,7 +3,8 @@ import * as core from '@actions/core';
export interface Inputs {
images: string[];
tagSha: boolean;
tagEdge: string;
tagEdge: boolean;
tagEdgeBranch: string;
tagSchedule: string;
sepTags: string;
sepLabels: string;
@ -13,8 +14,9 @@ export interface Inputs {
export function getInputs(): Inputs {
return {
images: getInputList('images'),
tagSha: /true/i.test(core.getInput('tag-sha')),
tagEdge: core.getInput('tag-edge'),
tagSha: /true/i.test(core.getInput('tag-sha') || 'false'),
tagEdge: /true/i.test(core.getInput('tag-edge') || 'false'),
tagEdgeBranch: core.getInput('tag-edge-branch'),
tagSchedule: core.getInput('tag-schedule') || 'nightly',
sepTags: core.getInput('sep-tags') || `\n`,
sepLabels: core.getInput('sep-labels') || `\n`,

View File

@ -14,8 +14,8 @@ export class Meta {
constructor(inputs: Inputs, context: Context, repo: ReposGetResponseData) {
this.inputs = inputs;
if (!this.inputs.tagEdge) {
this.inputs.tagEdge = repo.default_branch;
if (!this.inputs.tagEdgeBranch) {
this.inputs.tagEdgeBranch = repo.default_branch;
}
this.context = context;
this.repo = repo;
@ -31,7 +31,7 @@ export class Meta {
return sver ? sver : tag;
} else if (/^refs\/heads\//.test(this.context.ref)) {
const branch = this.context.ref.replace(/^refs\/heads\//g, '').replace(/\//g, '-');
return this.inputs.tagEdge === branch ? 'edge' : branch;
return this.inputs.tagEdge && this.inputs.tagEdgeBranch === branch ? 'edge' : branch;
} else if (/^refs\/pull\//.test(this.context.ref)) {
const pr = this.context.ref.replace(/^refs\/pull\//g, '').replace(/\/merge$/g, '');
return `pr-${pr}`;
@ -88,7 +88,7 @@ export class Meta {
private eventBranch(image: string): Array<string> {
const branch = this.context.ref.replace(/^refs\/heads\//g, '').replace(/\//g, '-');
if (this.inputs.tagEdge === branch) {
if (this.inputs.tagEdge && this.inputs.tagEdgeBranch === branch) {
return [`${image}:edge`];
}
return [`${image}:${branch}`];