Skip to content

Commit 2cc279b

Browse files
committed
fix(trigger-release): removed existing trigger-release jobs
1 parent 00e6e22 commit 2cc279b

File tree

3 files changed

+36
-3
lines changed

3 files changed

+36
-3
lines changed

src/semantic-release/ci-providers/github-workflows/lifter-test.js

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,36 @@ suite('github-workflows lifter for semantic-release', () => {
7474
);
7575
});
7676

77+
test('that the dispatched release job is replaced', async () => {
78+
const existingJobs = {...jobs, 'trigger-release': legacyReleaseJob};
79+
fs.readFile.withArgs(`${workflowsDirectory}/node-ci.yml`, 'utf-8').resolves(verificationWorkflowContents);
80+
releaseTriggerNeeds.default.withArgs(jobs).returns(neededJobsToTriggerRelease);
81+
jsYaml.load
82+
.withArgs(verificationWorkflowContents)
83+
.returns({
84+
...parsedVerificationWorkflowContents,
85+
on: {push: {branches: [...branchTriggers, 'alpha', 'beta', ...moreBranchTriggers]}},
86+
jobs: existingJobs
87+
});
88+
89+
await lift({projectRoot});
90+
91+
assert.calledWith(releaseWorkflowLifter.default, {projectRoot});
92+
assert.calledWith(
93+
core.writeConfigFile,
94+
{
95+
format: core.fileTypes.YAML,
96+
name: 'node-ci',
97+
path: workflowsDirectory,
98+
config: {
99+
...parsedVerificationWorkflowContents,
100+
on: {push: {branches: [...branchTriggers, 'beta', ...moreBranchTriggers]}},
101+
jobs: {...jobs, release: modernReleaseJobDefinition}
102+
}
103+
}
104+
);
105+
});
106+
77107
test('that a modern release job is left as-is', async () => {
78108
const existingJobs = {...jobs, release: modernReleaseJobDefinition};
79109
releaseTriggerNeeds.default.withArgs(existingJobs).returns(neededJobsToTriggerRelease);

src/semantic-release/ci-providers/github-workflows/lifter.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,12 @@ export default async function ({projectRoot}) {
2727
...!parsedVerificationWorkflowDetails.on.push.branches.includes('beta') ? ['beta'] : []
2828
];
2929

30-
const {jobs} = parsedVerificationWorkflowDetails;
30+
const {'trigger-release': triggerRelease, ...otherJobs} = parsedVerificationWorkflowDetails.jobs;
3131

3232
parsedVerificationWorkflowDetails.jobs = {
33-
...removeCycjimmyActionFrom(jobs),
33+
...removeCycjimmyActionFrom(otherJobs),
3434
release: {
35-
needs: determineTriggerNeedsFrom(jobs),
35+
needs: determineTriggerNeedsFrom(otherJobs),
3636
uses: 'form8ion/.github/.github/workflows/release-package.yml@master',
3737
// eslint-disable-next-line no-template-curly-in-string
3838
secrets: {NPM_TOKEN: '${{ secrets.NPM_PUBLISH_TOKEN }}'}

test/integration/features/step_definitions/github-workflows-steps.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,9 @@ Then('the verification workflow calls the reusable release workflow', async func
8686
assert.include(branchTriggers, 'dependency-updater/**');
8787

8888
const verificationWorkflowJobs = verificationWorkflowDefinition.jobs;
89+
90+
assert.notInclude(Object.keys(verificationWorkflowJobs), 'trigger-release');
91+
8992
const releaseJob = verificationWorkflowJobs.release;
9093

9194
assert.deepEqual(releaseJob.needs, ['verify']);

0 commit comments

Comments
 (0)