Skip to content

Commit b1eb1e2

Browse files
authored
feat(resolve-repositories): add repository pattern support (#18)
1 parent 4ebe919 commit b1eb1e2

File tree

5 files changed

+7127
-2191
lines changed

5 files changed

+7127
-2191
lines changed

.github/workflows/test.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: Test
2+
"on":
3+
pull_request:
4+
types:
5+
- opened
6+
- synchronize
7+
jobs:
8+
test_matrix:
9+
runs-on: ubuntu-latest
10+
strategy:
11+
matrix:
12+
node:
13+
- 12
14+
- 14
15+
name: Node ${{ matrix.node }}
16+
steps:
17+
- uses: actions/checkout@v2
18+
- uses: actions/setup-node@v2
19+
with:
20+
node-version: ${{ matrix.node }}
21+
- run: npm ci
22+
- run: npm test

lib/resolve-repositories.js

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export async function resolveRepositories(state, repositories) {
88
}
99

1010
const repositoriesWithStars = repositories.filter((fullName) => {
11-
return /^[a-z0-9_.-]+\/\*$/i.test(fullName);
11+
return /^[a-z0-9_.-]+\/[a-z0-9_.-]*\*$/i.test(fullName);
1212
});
1313

1414
const repositoriesWithoutStars = repositories.filter((fullName) => {
@@ -29,7 +29,7 @@ export async function resolveRepositories(state, repositories) {
2929
}
3030

3131
for (const name of repositoriesWithStars) {
32-
const owner = name.split("/")[0];
32+
const [owner, repoPattern] = name.split("/");
3333
const isOrg = await state.octokit
3434
.request("HEAD /orgs/:org", {
3535
org: owner,
@@ -51,7 +51,14 @@ export async function resolveRepositories(state, repositories) {
5151
per_page: 100,
5252
}
5353
)) {
54-
resolvedRepositories.push(...response.data);
54+
let selectedRepositories = response.data;
55+
56+
if (repoPattern !== '*') {
57+
const repoRegex = new RegExp(`^${repoPattern.replace(/\*/g, '.*')}$`)
58+
selectedRepositories = selectedRepositories.filter(repo => repoRegex.test(repo.name))
59+
}
60+
61+
resolvedRepositories.push(...selectedRepositories);
5562
process.stdout.write(".");
5663
}
5764
}

0 commit comments

Comments
 (0)