Skip to content

Commit d5fadb3

Browse files
committed
[chore] Adding autorelease and configuring lerna packages
1 parent 956f23b commit d5fadb3

File tree

7 files changed

+152
-4
lines changed

7 files changed

+152
-4
lines changed

.palantir/autorelease.yml

Lines changed: 142 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,142 @@
1-
type: local
2-
local:
3-
repositoryType: lerna
1+
# Autorelease configuration for Blueprint monorepo
2+
version: 3
3+
4+
# Blueprint uses a PNPM workspace with Lerna for independent versioning
5+
# Each package in packages/* is independently versioned and released
6+
7+
options:
8+
# Repository type for proper package.json handling and versioning
9+
repo_type: PNPM
10+
11+
# Delimiter used for npm scoped packages, e.g., @blueprintjs/[email protected]
12+
package_delimiter: "@"
13+
14+
# Release only groups that have changelogs (recommended for monorepos)
15+
# Also releases all groups with transitive dependencies on changed groups
16+
release_recommended_groups: true
17+
18+
# Comment on PRs when their changes are released
19+
comment_on_included_pull_requests: true
20+
21+
# Global branch permissions - what branches can create releases
22+
allowed_branches:
23+
- develop # Main development branch
24+
- next # Next major version branch
25+
- pattern: release/\d+\.x\.x # Major release branches (e.g., release/6.x.x)
26+
type: major
27+
- pattern: release/\d+\.\d+\.x # Minor release branches (e.g., release/6.3.x)
28+
type: minor
29+
- pattern: .* # Feature branches can create RCs
30+
type: feature
31+
32+
# Remove [skip ci] to allow CI to run on autorelease commits
33+
disable_skip_ci: true
34+
35+
# Enable label releases for quick releases via PR labels
36+
disable_label_releases: false
37+
38+
# Label releases will copy the last release type (release or RC)
39+
label_releases_copy_last_release_type: true
40+
# Note: Autorelease 3 will automatically discover all packages in packages/*
41+
# with package.json files and create release groups for them. Since Blueprint
42+
# uses independent versioning with Lerna, we don't need to explicitly define
43+
# each package as a release group - autorelease will infer them automatically.
44+
45+
# If you need to explicitly configure specific packages or exclude certain ones,
46+
# you can add a 'groups' section here. For example:
47+
# groups:
48+
# core:
49+
# paths: ["packages/core"]
50+
# tag_prefix: "@blueprintjs/core@"
51+
52+
groups:
53+
# Icons - independent versioning
54+
icons:
55+
paths: ["packages/icons"]
56+
method: standard
57+
tag_prefix: "@blueprintjs/icons@"
58+
59+
# Colors - independent versioning for now, to be merged with core later
60+
colors:
61+
paths: ["packages/colors"]
62+
method: standard
63+
tag_prefix: "@blueprintjs/colors@"
64+
65+
# Core + Colors + Docs - versioned together
66+
core-docs:
67+
paths:
68+
- "packages/core"
69+
- "packages/docs-data"
70+
- "packages/docs-app"
71+
- "packages/demo-app"
72+
- "packages/landing-app"
73+
- "packages/table-dev-app"
74+
method: standard
75+
tag_prefix: "@blueprintjs/core@"
76+
options:
77+
# Only core package is published; others are private
78+
disable_skip_ci: true
79+
80+
# Select - independent versioning
81+
select:
82+
paths: ["packages/select"]
83+
method: standard
84+
tag_prefix: "@blueprintjs/select@"
85+
86+
# Datetime - independent versioning
87+
datetime:
88+
paths: ["packages/datetime"]
89+
method: standard
90+
tag_prefix: "@blueprintjs/datetime@"
91+
92+
# Table - independent versioning
93+
table:
94+
paths:
95+
- "packages/table"
96+
method: standard
97+
tag_prefix: "@blueprintjs/table@"
98+
options:
99+
# Only table is published; table-dev-app is private
100+
disable_skip_ci: true
101+
102+
# Labs - independent versioning
103+
labs:
104+
paths: ["packages/labs"]
105+
method: standard
106+
tag_prefix: "@blueprintjs/labs@"
107+
108+
# Build Tools - Release together with same version
109+
eslint-config:
110+
paths: ["packages/eslint-config"]
111+
method: standard
112+
tag_prefix: "@blueprintjs/eslint-config@"
113+
114+
eslint-plugin:
115+
paths: ["packages/eslint-plugin"]
116+
method: standard
117+
tag_prefix: "@blueprintjs/eslint-plugin@"
118+
119+
node-build-scripts:
120+
paths: ["packages/node-build-scripts"]
121+
method: standard
122+
tag_prefix: "@blueprintjs/node-build-scripts@"
123+
124+
stylelint-plugin:
125+
paths: ["packages/stylelint-plugin"]
126+
method: standard
127+
tag_prefix: "@blueprintjs/stylelint-plugin@"
128+
129+
# Documentation - independent versioning
130+
docs-theme:
131+
paths: ["packages/docs-theme"]
132+
method: standard
133+
tag_prefix: "@blueprintjs/docs-theme@"
134+
# Note: Packages marked as private will not be published to npm but will
135+
# still have their versions bumped when their release group is released.
136+
#
137+
# Deprecated packages (not in groups above, marked as private):
138+
# - @blueprintjs/monaco-editor-theme
139+
# - @blueprintjs/karma-build-scripts
140+
# - @blueprintjs/test-commons
141+
# - @blueprintjs/tslint-config
142+
# - @blueprintjs/webpack-build-scripts

lerna.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
{
22
"npmClient": "pnpm",
3-
"version": "independent"
3+
"version": "independent",
4+
"useWorkspaces": true,
5+
"packages": [
6+
"packages/*"
7+
]
48
}

packages/karma-build-scripts/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"name": "@blueprintjs/karma-build-scripts",
33
"version": "6.0.8",
4+
"private": true,
45
"description": "Karma build scripts for @blueprintjs packages",
56
"type": "module",
67
"main": "index.mjs",

packages/monaco-editor-theme/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"name": "@blueprintjs/monaco-editor-theme",
33
"version": "1.0.23",
4+
"private": true,
45
"description": "Blueprint theme for monaco-editor",
56
"main": "lib/cjs/index.js",
67
"module": "lib/esm/index.js",

packages/test-commons/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"name": "@blueprintjs/test-commons",
33
"version": "4.0.2",
4+
"private": true,
45
"description": "Common utilities for tests in @blueprintjs packages",
56
"type": "module",
67
"types": "./lib/index.d.ts",

packages/tslint-config/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"name": "@blueprintjs/tslint-config",
33
"version": "4.1.8",
4+
"private": true,
45
"description": "TSLint configuration for @blueprintjs packages",
56
"scripts": {
67
"compile": "tsc -p ./src",

packages/webpack-build-scripts/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"name": "@blueprintjs/webpack-build-scripts",
33
"version": "6.2.14",
4+
"private": true,
45
"description": "Webpack build scripts for @blueprintjs packages",
56
"type": "module",
67
"main": "index.mjs",

0 commit comments

Comments
 (0)