@homebridge-plugins/homebridge-august 3.0.10 → 3.1.0
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/.github/workflows/release.yml +64 -27
- package/CHANGELOG.md +149 -771
- package/config.schema.json +8 -1
- package/dist/devices/device.js +1 -1
- package/dist/devices/device.js.map +1 -1
- package/dist/devices/device.test.js +1 -1
- package/dist/devices/device.test.js.map +1 -1
- package/dist/devices/lock.test.js +27 -0
- package/dist/devices/lock.test.js.map +1 -1
- package/dist/homebridge-ui/server.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -1
- package/dist/index.js.map +1 -1
- package/dist/index.test.js +86 -3
- package/dist/index.test.js.map +1 -1
- package/dist/package.json +84 -0
- package/dist/platform.d.ts +9 -2
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +36 -11
- package/dist/platform.js.map +1 -1
- package/dist/platform.matter.d.ts +51 -0
- package/dist/platform.matter.d.ts.map +1 -0
- package/dist/platform.matter.js +276 -0
- package/dist/platform.matter.js.map +1 -0
- package/dist/platform.matter.test.d.ts +2 -0
- package/dist/platform.matter.test.d.ts.map +1 -0
- package/dist/platform.matter.test.js +385 -0
- package/dist/platform.matter.test.js.map +1 -0
- package/dist/platform.test.js +6 -8
- package/dist/platform.test.js.map +1 -1
- package/dist/settings.d.ts +1 -0
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.test.js +11 -0
- package/dist/settings.test.js.map +1 -1
- package/docs/assets/icons.js +1 -1
- package/docs/assets/icons.svg +1 -1
- package/docs/assets/main.js +5 -5
- package/docs/assets/navigation.js +1 -0
- package/docs/assets/search.js +1 -0
- package/docs/assets/style.css +248 -226
- package/docs/hierarchy.html +1 -0
- package/docs/index.html +17 -13
- package/docs/modules.html +1 -2
- package/docs/variables/default.html +1 -0
- package/eslint.config.js +6 -9
- package/package.json +23 -30
- package/typedoc.json +0 -4
- package/vitest.config.ts +7 -0
- package/.github/scripts/npm-version-script-esm-auto.js +0 -207
- package/.github/workflows/beta-release.yml +0 -55
- package/docs/assets/dmt/dmt-component-data.js +0 -1
- package/docs/assets/dmt/dmt-components.css +0 -20
- package/docs/assets/dmt/dmt-components.js +0 -67
- package/docs/assets/dmt/dmt-search.cmp +0 -0
- package/docs/assets/dmt/dmt-theme.css +0 -1
- package/docs/functions/default.html +0 -2
|
@@ -1,30 +1,78 @@
|
|
|
1
|
-
name:
|
|
1
|
+
name: Release
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
4
|
push:
|
|
5
5
|
branches:
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
- latest
|
|
6
|
+
- 'beta-*'
|
|
7
|
+
- 'beta'
|
|
8
|
+
- 'latest'
|
|
9
9
|
workflow_dispatch:
|
|
10
10
|
|
|
11
11
|
jobs:
|
|
12
|
+
# ─── BETA RELEASE (branches starting with "beta") ────────────────────────────
|
|
13
|
+
|
|
14
|
+
# 1️⃣ Build and test
|
|
15
|
+
build_and_test:
|
|
16
|
+
if: startsWith(github.ref_name, 'beta')
|
|
17
|
+
uses: homebridge/.github/.github/workflows/nodejs-build-and-test.yml@latest
|
|
18
|
+
with:
|
|
19
|
+
enable_coverage: false
|
|
20
|
+
secrets:
|
|
21
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
|
22
|
+
|
|
23
|
+
# 2️⃣ Lint
|
|
24
|
+
lint:
|
|
25
|
+
if: startsWith(github.ref_name, 'beta')
|
|
26
|
+
needs: build_and_test
|
|
27
|
+
uses: homebridge/.github/.github/workflows/eslint.yml@latest
|
|
28
|
+
|
|
29
|
+
# 3️⃣ Publish beta to NPM (OIDC — id-token required here and in the reusable workflow)
|
|
30
|
+
beta-publish:
|
|
31
|
+
if: startsWith(github.ref_name, 'beta')
|
|
32
|
+
needs: lint
|
|
33
|
+
permissions:
|
|
34
|
+
id-token: write
|
|
35
|
+
uses: homebridge/.github/.github/workflows/npm-publish-esm-oidc.yml@latest
|
|
36
|
+
with:
|
|
37
|
+
tag: 'beta'
|
|
38
|
+
dynamically_adjust_version: true
|
|
39
|
+
npm_version_command: 'pre'
|
|
40
|
+
pre_id: 'beta'
|
|
41
|
+
|
|
42
|
+
# 4️⃣ Create GitHub pre-release
|
|
43
|
+
beta-pre-release:
|
|
44
|
+
if: startsWith(github.ref_name, 'beta')
|
|
45
|
+
needs: beta-publish
|
|
46
|
+
uses: homebridge/.github/.github/workflows/pre-release.yml@latest
|
|
47
|
+
with:
|
|
48
|
+
npm_version: ${{ needs.beta-publish.outputs.NPM_VERSION }}
|
|
49
|
+
body: |
|
|
50
|
+
**Beta Release**
|
|
51
|
+
**Version**: v${{ needs.beta-publish.outputs.NPM_VERSION }}
|
|
52
|
+
[How To Test Beta Releases](https://github.com/homebridge-plugins/homebridge-august/wiki/Beta-Version)
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
# ─── STABLE RELEASE (branch: "latest") ───────────────────────────────────────
|
|
56
|
+
|
|
12
57
|
# 1️⃣ Determine release type, ESM status, and branch name
|
|
13
58
|
determine-release-type:
|
|
59
|
+
if: github.ref_name == 'latest'
|
|
14
60
|
uses: homebridge/.github/.github/workflows/determine-release-type.yml@latest
|
|
15
61
|
with:
|
|
16
62
|
ref_name: ${{ github.ref_name }}
|
|
17
63
|
|
|
18
64
|
# 2️⃣ Update version and changelog using the scripts
|
|
19
65
|
update-version:
|
|
66
|
+
if: github.ref_name == 'latest'
|
|
20
67
|
needs: determine-release-type
|
|
21
68
|
uses: homebridge/.github/.github/workflows/update-version.yml@latest
|
|
22
69
|
with:
|
|
23
70
|
release_type: ${{ needs.determine-release-type.outputs.release_type }}
|
|
24
71
|
is_esm: ${{ needs.determine-release-type.outputs.is_esm == 'true' }}
|
|
25
72
|
|
|
26
|
-
# 3️⃣ Publish to NPM and create GitHub release
|
|
73
|
+
# 3️⃣ Publish to NPM and create GitHub release (OIDC — id-token required here and in the reusable workflow)
|
|
27
74
|
publish-release:
|
|
75
|
+
if: github.ref_name == 'latest'
|
|
28
76
|
needs: [determine-release-type, update-version]
|
|
29
77
|
permissions:
|
|
30
78
|
id-token: write
|
|
@@ -39,17 +87,17 @@ jobs:
|
|
|
39
87
|
|
|
40
88
|
# 4️⃣ Promote branch if this is a prerelease (alpha/beta)
|
|
41
89
|
promote-branch:
|
|
90
|
+
if: ${{ github.ref_name == 'latest' && needs.determine-release-type.outputs.release_type != 'latest' && needs.determine-release-type.outputs.release_type != 'skip' }}
|
|
42
91
|
needs: [determine-release-type, publish-release]
|
|
43
|
-
if: ${{ needs.determine-release-type.outputs.release_type != 'latest' && needs.determine-release-type.outputs.release_type != 'skip' }}
|
|
44
92
|
uses: homebridge/.github/.github/workflows/promote-branch.yml@latest
|
|
45
93
|
with:
|
|
46
94
|
branch_name: ${{ needs.determine-release-type.outputs.branch_name }}
|
|
47
95
|
release_type: ${{ needs.determine-release-type.outputs.release_type }}
|
|
48
96
|
is_esm: ${{ needs.determine-release-type.outputs.is_esm == 'true' }}
|
|
49
97
|
|
|
50
|
-
# 5️⃣ Notify if any
|
|
98
|
+
# 5️⃣ Notify if any stable-release job fails
|
|
51
99
|
workflow-failure:
|
|
52
|
-
if:
|
|
100
|
+
if: failure()
|
|
53
101
|
needs: [determine-release-type, update-version, publish-release, promote-branch]
|
|
54
102
|
uses: homebridge/.github/.github/workflows/report-failure.yml@latest
|
|
55
103
|
with:
|
|
@@ -57,27 +105,16 @@ jobs:
|
|
|
57
105
|
job_name: ${{ github.job }}
|
|
58
106
|
run_url: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
|
59
107
|
|
|
60
|
-
# 6️⃣
|
|
61
|
-
|
|
62
|
-
name:
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
with:
|
|
66
|
-
version: ${{ needs.update-version.outputs.version }}
|
|
67
|
-
changelog_path: CHANGELOG.md
|
|
68
|
-
tag_prefix: v
|
|
69
|
-
secrets:
|
|
70
|
-
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
|
71
|
-
|
|
72
|
-
# 7️⃣ Post to Discord
|
|
73
|
-
github-releases-to-discord:
|
|
74
|
-
name: Discord Webhooks
|
|
75
|
-
needs: [determine-release-type, update-version, publish-release, sync-github-release]
|
|
108
|
+
# 6️⃣ Post to Discord (Beta + Stable)
|
|
109
|
+
discord:
|
|
110
|
+
name: Release Notifications
|
|
111
|
+
if: ${{ always() && ((startsWith(github.ref_name, 'beta') && needs.beta-publish.result == 'success') || (github.ref_name == 'latest' && needs.publish-release.result == 'success')) }}
|
|
112
|
+
needs: [beta-publish, update-version, publish-release]
|
|
76
113
|
uses: homebridge/.github/.github/workflows/discord-webhooks.yml@latest
|
|
77
114
|
with:
|
|
78
|
-
title:
|
|
115
|
+
title: ${{ startsWith(github.ref_name, 'beta') && 'Homebridge August Beta Release' || 'Homebridge August Release' }}
|
|
79
116
|
description: |
|
|
80
|
-
Version `v${{ needs.update-version.outputs.version }}`
|
|
81
|
-
url: "https://github.com/homebridge-plugins/homebridge-august/releases/tag/v${{ needs.update-version.outputs.version }}"
|
|
117
|
+
Version `v${{ startsWith(github.ref_name, 'beta') && needs.beta-publish.outputs.NPM_VERSION || needs.update-version.outputs.version }}`
|
|
118
|
+
url: "https://github.com/homebridge-plugins/homebridge-august/releases/tag/v${{ startsWith(github.ref_name, 'beta') && needs.beta-publish.outputs.NPM_VERSION || needs.update-version.outputs.version }}"
|
|
82
119
|
secrets:
|
|
83
120
|
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK_URL_LATEST }}
|