Skip to content

Commit 42be968

Browse files
ci: set up commit message conformance rules using ng-dev (#20580)
1 parent 100d25c commit 42be968

File tree

6 files changed

+339
-197
lines changed

6 files changed

+339
-197
lines changed

.circleci/config.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -336,6 +336,7 @@ jobs:
336336
yarn check-entry-point-setup $(bazel info bazel-bin)/entry_points_manifest.json
337337
338338
- run: yarn ng-dev format changed --check << pipeline.git.base_revision >>
339+
- run: yarn ng-dev commit-message validate-range --range << pipeline.git.base_revision >>...<<pipeline.git.revision>>
339340
- run: yarn ownerslint
340341
- run: yarn stylelint
341342
- run: yarn tslint

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,3 +39,4 @@ testem.log
3939
/.git
4040
/.firebase
4141
/.bazelrc.user
42+
*.log

.ng-dev/commit-message.ts

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
import {CommitMessageConfig} from '@angular/dev-infra-private/commit-message/config';
2+
3+
/**
4+
* The configuration for `ng-dev commit-message` commands.
5+
*/
6+
export const commitMessage: CommitMessageConfig = {
7+
maxLineLength: 120,
8+
minBodyLength: 0,
9+
minBodyLengthTypeExcludes: ['docs'],
10+
scopes: [
11+
'cdk-experimental/column-resize',
12+
'cdk-experimental/combobox',
13+
'cdk-experimental/dialog',
14+
'cdk-experimental/listbox',
15+
'cdk-experimental/menu',
16+
'cdk-experimental/popover-edit',
17+
'cdk-experimental/scrolling',
18+
'cdk-experimental/selection',
19+
'cdk/a11y',
20+
'cdk/accordion',
21+
'cdk/bidi',
22+
'cdk/clipboard',
23+
'cdk/coercion',
24+
'cdk/collections',
25+
'cdk/drag-drop',
26+
'cdk/keycodes',
27+
'cdk/layout',
28+
'cdk/observers',
29+
'cdk/overlay',
30+
'cdk/platform',
31+
'cdk/portal',
32+
'cdk/schematics',
33+
'cdk/scrolling',
34+
'cdk/stepper',
35+
'cdk/table',
36+
'cdk/testing',
37+
'cdk/text-field',
38+
'cdk/tree',
39+
'google-maps',
40+
'material-experimental/column-resize',
41+
'material-experimental/mdc-autocomplete',
42+
'material-experimental/mdc-button',
43+
'material-experimental/mdc-card',
44+
'material-experimental/mdc-checkbox',
45+
'material-experimental/mdc-chips',
46+
'material-experimental/mdc-color',
47+
'material-experimental/mdc-core',
48+
'material-experimental/mdc-density',
49+
'material-experimental/mdc-dialog',
50+
'material-experimental/mdc-form-field',
51+
'material-experimental/mdc-helpers',
52+
'material-experimental/mdc-input',
53+
'material-experimental/mdc-list',
54+
'material-experimental/mdc-menu',
55+
'material-experimental/mdc-progress-bar',
56+
'material-experimental/mdc-progress-spinner',
57+
'material-experimental/mdc-radio',
58+
'material-experimental/mdc-select',
59+
'material-experimental/mdc-sidenav',
60+
'material-experimental/mdc-slide-toggle',
61+
'material-experimental/mdc-slider',
62+
'material-experimental/mdc-snack-bar',
63+
'material-experimental/mdc-table',
64+
'material-experimental/mdc-tabs',
65+
'material-experimental/mdc-theming',
66+
'material-experimental/mdc-typography',
67+
'material-experimental/menubar',
68+
'material-experimental/popover-edit',
69+
'material-experimental/selection',
70+
'material-moment-adapter',
71+
'material/autocomplete',
72+
'material/badge',
73+
'material/bottom-sheet',
74+
'material/button',
75+
'material/button-toggle',
76+
'material/card',
77+
'material/checkbox',
78+
'material/chips',
79+
'material/core',
80+
'material/datepicker',
81+
'material/dialog',
82+
'material/divider',
83+
'material/expansion',
84+
'material/form-field',
85+
'material/grid-list',
86+
'material/icon',
87+
'material/input',
88+
'material/list',
89+
'material/menu',
90+
'material/paginator',
91+
'material/prebuilt-themes',
92+
'material/progress-bar',
93+
'material/progress-spinner',
94+
'material/radio',
95+
'material/schematics',
96+
'material/select',
97+
'material/sidenav',
98+
'material/slide-toggle',
99+
'material/slider',
100+
'material/snack-bar',
101+
'material/sort',
102+
'material/stepper',
103+
'material/table',
104+
'material/tabs',
105+
'material/testing',
106+
'material/toolbar',
107+
'material/tooltip',
108+
'material/tree',
109+
'youtube-player'
110+
],
111+
};

.ng-dev/config.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
import {format} from './format';
22
import {github} from './github';
33
import {merge} from './merge';
4+
import {commitMessage} from './commit-message';
45

56
module.exports = {
7+
commitMessage,
8+
format,
69
github,
710
merge,
8-
format,
911
};

package.json

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@
7575
"@angular/bazel": "^10.1.0",
7676
"@angular/benchpress": "^0.2.1",
7777
"@angular/compiler-cli": "^10.1.0",
78-
"@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#d0855af987db4e426477da1780bcd02941c31271",
78+
"@angular/dev-infra-private": "https://github.com/angular/dev-infra-private-builds.git#0364a68f33191747a0bb7580e44a9ad6d50add10",
7979
"@angular/platform-browser-dynamic": "^10.1.0",
8080
"@angular/platform-server": "^10.1.0",
8181
"@angular/router": "^10.1.0",
@@ -126,7 +126,7 @@
126126
"gulp-cli": "^2.0.1",
127127
"gulp-sass": "^4.0.2",
128128
"highlight.js": "^9.11.0",
129-
"husky": "^1.3.1",
129+
"husky": "^4.3.0",
130130
"inquirer": "^7.1.0",
131131
"jasmine-core": "^3.5.0",
132132
"kagekiri": "^1.0.18",
@@ -177,5 +177,10 @@
177177
"resolutions": {
178178
"dgeni-packages/typescript": "4.0.2",
179179
"**/graceful-fs": "4.2.2"
180+
},
181+
"husky": {
182+
"hooks": {
183+
"commit-msg": "yarn -s ng-dev commit-message pre-commit-validate --file-env-variable HUSKY_GIT_PARAMS"
184+
}
180185
}
181186
}

0 commit comments

Comments
 (0)