Skip to content

Commit 3dcacf4

Browse files
authored
chore(release): Use semantic-release-yarn to support monorepos (#102)
1 parent c33214c commit 3dcacf4

File tree

7 files changed

+63
-21
lines changed

7 files changed

+63
-21
lines changed

.github/workflows/release.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,12 @@ jobs:
1616
runs-on: ubuntu-latest
1717
needs: [build]
1818

19+
permissions:
20+
contents: write
21+
issues: write
22+
pull-requests: write
23+
id-token: write
24+
1925
steps:
2026
- uses: actions/checkout@v3
2127
- uses: actions/setup-node@v3
@@ -24,10 +30,10 @@ jobs:
2430
cache: yarn
2531
- run: yarn install --immutable
2632
- run: yarn build
27-
- run: cd package/ && yarn release
33+
- run: yarn release
2834
env:
2935
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
30-
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
36+
YARN_NPM_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
3137

3238
pages:
3339
uses: ./.github/workflows/pages.yml

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
"compile": "turbo run compile",
2020
"docs": "yarn workspace @stackbuilders/assertive-ts docs",
2121
"lint": "eslint .",
22+
"release": "turbo release --concurrency=1",
2223
"test": "turbo run test"
2324
},
2425
"devDependencies": {

package/.npmrc

Lines changed: 0 additions & 1 deletion
This file was deleted.

package/.releaserc.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,11 @@
22
"$schema": "https://json.schemastore.org/semantic-release",
33
"branches": [
44
"main"
5+
],
6+
"plugins": [
7+
"@semantic-release/commit-analyzer",
8+
"@semantic-release/release-notes-generator",
9+
"semantic-release-yarn",
10+
"@semantic-release/github"
511
]
612
}

