Skip to content

Commit

Permalink
feat(3066): relax the stage trigger to allow join (#566)
Browse files Browse the repository at this point in the history
  • Loading branch information
VonnyJap committed May 31, 2024
1 parent 8611862 commit cc3244b
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 2 deletions.
4 changes: 2 additions & 2 deletions config/regex.js
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,8 @@ module.exports = {
INTERNAL_TRIGGER: /^~([\w-]+)$/,
// Stages can only be named with A-Z,a-z,0-9,-,_
STAGE_NAME: /^[\w-]+$/,
// Stage trigger like ~stage@deploy or ~stage@stageName:jobName
STAGE_TRIGGER: /^~stage@([\w-]+)(?::([\w-]+))?$/,
// Stage trigger like ~stage@deploy or ~stage@stageName:jobName or stage@deploy or stage@stageName:jobName
STAGE_TRIGGER: /^~?stage@([\w-]+)(?::([\w-]+))?$/,
// Don't combine EXTERNAL_TRIGGER and EXTERNAL_TRIGGER_AND for backward compatibility
// BlockBy does not support EXTERNAL_TRIGGER_AND
// External trigger like ~sd@123:component (OR case)
Expand Down
17 changes: 17 additions & 0 deletions test/config/regex.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -461,4 +461,21 @@ describe('config regex', () => {
assert.isFalse(config.regex.SCM_URI.test('bitbucket.org:{123}'));
});
});

describe('stageTrigger', () => {
const stageTriggerRegex = config.regex.STAGE_TRIGGER;

it('matches valid stage triggers', () => {
assert.isTrue(stageTriggerRegex.test('stage@build'));
assert.isTrue(stageTriggerRegex.test('stage@build:setup'));
assert.isTrue(stageTriggerRegex.test('~stage@test'));
assert.isTrue(stageTriggerRegex.test('~stage@test:tearDown'));
});

it('does not match invalid stage triggers', () => {
assert.isFalse(stageTriggerRegex.test('stage:'));
assert.isFalse(stageTriggerRegex.test('stage:build:test'));
assert.isFalse(stageTriggerRegex.test('build'));
});
});
});

0 comments on commit cc3244b

Please sign in to comment.