Skip to content

Commit ee3524b

Browse files
committed
feat: Enable renovate changeset action to work with dependabot
1 parent 772cef0 commit ee3524b

File tree

4 files changed

+42
-7
lines changed

4 files changed

+42
-7
lines changed

renovate-changesets/action.yaml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
1-
name: Backstage Renovate Changeset Creator
2-
description: Create changesets on the renovate bot PR's if needed
1+
name: Backstage Dependency Manager Changeset Creator
2+
description: Create changesets on the dependency manager bot PR's if needed
33
inputs:
44
multiple-workspaces:
55
description: If it's this repository is a collection of workspaces
66
required: false
77
default: 'false'
8+
dependency-manager:
9+
description: The dependency manager to use
10+
required: false
11+
default: 'renovate'
812

913
outputs: {}
1014
runs:
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import * as core from '@actions/core';
2+
3+
export type DependencyMangerConfig = {
4+
branchPrefix: string;
5+
changesetPrefix: string;
6+
};
7+
8+
export const dependencyMangerConfig: Record<string, DependencyMangerConfig> = {
9+
renovate: { branchPrefix: 'renovate/', changesetPrefix: 'renovate' },
10+
dependabot: { branchPrefix: 'dependabot/', changesetPrefix: 'dependabot' },
11+
};
12+
13+
export const getDependencyManager = () => {
14+
return core.getInput('dependency-manager', {
15+
required: false,
16+
});
17+
};

renovate-changesets/index.ts

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,28 @@ import {
77
getChangedFiles,
88
getChangesetFilename,
99
listPackages,
10-
} from './renovateChangesets';
10+
} from './manageChangesets';
1111
import { relative as relativePath, resolve as resolvePath } from 'path';
12+
import {
13+
dependencyMangerConfig,
14+
getDependencyManager,
15+
} from './dependencyConfig';
1216

1317
async function main() {
14-
core.info('Running Renovate Changesets');
18+
core.info(`Running ${getDependencyManager()} Changesets`);
1519

1620
const isMultipleWorkspaces = core.getBooleanInput('multiple-workspaces', {
1721
required: false,
1822
});
1923

2024
const branchName = await getBranchName();
2125

22-
if (!branchName.startsWith('renovate/')) {
23-
core.info('Not a renovate branch, skipping');
26+
if (
27+
!branchName.startsWith(
28+
dependencyMangerConfig[getDependencyManager()].branchPrefix,
29+
)
30+
) {
31+
core.info(`Not a ${getDependencyManager()} branch, skipping`);
2432
return;
2533
}
2634

renovate-changesets/renovateChangesets.ts renamed to renovate-changesets/manageChangesets.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@ import { getExecOutput, exec } from '@actions/exec';
22
import fs from 'fs/promises';
33
import { resolve as resolvePath, relative as relativePath } from 'path';
44
import { getPackages, type Package } from '@manypkg/get-packages';
5+
import {
6+
dependencyMangerConfig,
7+
getDependencyManager,
8+
} from './dependencyConfig';
59

610
export async function getBranchName() {
711
const { stdout } = await getExecOutput('git', ['branch', '--show-current']);
@@ -34,7 +38,9 @@ export async function getChangesetFilename() {
3438
const { stdout: shortHash } = await getExecOutput(
3539
'git rev-parse --short HEAD',
3640
);
37-
return `.changeset/renovate-${shortHash.trim()}.md`;
41+
return `.changeset/${
42+
dependencyMangerConfig[getDependencyManager()].changesetPrefix
43+
}-${shortHash.trim()}.md`;
3844
}
3945

4046
export async function createChangeset(

0 commit comments

Comments
 (0)