package/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
"compile": "tsc -p tsconfig.json",
2929
"docs": "typedoc",
3030
"release": "semantic-release",
31-
"test": "cross-env NODE_ENV=test mocha"
31+
"test": "NODE_ENV=test mocha"
3232
},
3333
"dependencies": {
3434
"@cometlib/dedent": "^0.8.0-es.10",
@@ -39,9 +39,9 @@
3939
"@types/node": "^20.3.2",
4040
"@types/sinon": "^10.0.15",
4141
"all-contributors-cli": "^6.26.0",
42-
"cross-env": "^7.0.3",
4342
"mocha": "^10.2.0",
4443
"semantic-release": "^21.0.6",
44+
"semantic-release-yarn": "^2.0.0",
4545
"sinon": "^15.2.0",
4646
"ts-node": "^10.9.1",
4747
"typedoc": "^0.24.8",

turbo.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@
1414
"dependsOn": ["^build"],
1515
"outputs": ["build/**"]
1616
},
17+
"release": {
18+
"cache": false,
19+
"dependsOn": ["^build"]
20+
},
1721
"test": {
1822
"dependsOn": ["^build"],
1923
"inputs": ["src/**/*.ts", "test/**/*.ts"],

yarn.lock

Lines changed: 42 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1346,6 +1346,13 @@ __metadata:
13461346
languageName: node
13471347
linkType: hard
13481348

1349+
"@semantic-release/error@npm:^3.0.0":
1350+
version: 3.0.0
1351+
resolution: "@semantic-release/error@npm:3.0.0"
1352+
checksum: 29c4391ecbefd9ea991f8fdf5ab3ceb9c4830281da56d9dbacd945c476cb86f10c3b55cd4a6597098c0ea3a59f1ec4752132abeea633e15972f49f4704e61d35
1353+
languageName: node
1354+
linkType: hard
1355+
13491356
"@semantic-release/error@npm:^4.0.0":
13501357
version: 4.0.0
13511358
resolution: "@semantic-release/error@npm:4.0.0"
@@ -1501,10 +1508,10 @@ __metadata:
15011508
"@types/node": ^20.3.2
15021509
"@types/sinon": ^10.0.15
15031510
all-contributors-cli: ^6.26.0
1504-
cross-env: ^7.0.3
15051511
fast-deep-equal: ^3.1.3
15061512
mocha: ^10.2.0
15071513
semantic-release: ^21.0.6
1514+
semantic-release-yarn: ^2.0.0
15081515
sinon: ^15.2.0
15091516
ts-node: ^10.9.1
15101517
typedoc: ^0.24.8
@@ -3025,7 +3032,7 @@ __metadata:
30253032
languageName: node
30263033
linkType: hard
30273034

3028-
"cosmiconfig@npm:^8.0.0":
3035+
"cosmiconfig@npm:^8.0.0, cosmiconfig@npm:^8.1.0":
30293036
version: 8.2.0
30303037
resolution: "cosmiconfig@npm:8.2.0"
30313038
dependencies:
@@ -3044,19 +3051,7 @@ __metadata:
30443051
languageName: node
30453052
linkType: hard
30463053

3047-
"cross-env@npm:^7.0.3":
3048-
version: 7.0.3
3049-
resolution: "cross-env@npm:7.0.3"
3050-
dependencies:
3051-
cross-spawn: ^7.0.1
3052-
bin:
3053-
cross-env: src/bin/cross-env.js
3054-
cross-env-shell: src/bin/cross-env-shell.js
3055-
checksum: 26f2f3ea2ab32617f57effb70d329c2070d2f5630adc800985d8b30b56e8bf7f5f439dd3a0358b79cee6f930afc23cf8e23515f17ccfb30092c6b62c6b630a79
3056-
languageName: node
3057-
linkType: hard
3058-
3059-
"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.1, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3":
3054+
"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3":
30603055
version: 7.0.3
30613056
resolution: "cross-spawn@npm:7.0.3"
30623057
dependencies:
@@ -4072,7 +4067,7 @@ __metadata:
40724067
languageName: node
40734068
linkType: hard
40744069

4075-
"fs-extra@npm:^11.0.0":
4070+
"fs-extra@npm:^11.0.0, fs-extra@npm:^11.1.0":
40764071
version: 11.1.1
40774072
resolution: "fs-extra@npm:11.1.1"
40784073
dependencies:
@@ -8011,6 +8006,26 @@ __metadata:
80118006
languageName: node
80128007
linkType: hard
80138008

8009+
"semantic-release-yarn@npm:^2.0.0":
8010+
version: 2.0.0
8011+
resolution: "semantic-release-yarn@npm:2.0.0"
8012+
dependencies:
8013+
"@semantic-release/error": ^3.0.0
8014+
aggregate-error: ^4.0.1
8015+
cosmiconfig: ^8.1.0
8016+
execa: ^7.0.0
8017+
fs-extra: ^11.1.0
8018+
js-yaml: ^4.1.0
8019+
lodash: ^4.17.21
8020+
nerf-dart: ^1.0.0
8021+
read-pkg: ^8.0.0
8022+
semver: ^7.3.8
8023+
peerDependencies:
8024+
semantic-release: ">=19.0.0"
8025+
checksum: 4b0a7554c1b9409a3907fac6a0fd6e8ef9d9494339862f57d017bc17204040cd3a8a62ef8ea5d5682dce3fc0b80a1251ef2e89a4817b227d48e3fead2a79f893
8026+
languageName: node
8027+
linkType: hard
8028+
80148029
"semantic-release@npm:^21.0.6":
80158030
version: 21.0.6
80168031
resolution: "semantic-release@npm:21.0.6"
@@ -8094,6 +8109,17 @@ __metadata:
80948109
languageName: node
80958110
linkType: hard
80968111

8112+
"semver@npm:^7.3.8":
8113+
version: 7.5.4
8114+
resolution: "semver@npm:7.5.4"
8115+
dependencies:
8116+
lru-cache: ^6.0.0
8117+
bin:
8118+
semver: bin/semver.js
8119+
checksum: 12d8ad952fa353b0995bf180cdac205a4068b759a140e5d3c608317098b3575ac2f1e09182206bf2eb26120e1c0ed8fb92c48c592f6099680de56bb071423ca3
8120+
languageName: node
8121+
linkType: hard
8122+
80978123
"serialize-javascript@npm:6.0.0":
80988124
version: 6.0.0
80998125
resolution: "serialize-javascript@npm:6.0.0"

0 commit comments

Comments
 (0)