@api-client/ui 0.5.39 → 0.5.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/src/elements/contextual-menu/{internals/ContextualMenu.d.ts → ContextualMenu.d.ts} +11 -6
- package/build/src/elements/contextual-menu/ContextualMenu.d.ts.map +1 -0
- package/build/src/elements/contextual-menu/{internals/ContextualMenu.js → ContextualMenu.js} +25 -3
- package/build/src/elements/contextual-menu/ContextualMenu.js.map +1 -0
- package/build/src/elements/contextual-menu/internals/types.d.ts +16 -7
- package/build/src/elements/contextual-menu/internals/types.d.ts.map +1 -1
- package/build/src/elements/contextual-menu/internals/types.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -0
- package/package.json +1 -1
- package/src/elements/contextual-menu/{internals/ContextualMenu.ts → ContextualMenu.ts} +31 -7
- package/src/elements/contextual-menu/internals/types.ts +17 -7
- package/.aiexclude +0 -3
- package/.cursor/rules/html-and-css-best-practices.mdc +0 -63
- package/.cursor/rules/lit-best-practices.mdc +0 -89
- package/.editorconfig +0 -29
- package/.github/CONTRIBUTING.md +0 -24
- package/.github/instructions/html-and-css-best-practices.instructions.md +0 -70
- package/.github/instructions/lit-best-practices.instructions.md +0 -90
- package/.github/release.yml +0 -14
- package/.github/stale.yml +0 -23
- package/.github/workflows/auto-release.yml +0 -182
- package/.github/workflows/release.yml +0 -82
- package/.prettierrc.js +0 -14
- package/.vscode/settings.json +0 -18
- package/RELEASE.md +0 -163
- package/RELEASE_SETUP.md +0 -235
- package/build/src/demo/DemoPage.d.ts +0 -81
- package/build/src/demo/DemoPage.d.ts.map +0 -1
- package/build/src/demo/DemoPage.js +0 -175
- package/build/src/demo/DemoPage.js.map +0 -1
- package/build/src/demo/DemoStyles.d.ts +0 -3
- package/build/src/demo/DemoStyles.d.ts.map +0 -1
- package/build/src/demo/DemoStyles.js +0 -60
- package/build/src/demo/DemoStyles.js.map +0 -1
- package/build/src/elements/contextual-menu/internals/ContextualMenu.d.ts.map +0 -1
- package/build/src/elements/contextual-menu/internals/ContextualMenu.js.map +0 -1
- package/build/test/elements/navigation/Navigation.test.d.ts +0 -3
- package/build/test/elements/navigation/Navigation.test.d.ts.map +0 -1
- package/build/test/elements/navigation/Navigation.test.js +0 -113
- package/build/test/elements/navigation/Navigation.test.js.map +0 -1
- package/commitlint.config.cjs +0 -2
- package/demo/elements/authorization/AuthPlugin.js +0 -57
- package/demo/elements/authorization/AuthProxy.js +0 -215
- package/demo/elements/authorization/api-key.html +0 -27
- package/demo/elements/authorization/api-key.ts +0 -44
- package/demo/elements/authorization/basic.html +0 -27
- package/demo/elements/authorization/basic.ts +0 -43
- package/demo/elements/authorization/bearer.html +0 -27
- package/demo/elements/authorization/bearer.ts +0 -43
- package/demo/elements/authorization/env.js +0 -8
- package/demo/elements/authorization/index.html +0 -44
- package/demo/elements/authorization/ntlm.html +0 -27
- package/demo/elements/authorization/ntlm.ts +0 -43
- package/demo/elements/authorization/oauth-authorize.html +0 -75
- package/demo/elements/authorization/oauth-authorize.ts +0 -40
- package/demo/elements/authorization/oauth-error.html +0 -18
- package/demo/elements/authorization/oauth-error.ts +0 -10
- package/demo/elements/authorization/oauth-popup.html +0 -36
- package/demo/elements/authorization/oauth2.html +0 -27
- package/demo/elements/authorization/oauth2.ts +0 -100
- package/demo/elements/authorization/oidc.html +0 -27
- package/demo/elements/authorization/oidc.ts +0 -139
- package/demo/elements/authorization/private.crt +0 -31
- package/demo/elements/authorization/private.csr +0 -28
- package/demo/elements/authorization/private.key +0 -51
- package/demo/elements/authorization/private.pem +0 -31
- package/demo/elements/authorization/redirect.html +0 -20
- package/demo/elements/authorization/ssl-commands.sh +0 -30
- package/demo/elements/authorization/ssl.conf +0 -24
- package/demo/elements/autocomplete/index.html +0 -64
- package/demo/elements/autocomplete/index.ts +0 -171
- package/demo/elements/code-editor/CodeEditorDemo.ts +0 -173
- package/demo/elements/code-editor/index.html +0 -19
- package/demo/elements/context-menu/DemoIcons.ts +0 -21
- package/demo/elements/context-menu/basic.html +0 -25
- package/demo/elements/context-menu/basic.ts +0 -119
- package/demo/elements/context-menu/custom-data.html +0 -25
- package/demo/elements/context-menu/custom-data.ts +0 -62
- package/demo/elements/context-menu/demo.css +0 -28
- package/demo/elements/context-menu/enabled-state.html +0 -25
- package/demo/elements/context-menu/enabled-state.ts +0 -73
- package/demo/elements/context-menu/icons.html +0 -25
- package/demo/elements/context-menu/icons.ts +0 -64
- package/demo/elements/context-menu/index.html +0 -43
- package/demo/elements/context-menu/nested.html +0 -25
- package/demo/elements/context-menu/nestedt.ts +0 -152
- package/demo/elements/context-menu/no-execute.html +0 -25
- package/demo/elements/context-menu/no-execute.ts +0 -134
- package/demo/elements/context-menu/radio-menu.html +0 -25
- package/demo/elements/context-menu/radio-menu.ts +0 -83
- package/demo/elements/context-menu/separators.html +0 -25
- package/demo/elements/context-menu/separators.ts +0 -172
- package/demo/elements/currency/index.html +0 -91
- package/demo/elements/currency/index.ts +0 -352
- package/demo/elements/environment/environment-editor.html +0 -20
- package/demo/elements/environment/environment-editor.ts +0 -49
- package/demo/elements/environment/index.html +0 -33
- package/demo/elements/environment/server-editor.html +0 -20
- package/demo/elements/environment/server-editor.ts +0 -67
- package/demo/elements/environment/variables-editor.html +0 -20
- package/demo/elements/environment/variables-editor.ts +0 -94
- package/demo/elements/har/har-viewer.html +0 -20
- package/demo/elements/har/har-viewer.ts +0 -76
- package/demo/elements/har/har1.har +0 -3044
- package/demo/elements/har/har2.json +0 -439
- package/demo/elements/har/index.html +0 -26
- package/demo/elements/highlight/example.md +0 -27
- package/demo/elements/highlight/index.html +0 -31
- package/demo/elements/highlight/marked-highlight.html +0 -132
- package/demo/elements/highlight/marked-highlight.ts +0 -22
- package/demo/elements/highlight/prism-highlight.html +0 -62
- package/demo/elements/highlight/prism-highlight.ts +0 -17
- package/demo/elements/http/body-editor.html +0 -17
- package/demo/elements/http/body-editor.ts +0 -115
- package/demo/elements/http/headers.html +0 -17
- package/demo/elements/http/headers.ts +0 -59
- package/demo/elements/http/http-assertions.html +0 -20
- package/demo/elements/http/http-assertions.ts +0 -89
- package/demo/elements/http/http-flows.html +0 -23
- package/demo/elements/http/http-flows.ts +0 -89
- package/demo/elements/http/index.html +0 -45
- package/demo/elements/http/request-editor.html +0 -26
- package/demo/elements/http/request-editor.ts +0 -197
- package/demo/elements/http/request-log.html +0 -16
- package/demo/elements/http/request-log.ts +0 -136
- package/demo/elements/http/url-editing.html +0 -17
- package/demo/elements/http/url-editing.ts +0 -112
- package/demo/elements/icons/index.html +0 -81
- package/demo/elements/icons/index.ts +0 -52
- package/demo/elements/index.html +0 -72
- package/demo/elements/mention-textarea/index.html +0 -19
- package/demo/elements/mention-textarea/index.ts +0 -205
- package/demo/elements/navigation/navigation-item.html +0 -49
- package/demo/elements/navigation/navigation-item.ts +0 -131
- package/demo/elements/navigation/navigation.html +0 -20
- package/demo/elements/navigation/navigation.ts +0 -45
- package/demo/elements/project/index.html +0 -29
- package/demo/elements/project/project-run-report.html +0 -20
- package/demo/elements/project/project-run-report.ts +0 -132
- package/demo/elements/project/request-editor.html +0 -23
- package/demo/elements/project/request-editor.ts +0 -232
- package/demo/elements/user/user-avatar.html +0 -17
- package/demo/elements/user/user-avatar.ts +0 -60
- package/demo/env.js +0 -4
- package/demo/index.html +0 -34
- package/demo/layout/index.html +0 -94
- package/demo/layout/index.ts +0 -190
- package/demo/md/DemoStyles.ts +0 -61
- package/demo/md/UiDemoPage.ts +0 -6
- package/demo/md/buttons/button.html +0 -121
- package/demo/md/buttons/button.ts +0 -246
- package/demo/md/buttons/group.html +0 -36
- package/demo/md/buttons/group.ts +0 -171
- package/demo/md/checkbox/index.html +0 -39
- package/demo/md/checkbox/index.ts +0 -220
- package/demo/md/chip/chip.html +0 -70
- package/demo/md/chip/chip.ts +0 -219
- package/demo/md/chip/pawel6c9a.jpg +0 -0
- package/demo/md/collapse/CustomDetail.ts +0 -89
- package/demo/md/collapse/collapse.html +0 -21
- package/demo/md/collapse/collapse.ts +0 -78
- package/demo/md/date-picker/date-picker.ts +0 -336
- package/demo/md/date-picker/index.html +0 -171
- package/demo/md/dialog/confirm-dialog.html +0 -49
- package/demo/md/dialog/confirm-dialog.ts +0 -121
- package/demo/md/dialog/dialog.html +0 -25
- package/demo/md/dialog/dialog.ts +0 -468
- package/demo/md/dropdown-list/index.html +0 -31
- package/demo/md/dropdown-list/index.ts +0 -158
- package/demo/md/icon-button/index.html +0 -122
- package/demo/md/icon-button/index.ts +0 -132
- package/demo/md/index.html +0 -73
- package/demo/md/inputs/input.html +0 -73
- package/demo/md/inputs/input.ts +0 -278
- package/demo/md/inputs/radio.html +0 -39
- package/demo/md/inputs/radio.ts +0 -156
- package/demo/md/inputs/switch.html +0 -45
- package/demo/md/inputs/switch.ts +0 -144
- package/demo/md/list/list.html +0 -65
- package/demo/md/list/list.ts +0 -204
- package/demo/md/listbox/listbox.html +0 -31
- package/demo/md/listbox/listbox.ts +0 -27
- package/demo/md/menu/index.html +0 -19
- package/demo/md/menu/index.ts +0 -514
- package/demo/md/notification/snack.html +0 -21
- package/demo/md/notification/snack.ts +0 -70
- package/demo/md/progress/progress.html +0 -46
- package/demo/md/progress/progress.ts +0 -161
- package/demo/md/segmented-button/index.html +0 -21
- package/demo/md/segmented-button/index.ts +0 -55
- package/demo/md/select/index.html +0 -16
- package/demo/md/select/index.ts +0 -217
- package/demo/md/tabs/tabs.html +0 -40
- package/demo/md/tabs/tabs.ts +0 -214
- package/demo/oauth-popup.html +0 -36
- package/demo/page.css +0 -8
- package/demo/resources/calendar-month.png +0 -0
- package/demo/resources/favorite.png +0 -0
- package/demo/resources/fingerprint.png +0 -0
- package/demo/resources/home-work.png +0 -0
- package/demo/resources/mood.png +0 -0
- package/demo/resources/print.png +0 -0
- package/demo/resources/stars.png +0 -0
- package/demo/resources/theaters.png +0 -0
- package/demo/tsconfig.json +0 -4
- package/eslint.config.js +0 -97
- package/scripts/copy-assets.js +0 -21
- package/scripts/release.js +0 -66
- package/src/demo/DemoPage.ts +0 -169
- package/src/demo/DemoStyles.ts +0 -60
- package/test/README.md +0 -375
- package/test/contextual-menu/ContextMenu.test.ts +0 -760
- package/test/contextual-menu/ContextMenuElement.test.ts +0 -569
- package/test/core/activity.spec.ts +0 -413
- package/test/core/activity_manager.spec.ts +0 -544
- package/test/core/application.spec.ts +0 -218
- package/test/core/fragment.spec.ts +0 -565
- package/test/core/fragment_manager.spec.ts +0 -404
- package/test/core/live_data.spec.ts +0 -558
- package/test/core/renderer.spec.ts +0 -113
- package/test/dom-assertions.test.ts +0 -182
- package/test/elements/MonacoSetup.ts +0 -65
- package/test/elements/authorization/basic-method.test.ts +0 -177
- package/test/elements/authorization/bearer-method.test.ts +0 -143
- package/test/elements/authorization/ntlm-method.test.ts +0 -219
- package/test/elements/authorization/oauth2-client-credentials-method.test.ts +0 -334
- package/test/elements/authorization/oauth2-code-method.test.ts +0 -320
- package/test/elements/authorization/oauth2-custom-grant-method.test.ts +0 -255
- package/test/elements/authorization/oauth2-device-code-method.test.ts +0 -371
- package/test/elements/authorization/oauth2-implicit-method.test.ts +0 -407
- package/test/elements/authorization/oauth2-jwt-method.test.ts +0 -217
- package/test/elements/authorization/oauth2-password-method.test.ts +0 -275
- package/test/elements/authorization/openid-method.test.ts +0 -591
- package/test/elements/autocomplete/autocomplete-input.spec.ts +0 -646
- package/test/elements/code-editor/code-editor.accessibility.test.ts +0 -298
- package/test/elements/code-editor/code-editor.test.ts +0 -574
- package/test/elements/currency/CurrencyPicker.accessibility.test.ts +0 -328
- package/test/elements/currency/CurrencyPicker.core.test.ts +0 -318
- package/test/elements/currency/CurrencyPicker.integration.test.ts +0 -482
- package/test/elements/currency/CurrencyPicker.test.ts +0 -486
- package/test/elements/data-table/DataTable.browser.test.ts +0 -649
- package/test/elements/har/HarUtils.test.ts +0 -45
- package/test/elements/har/HarViewerElement.test.ts +0 -687
- package/test/elements/har/test-data/har1.har +0 -3044
- package/test/elements/highlight/MarkedHighlightElement.test.ts +0 -452
- package/test/elements/highlight/PrismHighlightElement.test.ts +0 -79
- package/test/elements/highlight/PrismHighlighter.test.ts +0 -94
- package/test/elements/highlight/remoteSanitization.md +0 -1
- package/test/elements/highlight/test.md +0 -3
- package/test/elements/highlight/test1.md +0 -3
- package/test/elements/highlight/test2.md +0 -1
- package/test/elements/http/BodyFormdataEditorElement.test.ts +0 -482
- package/test/elements/http/BodyMultipartEditorElement.test.ts +0 -658
- package/test/elements/http/BodyRawEditorElement.test.ts +0 -90
- package/test/elements/http/CertificateAdd.test.ts +0 -457
- package/test/elements/http/HttpAssertions.test.ts +0 -994
- package/test/elements/http/HttpFlows.test.ts +0 -502
- package/test/elements/http/UrlEncodeUtils.test.ts +0 -202
- package/test/elements/layout/SplitItem.test.ts +0 -440
- package/test/elements/layout/SplitLayoutManager.test.ts +0 -1501
- package/test/elements/layout/SplitPanel.test.ts +0 -1109
- package/test/elements/mention-textarea/MentionTextArea.basic.test.ts +0 -114
- package/test/elements/mention-textarea/MentionTextArea.test.ts +0 -613
- package/test/elements/navigation/Navigation.test.ts +0 -120
- package/test/env.ts +0 -15
- package/test/events/EventTypes.test.ts +0 -363
- package/test/events/EventsTestHelpers.ts +0 -16
- package/test/helpers/TestUtils.ts +0 -243
- package/test/helpers/UiMock.ts +0 -185
- package/test/lib/Dom.test.ts +0 -231
- package/test/md/button/UiButton.test.ts +0 -347
- package/test/md/button/UiIconButton.test.ts +0 -155
- package/test/md/chip/UiChip.test.ts +0 -219
- package/test/md/collapse/UiCollapse.test.ts +0 -250
- package/test/md/collapse/flex-layout.test.ts +0 -105
- package/test/md/date-time/DateTime.test.ts +0 -348
- package/test/md/dialog/UiConfirmDialog.test.ts +0 -131
- package/test/md/dialog/UiDialog.test.ts +0 -759
- package/test/md/menu/Menu.test.ts +0 -855
- package/test/md/menu/MenuIntegration.test.ts +0 -426
- package/test/md/menu/MenuItem.test.ts +0 -652
- package/test/md/menu/SubMenu.test.ts +0 -410
- package/test/md/progress/UiCircularProgressElement.test.ts +0 -481
- package/test/md/progress/UiProgressElement.test.ts +0 -117
- package/test/md/progress/UiRangeElement.test.ts +0 -156
- package/test/md/select/Select.test.ts +0 -925
- package/test/plugins/takeScreenshotPlugin.js +0 -35
- package/test/setup.test.ts +0 -217
- package/test/setup.ts +0 -117
- package/test/tsconfig.json +0 -7
- package/web-dev-server.config.js +0 -21
- package/web-test-runner.config.js +0 -90
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
name: Auto Release
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches:
|
|
6
|
-
- main
|
|
7
|
-
|
|
8
|
-
env:
|
|
9
|
-
FORCE_COLOR: 1
|
|
10
|
-
|
|
11
|
-
jobs:
|
|
12
|
-
test:
|
|
13
|
-
name: Test
|
|
14
|
-
runs-on: ubuntu-latest
|
|
15
|
-
steps:
|
|
16
|
-
- name: Checkout code
|
|
17
|
-
uses: actions/checkout@v4
|
|
18
|
-
with:
|
|
19
|
-
fetch-depth: 0
|
|
20
|
-
|
|
21
|
-
- name: Setup Node.js
|
|
22
|
-
uses: actions/setup-node@v4
|
|
23
|
-
with:
|
|
24
|
-
node-version: 24
|
|
25
|
-
cache: 'npm'
|
|
26
|
-
|
|
27
|
-
- uses: google/wireit@setup-github-actions-caching/v2
|
|
28
|
-
|
|
29
|
-
- name: Install dependencies
|
|
30
|
-
run: npm ci
|
|
31
|
-
|
|
32
|
-
- name: Install playwright browsers
|
|
33
|
-
run: npx playwright install --with-deps
|
|
34
|
-
|
|
35
|
-
- name: Run tests
|
|
36
|
-
run: npm test
|
|
37
|
-
|
|
38
|
-
determine-release:
|
|
39
|
-
name: Determine Release Type
|
|
40
|
-
needs: test
|
|
41
|
-
runs-on: ubuntu-latest
|
|
42
|
-
outputs:
|
|
43
|
-
should-release: ${{ steps.release-check.outputs.should-release }}
|
|
44
|
-
release-type: ${{ steps.release-check.outputs.release-type }}
|
|
45
|
-
new-version: ${{ steps.release-check.outputs.new-version }}
|
|
46
|
-
steps:
|
|
47
|
-
- name: Checkout code
|
|
48
|
-
uses: actions/checkout@v4
|
|
49
|
-
with:
|
|
50
|
-
fetch-depth: 0
|
|
51
|
-
token: ${{ secrets.GITHUB_TOKEN }}
|
|
52
|
-
|
|
53
|
-
- name: Setup Node.js
|
|
54
|
-
uses: actions/setup-node@v4
|
|
55
|
-
with:
|
|
56
|
-
node-version: 24
|
|
57
|
-
cache: 'npm'
|
|
58
|
-
|
|
59
|
-
- name: Install dependencies
|
|
60
|
-
run: npm ci
|
|
61
|
-
|
|
62
|
-
- name: Determine release type
|
|
63
|
-
id: release-check
|
|
64
|
-
run: |
|
|
65
|
-
# Get the last tag
|
|
66
|
-
LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "v0.0.0")
|
|
67
|
-
echo "Last tag: $LAST_TAG"
|
|
68
|
-
|
|
69
|
-
# Get commits since last tag
|
|
70
|
-
COMMITS=$(git log --pretty=format:"%s" ${LAST_TAG}..HEAD)
|
|
71
|
-
echo "Commits since last tag:"
|
|
72
|
-
echo "$COMMITS"
|
|
73
|
-
|
|
74
|
-
# Check if there are any commits to release
|
|
75
|
-
if [ -z "$COMMITS" ]; then
|
|
76
|
-
echo "No new commits since last tag"
|
|
77
|
-
echo "should-release=false" >> $GITHUB_OUTPUT
|
|
78
|
-
exit 0
|
|
79
|
-
fi
|
|
80
|
-
|
|
81
|
-
# Determine release type based on commit messages
|
|
82
|
-
RELEASE_TYPE="patch"
|
|
83
|
-
|
|
84
|
-
# Check for breaking changes
|
|
85
|
-
if echo "$COMMITS" | grep -q "BREAKING CHANGE" || echo "$COMMITS" | grep -q '!:'; then
|
|
86
|
-
RELEASE_TYPE="major"
|
|
87
|
-
# Check for new features
|
|
88
|
-
elif echo "$COMMITS" | grep -q "^feat"; then
|
|
89
|
-
RELEASE_TYPE="minor"
|
|
90
|
-
fi
|
|
91
|
-
|
|
92
|
-
echo "Release type: $RELEASE_TYPE"
|
|
93
|
-
|
|
94
|
-
# Calculate new version
|
|
95
|
-
CURRENT_VERSION=$(node -p "require('./package.json').version")
|
|
96
|
-
echo "Current version: $CURRENT_VERSION"
|
|
97
|
-
|
|
98
|
-
# Use semver to calculate new version
|
|
99
|
-
NEW_VERSION=$(node -e "
|
|
100
|
-
const SemVer = require('@pawel-up/semver/classes/semver.js').default || require('@pawel-up/semver/classes/semver.js');
|
|
101
|
-
const ver = new SemVer('$CURRENT_VERSION');
|
|
102
|
-
ver.inc('$RELEASE_TYPE');
|
|
103
|
-
console.log(ver.format());
|
|
104
|
-
" CURRENT_VERSION="$CURRENT_VERSION" RELEASE_TYPE="$RELEASE_TYPE")
|
|
105
|
-
|
|
106
|
-
echo "New version: $NEW_VERSION"
|
|
107
|
-
|
|
108
|
-
echo "should-release=true" >> $GITHUB_OUTPUT
|
|
109
|
-
echo "release-type=$RELEASE_TYPE" >> $GITHUB_OUTPUT
|
|
110
|
-
echo "new-version=$NEW_VERSION" >> $GITHUB_OUTPUT
|
|
111
|
-
|
|
112
|
-
release:
|
|
113
|
-
name: Create Release
|
|
114
|
-
needs: [test, determine-release]
|
|
115
|
-
if: needs.determine-release.outputs.should-release == 'true'
|
|
116
|
-
runs-on: ubuntu-latest
|
|
117
|
-
permissions:
|
|
118
|
-
contents: write
|
|
119
|
-
issues: write
|
|
120
|
-
pull-requests: write
|
|
121
|
-
steps:
|
|
122
|
-
- name: Checkout code
|
|
123
|
-
uses: actions/checkout@v4
|
|
124
|
-
with:
|
|
125
|
-
fetch-depth: 0
|
|
126
|
-
token: ${{ secrets.GITHUB_TOKEN }}
|
|
127
|
-
|
|
128
|
-
- name: Setup Node.js
|
|
129
|
-
uses: actions/setup-node@v4
|
|
130
|
-
with:
|
|
131
|
-
node-version: 24
|
|
132
|
-
cache: 'npm'
|
|
133
|
-
registry-url: 'https://registry.npmjs.org'
|
|
134
|
-
|
|
135
|
-
- name: Install dependencies
|
|
136
|
-
run: npm ci
|
|
137
|
-
|
|
138
|
-
- name: Update version
|
|
139
|
-
run: |
|
|
140
|
-
# Update package.json version
|
|
141
|
-
NEW_VERSION="${{ needs.determine-release.outputs.new-version }}"
|
|
142
|
-
npm version $NEW_VERSION --no-git-tag-version
|
|
143
|
-
git add package.json
|
|
144
|
-
|
|
145
|
-
# Commit version bump
|
|
146
|
-
# git config --local user.email "action@github.com"
|
|
147
|
-
# git config --local user.name "GitHub Action"
|
|
148
|
-
# git add package.json
|
|
149
|
-
# git commit -m "chore: bump version to $NEW_VERSION"
|
|
150
|
-
# git push
|
|
151
|
-
|
|
152
|
-
- uses: qoomon/actions--create-commit@v1
|
|
153
|
-
id: commit
|
|
154
|
-
with:
|
|
155
|
-
message: "chore: bump version to ${{ needs.determine-release.outputs.new-version }}"
|
|
156
|
-
skip-empty: true
|
|
157
|
-
|
|
158
|
-
- run: git push
|
|
159
|
-
|
|
160
|
-
- name: Build
|
|
161
|
-
run: npm run build
|
|
162
|
-
|
|
163
|
-
- name: Generate changelog
|
|
164
|
-
id: changelog
|
|
165
|
-
run: |
|
|
166
|
-
echo "changelog<<EOF" >> $GITHUB_OUTPUT
|
|
167
|
-
npx conventional-changelog-cli@latest release --preset conventionalcommits --release-count 1 >> $GITHUB_OUTPUT
|
|
168
|
-
echo "EOF" >> $GITHUB_OUTPUT
|
|
169
|
-
|
|
170
|
-
- name: Create Release
|
|
171
|
-
uses: softprops/action-gh-release@v2
|
|
172
|
-
with:
|
|
173
|
-
tag_name: v${{ needs.determine-release.outputs.new-version }}
|
|
174
|
-
body: ${{ steps.changelog.outputs.changelog }}
|
|
175
|
-
draft: false
|
|
176
|
-
prerelease: false
|
|
177
|
-
generate_release_notes: false
|
|
178
|
-
|
|
179
|
-
- name: Publish to npm
|
|
180
|
-
run: npm publish --access public
|
|
181
|
-
env:
|
|
182
|
-
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
name: Manual Release
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
tags:
|
|
6
|
-
- 'v*'
|
|
7
|
-
|
|
8
|
-
env:
|
|
9
|
-
FORCE_COLOR: 1
|
|
10
|
-
|
|
11
|
-
jobs:
|
|
12
|
-
test:
|
|
13
|
-
name: Test
|
|
14
|
-
runs-on: ubuntu-latest
|
|
15
|
-
steps:
|
|
16
|
-
- name: Checkout code
|
|
17
|
-
uses: actions/checkout@v4
|
|
18
|
-
with:
|
|
19
|
-
fetch-depth: 0
|
|
20
|
-
|
|
21
|
-
- name: Setup Node.js
|
|
22
|
-
uses: actions/setup-node@v4
|
|
23
|
-
with:
|
|
24
|
-
node-version: 24
|
|
25
|
-
cache: 'npm'
|
|
26
|
-
|
|
27
|
-
- name: Install dependencies
|
|
28
|
-
run: npm ci
|
|
29
|
-
|
|
30
|
-
- name: Install playwright browsers
|
|
31
|
-
run: npx playwright install --with-deps
|
|
32
|
-
|
|
33
|
-
- name: Run tests
|
|
34
|
-
run: npm test
|
|
35
|
-
|
|
36
|
-
release:
|
|
37
|
-
name: Create Release
|
|
38
|
-
needs: test
|
|
39
|
-
runs-on: ubuntu-latest
|
|
40
|
-
permissions:
|
|
41
|
-
contents: write
|
|
42
|
-
issues: write
|
|
43
|
-
pull-requests: write
|
|
44
|
-
steps:
|
|
45
|
-
- name: Checkout code
|
|
46
|
-
uses: actions/checkout@v4
|
|
47
|
-
with:
|
|
48
|
-
fetch-depth: 0
|
|
49
|
-
token: ${{ secrets.GITHUB_TOKEN }}
|
|
50
|
-
|
|
51
|
-
- name: Setup Node.js
|
|
52
|
-
uses: actions/setup-node@v4
|
|
53
|
-
with:
|
|
54
|
-
node-version: 24
|
|
55
|
-
cache: 'npm'
|
|
56
|
-
registry-url: 'https://registry.npmjs.org'
|
|
57
|
-
|
|
58
|
-
- name: Install dependencies
|
|
59
|
-
run: npm ci
|
|
60
|
-
|
|
61
|
-
- name: Build
|
|
62
|
-
run: npm run build
|
|
63
|
-
|
|
64
|
-
- name: Generate changelog
|
|
65
|
-
id: changelog
|
|
66
|
-
run: |
|
|
67
|
-
echo "changelog<<EOF" >> $GITHUB_OUTPUT
|
|
68
|
-
npx conventional-changelog-cli@latest release --preset conventionalcommits --release-count 1 >> $GITHUB_OUTPUT
|
|
69
|
-
echo "EOF" >> $GITHUB_OUTPUT
|
|
70
|
-
|
|
71
|
-
- name: Create Release
|
|
72
|
-
uses: softprops/action-gh-release@v2
|
|
73
|
-
with:
|
|
74
|
-
body: ${{ steps.changelog.outputs.changelog }}
|
|
75
|
-
draft: false
|
|
76
|
-
prerelease: false
|
|
77
|
-
generate_release_notes: false
|
|
78
|
-
|
|
79
|
-
- name: Publish to npm
|
|
80
|
-
run: npm publish --access public
|
|
81
|
-
env:
|
|
82
|
-
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
package/.prettierrc.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @see https://prettier.io/docs/configuration
|
|
3
|
-
* @type {import("prettier").Config}
|
|
4
|
-
*/
|
|
5
|
-
export default {
|
|
6
|
-
trailingComma: 'es5',
|
|
7
|
-
semi: false,
|
|
8
|
-
singleQuote: true,
|
|
9
|
-
useTabs: false,
|
|
10
|
-
quoteProps: 'consistent',
|
|
11
|
-
bracketSpacing: true,
|
|
12
|
-
arrowParens: 'always',
|
|
13
|
-
printWidth: 120,
|
|
14
|
-
}
|
package/.vscode/settings.json
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"cSpell.words": [
|
|
3
|
-
"debouncer",
|
|
4
|
-
"iconbutton",
|
|
5
|
-
"itemschange",
|
|
6
|
-
"openentity",
|
|
7
|
-
"popovertarget",
|
|
8
|
-
"querycomplete",
|
|
9
|
-
"selectedcontent",
|
|
10
|
-
"startactivity",
|
|
11
|
-
"startactivityforresult",
|
|
12
|
-
"typescale"
|
|
13
|
-
],
|
|
14
|
-
"vscode-wtr-runner.testRunnerCommand": "npm run tsc:all && npx wtr --playwright --browsers \"chromium\"",
|
|
15
|
-
"geminicodeassist.customCommands": {
|
|
16
|
-
"add-comments": "add comments to my code. add examples whenever reasonable. focus on another developer understanding what the function is about. don't forget about class fields."
|
|
17
|
-
}
|
|
18
|
-
}
|
package/RELEASE.md
DELETED
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
# Release Guide
|
|
2
|
-
|
|
3
|
-
This project uses an **automated release system** with conventional commits and GitHub Actions. Releases are automatically created when changes are merged to the main branch.
|
|
4
|
-
|
|
5
|
-
## 🚀 Automated Releases (Recommended)
|
|
6
|
-
|
|
7
|
-
### How It Works
|
|
8
|
-
|
|
9
|
-
1. **Push to main branch** (usually via PR merge)
|
|
10
|
-
2. **Tests run automatically** to ensure quality
|
|
11
|
-
3. **System analyzes commit messages** since the last release
|
|
12
|
-
4. **Release type is determined automatically:**
|
|
13
|
-
- `major` - if commits contain "breaking:" or "!:"
|
|
14
|
-
- `minor` - if commits contain "feat:" (new features)
|
|
15
|
-
- `patch` - for all other changes (bug fixes, docs, etc.)
|
|
16
|
-
5. **Release is created automatically** with changelog and npm publish
|
|
17
|
-
|
|
18
|
-
### Commit Message Examples
|
|
19
|
-
|
|
20
|
-
```bash
|
|
21
|
-
# Major release (breaking changes)
|
|
22
|
-
git commit -m "feat!: remove deprecated API"
|
|
23
|
-
git commit -m "feat: new system
|
|
24
|
-
|
|
25
|
-
BREAKING CHANGE: Old methods no longer work"
|
|
26
|
-
|
|
27
|
-
# Minor release (new features)
|
|
28
|
-
git commit -m "feat: add OAuth2 support"
|
|
29
|
-
git commit -m "feat(auth): implement JWT tokens"
|
|
30
|
-
|
|
31
|
-
# Patch release (bug fixes, docs, etc.)
|
|
32
|
-
git commit -m "fix: resolve memory leak"
|
|
33
|
-
git commit -m "docs: update API documentation"
|
|
34
|
-
git commit -m "chore: update dependencies"
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
### What Happens Automatically
|
|
38
|
-
|
|
39
|
-
1. ✅ Tests run to ensure everything works
|
|
40
|
-
2. ✅ Version is bumped in `package.json`
|
|
41
|
-
3. ✅ Changes are committed with conventional commit message
|
|
42
|
-
4. ✅ Git tag is created (e.g., `v1.2.3`)
|
|
43
|
-
5. ✅ GitHub release is created with automated changelog
|
|
44
|
-
6. ✅ Package is published to npm
|
|
45
|
-
|
|
46
|
-
## 🔧 Manual Releases (Fallback)
|
|
47
|
-
|
|
48
|
-
If you need to create a release manually (e.g., for hotfixes or special releases):
|
|
49
|
-
|
|
50
|
-
### Option 1: Use the release script
|
|
51
|
-
|
|
52
|
-
```bash
|
|
53
|
-
# Create a patch release (bug fixes)
|
|
54
|
-
npm run release:patch
|
|
55
|
-
|
|
56
|
-
# Create a minor release (new features)
|
|
57
|
-
npm run release:minor
|
|
58
|
-
|
|
59
|
-
# Create a major release (breaking changes)
|
|
60
|
-
npm run release:major
|
|
61
|
-
|
|
62
|
-
# Or use the default (patch)
|
|
63
|
-
npm run release
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
### Option 2: Manual tag creation
|
|
67
|
-
|
|
68
|
-
```bash
|
|
69
|
-
npm run build
|
|
70
|
-
# Update version in package.json
|
|
71
|
-
npm version patch --no-git-tag-version
|
|
72
|
-
|
|
73
|
-
# Commit the change
|
|
74
|
-
git add package.json
|
|
75
|
-
git commit -m "chore: bump version to X.Y.Z"
|
|
76
|
-
|
|
77
|
-
# Create and push tag
|
|
78
|
-
git tag vX.Y.Z
|
|
79
|
-
git push origin main
|
|
80
|
-
git push origin vX.Y.Z
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
## 📋 Conventional Commits
|
|
84
|
-
|
|
85
|
-
The release system uses conventional commits to generate changelogs. Your commit messages should follow this format:
|
|
86
|
-
|
|
87
|
-
```plain
|
|
88
|
-
type(scope): description
|
|
89
|
-
|
|
90
|
-
[optional body]
|
|
91
|
-
|
|
92
|
-
[optional footer]
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
### Commit Types
|
|
96
|
-
|
|
97
|
-
- `feat`: New features (triggers minor release)
|
|
98
|
-
- `fix`: Bug fixes (triggers patch release)
|
|
99
|
-
- `docs`: Documentation changes
|
|
100
|
-
- `style`: Code style changes (formatting, etc.)
|
|
101
|
-
- `refactor`: Code refactoring
|
|
102
|
-
- `test`: Adding or updating tests
|
|
103
|
-
- `chore`: Maintenance tasks
|
|
104
|
-
|
|
105
|
-
### Breaking Changes
|
|
106
|
-
|
|
107
|
-
To indicate a breaking change, use either:
|
|
108
|
-
|
|
109
|
-
- `!:` in the commit message: `feat!: remove deprecated API`
|
|
110
|
-
- `BREAKING CHANGE:` in the commit body:
|
|
111
|
-
|
|
112
|
-
```plain
|
|
113
|
-
feat: new authentication system
|
|
114
|
-
|
|
115
|
-
BREAKING CHANGE: Old auth methods are no longer supported
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
## 🔄 Workflow Comparison
|
|
119
|
-
|
|
120
|
-
| Aspect | Automated Release | Manual Release |
|
|
121
|
-
|--------|------------------|----------------|
|
|
122
|
-
| **Trigger** | Push to main | Tag push or script |
|
|
123
|
-
| **Release Type** | Auto-detected from commits | Manually specified |
|
|
124
|
-
| **Effort** | Zero - fully automated | Manual intervention |
|
|
125
|
-
| **Use Case** | Regular development flow | Hotfixes, special releases |
|
|
126
|
-
|
|
127
|
-
## 🛠️ Configuration
|
|
128
|
-
|
|
129
|
-
The release system is configured in:
|
|
130
|
-
|
|
131
|
-
- `.github/workflows/auto-release.yml` - Automated release workflow
|
|
132
|
-
- `.github/workflows/release.yml` - Manual release workflow (fallback)
|
|
133
|
-
- `scripts/release.js` - Manual release automation script
|
|
134
|
-
- `commitlint.config.js` - Conventional commits configuration
|
|
135
|
-
- `package.json` - Version management and scripts
|
|
136
|
-
|
|
137
|
-
## 🚨 Troubleshooting
|
|
138
|
-
|
|
139
|
-
### Common Issues
|
|
140
|
-
|
|
141
|
-
1. **No release created**: Check if commits follow conventional format
|
|
142
|
-
2. **Wrong release type**: Ensure commit messages use correct prefixes
|
|
143
|
-
3. **Tests failing**: Release won't proceed if tests fail
|
|
144
|
-
4. **Permission denied**: Ensure GitHub token has write permissions
|
|
145
|
-
|
|
146
|
-
### Debugging
|
|
147
|
-
|
|
148
|
-
The automated workflow logs will show:
|
|
149
|
-
|
|
150
|
-
- Last tag found
|
|
151
|
-
- Commits since last tag
|
|
152
|
-
- Determined release type
|
|
153
|
-
- Calculated new version
|
|
154
|
-
|
|
155
|
-
### Rollback
|
|
156
|
-
|
|
157
|
-
If you need to rollback a release:
|
|
158
|
-
|
|
159
|
-
1. Delete the tag locally: `git tag -d vX.Y.Z`
|
|
160
|
-
2. Delete the tag on GitHub: `git push origin :refs/tags/vX.Y.Z`
|
|
161
|
-
3. Revert the version in `package.json`
|
|
162
|
-
4. Commit the revert: `git commit -m "chore: revert version to X.Y.Z"`
|
|
163
|
-
5. Push the changes: `git push origin main`
|
package/RELEASE_SETUP.md
DELETED
|
@@ -1,235 +0,0 @@
|
|
|
1
|
-
# Automated Release System Setup
|
|
2
|
-
|
|
3
|
-
## 🎯 Overview
|
|
4
|
-
|
|
5
|
-
This project now has a **fully automated release system** that:
|
|
6
|
-
|
|
7
|
-
1. **Automatically detects release types** from commit messages
|
|
8
|
-
2. **Creates releases on every merge to main** (when there are changes)
|
|
9
|
-
3. **Generates changelogs** from conventional commits
|
|
10
|
-
4. **Publishes to npm** automatically
|
|
11
|
-
5. **Provides manual fallback** for special cases
|
|
12
|
-
|
|
13
|
-
## 🔄 How It Works
|
|
14
|
-
|
|
15
|
-
### Automated Flow
|
|
16
|
-
|
|
17
|
-
```plain
|
|
18
|
-
Push to main → Tests run → Analyze commits → Determine release type → Create release
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
1. **Trigger**: Any push to the `main` branch (usually PR merges)
|
|
22
|
-
2. **Testing**: Full test suite runs to ensure quality
|
|
23
|
-
3. **Analysis**: System examines commits since last release
|
|
24
|
-
4. **Decision**: Release type determined by commit messages:
|
|
25
|
-
- `major`: Breaking changes (`!:` or `BREAKING CHANGE:`)
|
|
26
|
-
- `minor`: New features (`feat:`)
|
|
27
|
-
- `patch`: Everything else (`fix:`, `docs:`, `chore:`, etc.)
|
|
28
|
-
5. **Release**: If changes exist, creates GitHub release + npm publish
|
|
29
|
-
|
|
30
|
-
### Manual Fallback
|
|
31
|
-
|
|
32
|
-
```plain
|
|
33
|
-
Create tag → Manual release workflow → Create release
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
For hotfixes or special releases, you can still use manual methods.
|
|
37
|
-
|
|
38
|
-
## 📁 Workflow Files
|
|
39
|
-
|
|
40
|
-
### `.github/workflows/auto-release.yml`
|
|
41
|
-
|
|
42
|
-
- **Purpose**: Main automated release workflow
|
|
43
|
-
- **Trigger**: Push to main branch
|
|
44
|
-
- **Jobs**:
|
|
45
|
-
- `test`: Run tests
|
|
46
|
-
- `determine-release`: Analyze commits and decide release type
|
|
47
|
-
- `release`: Create release and publish
|
|
48
|
-
|
|
49
|
-
### `.github/workflows/release.yml`
|
|
50
|
-
|
|
51
|
-
- **Purpose**: Manual release fallback
|
|
52
|
-
- **Trigger**: Push of version tags (`v*`)
|
|
53
|
-
- **Use case**: Manual releases, hotfixes
|
|
54
|
-
|
|
55
|
-
### `.github/workflows/test.yml`
|
|
56
|
-
|
|
57
|
-
- **Purpose**: Quality assurance
|
|
58
|
-
- **Trigger**: PRs and pushes to main
|
|
59
|
-
- **Jobs**: Run tests and linting
|
|
60
|
-
|
|
61
|
-
## 🎯 Release Type Detection
|
|
62
|
-
|
|
63
|
-
The system analyzes commit messages since the last release:
|
|
64
|
-
|
|
65
|
-
### Major Release (X.0.0)
|
|
66
|
-
|
|
67
|
-
```bash
|
|
68
|
-
git commit -m "feat!: remove deprecated API"
|
|
69
|
-
git commit -m "feat: new system
|
|
70
|
-
|
|
71
|
-
BREAKING CHANGE: Old methods no longer work"
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
### Minor Release (0.X.0)
|
|
75
|
-
|
|
76
|
-
```bash
|
|
77
|
-
git commit -m "feat: add OAuth2 support"
|
|
78
|
-
git commit -m "feat(auth): implement JWT tokens"
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
### Patch Release (0.0.X)
|
|
82
|
-
|
|
83
|
-
```bash
|
|
84
|
-
git commit -m "fix: resolve memory leak"
|
|
85
|
-
git commit -m "docs: update API docs"
|
|
86
|
-
git commit -m "chore: update dependencies"
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
## 🛠️ Configuration Details
|
|
90
|
-
|
|
91
|
-
### Commit Analysis Logic
|
|
92
|
-
|
|
93
|
-
```bash
|
|
94
|
-
# Check for breaking changes first
|
|
95
|
-
if echo "$COMMITS" | grep -q "BREAKING CHANGE\|!:"; then
|
|
96
|
-
RELEASE_TYPE="major"
|
|
97
|
-
# Then check for new features
|
|
98
|
-
elif echo "$COMMITS" | grep -q "^feat"; then
|
|
99
|
-
RELEASE_TYPE="minor"
|
|
100
|
-
# Default to patch
|
|
101
|
-
else
|
|
102
|
-
RELEASE_TYPE="patch"
|
|
103
|
-
fi
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
### Version Calculation
|
|
107
|
-
|
|
108
|
-
Uses the `@pawel-up/semver` package for proper semantic versioning:
|
|
109
|
-
|
|
110
|
-
```javascript
|
|
111
|
-
import SemVer from '@pawel-up/semver/classes/semver.js';
|
|
112
|
-
const ver = new SemVer(currentVersion);
|
|
113
|
-
ver.inc(releaseType);
|
|
114
|
-
return ver.format();
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
### Changelog Generation
|
|
118
|
-
|
|
119
|
-
Uses `conventional-changelog-cli` with the `conventionalcommits` preset:
|
|
120
|
-
|
|
121
|
-
```bash
|
|
122
|
-
npx conventional-changelog-cli@latest release --preset conventionalcommits --release-count 1
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
## 🔧 Setup Requirements
|
|
126
|
-
|
|
127
|
-
### GitHub Secrets
|
|
128
|
-
|
|
129
|
-
- `GITHUB_TOKEN`: Automatically provided
|
|
130
|
-
- `NPM_TOKEN`: Required for npm publishing
|
|
131
|
-
|
|
132
|
-
### Dependencies
|
|
133
|
-
|
|
134
|
-
- `conventional-changelog-cli`: For changelog generation
|
|
135
|
-
- `@pawel-up/semver`: For version calculation
|
|
136
|
-
- `@commitlint/config-conventional`: For commit validation
|
|
137
|
-
|
|
138
|
-
### Permissions
|
|
139
|
-
|
|
140
|
-
The workflows require these permissions:
|
|
141
|
-
|
|
142
|
-
- `contents: write` - Create releases and tags
|
|
143
|
-
- `issues: write` - Update issues
|
|
144
|
-
- `pull-requests: write` - Update PRs
|
|
145
|
-
|
|
146
|
-
## 🚀 Usage Examples
|
|
147
|
-
|
|
148
|
-
### Normal Development Flow
|
|
149
|
-
|
|
150
|
-
1. **Create feature branch**
|
|
151
|
-
|
|
152
|
-
```bash
|
|
153
|
-
git checkout -b feature/new-auth
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
2. **Make changes with proper commits**
|
|
157
|
-
|
|
158
|
-
```bash
|
|
159
|
-
git commit -m "feat: add OAuth2 authentication"
|
|
160
|
-
git commit -m "docs: update authentication docs"
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
3. **Create PR and merge to main**
|
|
164
|
-
- PR triggers test workflow
|
|
165
|
-
- Merge triggers auto-release workflow
|
|
166
|
-
- System creates minor release automatically
|
|
167
|
-
|
|
168
|
-
### Hotfix Flow
|
|
169
|
-
|
|
170
|
-
1. **Create hotfix branch**
|
|
171
|
-
|
|
172
|
-
```bash
|
|
173
|
-
git checkout -b hotfix/critical-bug
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
2. **Fix and commit**
|
|
177
|
-
|
|
178
|
-
```bash
|
|
179
|
-
git commit -m "fix: resolve critical memory leak"
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
3. **Merge to main**
|
|
183
|
-
- System creates patch release automatically
|
|
184
|
-
|
|
185
|
-
### Manual Release (if needed)
|
|
186
|
-
|
|
187
|
-
```bash
|
|
188
|
-
# For immediate release
|
|
189
|
-
npm run release:patch
|
|
190
|
-
|
|
191
|
-
# Or create tag manually
|
|
192
|
-
git tag v1.2.3
|
|
193
|
-
git push origin v1.2.3
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
## 🔍 Monitoring and Debugging
|
|
197
|
-
|
|
198
|
-
### Workflow Logs
|
|
199
|
-
|
|
200
|
-
Check the GitHub Actions tab to see:
|
|
201
|
-
|
|
202
|
-
- Which commits were analyzed
|
|
203
|
-
- What release type was determined
|
|
204
|
-
- Why a release was or wasn't created
|
|
205
|
-
|
|
206
|
-
### Common Issues
|
|
207
|
-
|
|
208
|
-
1. **No release created**: No new commits since last tag
|
|
209
|
-
2. **Wrong release type**: Check commit message format
|
|
210
|
-
3. **Tests failing**: Release won't proceed
|
|
211
|
-
4. **Permission errors**: Check GitHub token permissions
|
|
212
|
-
|
|
213
|
-
### Debugging Commands
|
|
214
|
-
|
|
215
|
-
```bash
|
|
216
|
-
# Check last tag
|
|
217
|
-
git describe --tags --abbrev=0
|
|
218
|
-
|
|
219
|
-
# See commits since last tag
|
|
220
|
-
git log --pretty=format:"%s" $(git describe --tags --abbrev=0)..HEAD
|
|
221
|
-
|
|
222
|
-
# Check conventional commit format
|
|
223
|
-
npx commitlint --edit .git/COMMIT_EDITMSG
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
## 🎉 Benefits
|
|
227
|
-
|
|
228
|
-
1. **Zero manual intervention** for regular releases
|
|
229
|
-
2. **Consistent release process** with proper semantic versioning
|
|
230
|
-
3. **Automatic changelog generation** from commit history
|
|
231
|
-
4. **Quality gates** with automated testing
|
|
232
|
-
5. **Flexible fallback** for special cases
|
|
233
|
-
6. **Proper audit trail** with conventional commits
|
|
234
|
-
|
|
235
|
-
This setup provides a modern, automated release system that follows industry best practices and reduces manual work while ensuring quality and consistency.
|