@homebridge-plugins/homebridge-august 2.2.8-beta.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.
Files changed (64) hide show
  1. package/.eslintrc.json +86 -0
  2. package/.github/FUNDING.yml +4 -0
  3. package/.github/ISSUE_TEMPLATE/bug-report.yml +97 -0
  4. package/.github/ISSUE_TEMPLATE/config.yml +8 -0
  5. package/.github/ISSUE_TEMPLATE/feature-request.yml +38 -0
  6. package/.github/ISSUE_TEMPLATE/support-request.yml +85 -0
  7. package/.github/ISSUE_TEMPLATE.md +48 -0
  8. package/.github/PULL_REQUEST_TEMPLATE/pull_request.md +27 -0
  9. package/.github/dependabot.yml +17 -0
  10. package/.github/labeler.yml +38 -0
  11. package/.github/npm-version-script-esm.js +85 -0
  12. package/.github/workflows/beta-release.yml +55 -0
  13. package/.github/workflows/build.yml +18 -0
  14. package/.github/workflows/changerelease.yml +11 -0
  15. package/.github/workflows/labeler.yml +9 -0
  16. package/.github/workflows/release-drafter.yml +14 -0
  17. package/.github/workflows/release.yml +35 -0
  18. package/.github/workflows/stale.yml +12 -0
  19. package/CHANGELOG.md +197 -0
  20. package/LICENSE +14 -0
  21. package/README.md +45 -0
  22. package/SECURITY.md +19 -0
  23. package/branding/Homebridge_x_August.svg +32 -0
  24. package/branding/icon.png +0 -0
  25. package/config.schema.json +489 -0
  26. package/dist/devices/device.d.ts +55 -0
  27. package/dist/devices/device.d.ts.map +1 -0
  28. package/dist/devices/device.js +219 -0
  29. package/dist/devices/device.js.map +1 -0
  30. package/dist/devices/lock.d.ts +44 -0
  31. package/dist/devices/lock.d.ts.map +1 -0
  32. package/dist/devices/lock.js +353 -0
  33. package/dist/devices/lock.js.map +1 -0
  34. package/dist/homebridge-ui/public/index.html +203 -0
  35. package/dist/homebridge-ui/server.d.ts +2 -0
  36. package/dist/homebridge-ui/server.d.ts.map +1 -0
  37. package/dist/homebridge-ui/server.js +47 -0
  38. package/dist/homebridge-ui/server.js.map +1 -0
  39. package/dist/index.d.ts +4 -0
  40. package/dist/index.d.ts.map +1 -0
  41. package/dist/index.js +11 -0
  42. package/dist/index.js.map +1 -0
  43. package/dist/platform.d.ts +91 -0
  44. package/dist/platform.d.ts.map +1 -0
  45. package/dist/platform.js +481 -0
  46. package/dist/platform.js.map +1 -0
  47. package/dist/settings.d.ts +177 -0
  48. package/dist/settings.d.ts.map +1 -0
  49. package/dist/settings.js +9 -0
  50. package/dist/settings.js.map +1 -0
  51. package/docs/.nojekyll +1 -0
  52. package/docs/assets/highlight.css +22 -0
  53. package/docs/assets/icons.js +18 -0
  54. package/docs/assets/icons.svg +1 -0
  55. package/docs/assets/main.js +60 -0
  56. package/docs/assets/navigation.js +1 -0
  57. package/docs/assets/search.js +1 -0
  58. package/docs/assets/style.css +1493 -0
  59. package/docs/functions/default.html +1 -0
  60. package/docs/index.html +39 -0
  61. package/docs/modules.html +2 -0
  62. package/eslint.config.js +50 -0
  63. package/package.json +92 -0
  64. package/typedoc.json +17 -0
package/.eslintrc.json ADDED
@@ -0,0 +1,86 @@
1
+ {
2
+ "parser": "@typescript-eslint/parser",
3
+ "extends": [
4
+ "eslint:recommended",
5
+ "plugin:@typescript-eslint/eslint-recommended",
6
+ "plugin:@typescript-eslint/recommended" // uses the recommended rules from the @typescript-eslint/eslint-plugin
7
+ ],
8
+ "parserOptions": {
9
+ "ecmaVersion": 2021,
10
+ "sourceType": "module"
11
+ },
12
+ "ignorePatterns": [
13
+ "dist",
14
+ "server"
15
+ ],
16
+ "rules": {
17
+ "quotes": [
18
+ "warn",
19
+ "single"
20
+ ],
21
+ "indent": [
22
+ "warn",
23
+ 2,
24
+ {
25
+ "SwitchCase": 1
26
+ }
27
+ ],
28
+ "linebreak-style": [
29
+ "warn",
30
+ "unix"
31
+ ],
32
+ "semi": [
33
+ "warn",
34
+ "always"
35
+ ],
36
+ "comma-dangle": [
37
+ "warn",
38
+ "always-multiline"
39
+ ],
40
+ "dot-notation": "off",
41
+ "eqeqeq": "warn",
42
+ "curly": [
43
+ "warn",
44
+ "all"
45
+ ],
46
+ "brace-style": [
47
+ "warn"
48
+ ],
49
+ "prefer-arrow-callback": [
50
+ "warn"
51
+ ],
52
+ "max-len": [
53
+ "warn",
54
+ 150
55
+ ],
56
+ "no-console": [
57
+ "warn"
58
+ ], // use the provided Homebridge log method instead
59
+ "no-non-null-assertion": [
60
+ "off"
61
+ ],
62
+ "comma-spacing": [
63
+ "error"
64
+ ],
65
+ "no-multi-spaces": [
66
+ "warn",
67
+ {
68
+ "ignoreEOLComments": true
69
+ }
70
+ ],
71
+ "no-trailing-spaces": [
72
+ "warn"
73
+ ],
74
+ "lines-between-class-members": [
75
+ "warn",
76
+ "always",
77
+ {
78
+ "exceptAfterSingleLine": true
79
+ }
80
+ ],
81
+ "@typescript-eslint/explicit-function-return-type": "off",
82
+ "@typescript-eslint/no-non-null-assertion": "off",
83
+ "@typescript-eslint/explicit-module-boundary-types": "off",
84
+ "@typescript-eslint/no-explicit-any": "off"
85
+ }
86
+ }
@@ -0,0 +1,4 @@
1
+ # These are supported funding model platforms
2
+
3
+ github: donavanbecker
4
+ custom: paypal.me/DonavanBecker
@@ -0,0 +1,97 @@
1
+ name: Bug-Report
2
+ description: Report a Bug to help us improve
3
+ title: "Bug:"
4
+ labels: [bug]
5
+ assignees: 'donavanbecker'
6
+ body:
7
+ - type: markdown
8
+ attributes:
9
+ value: |
10
+ You must use the issue template below when submitting a bug.
11
+ - type: input
12
+ attributes:
13
+ label: Describe The Bug
14
+ placeholder: A clear and concise description of what the bug is.
15
+ validations:
16
+ required: true
17
+ - type: input
18
+ attributes:
19
+ label: To Reproduce
20
+ placeholder: Steps to reproduce the behavior.
21
+ validations:
22
+ required: true
23
+ - type: input
24
+ attributes:
25
+ label: Expected behavior
26
+ placeholder: A clear and concise description of what you expected to happen.
27
+ validations:
28
+ required: true
29
+ - type: textarea
30
+ id: Logs
31
+ attributes:
32
+ label: Relevant log output
33
+ placeholder: Bug reports that do not contain logs may be closed without warning. Show the Homebridge logs here. If using Homebridge Config-UI-X, you can easly download your log by visiting the log page on the UI and Clicking the Download Icon in the top right. Remove any sensitive information, such as your homebridge-august refreshToken. Please Turn on Debug Mode before submitting your Issue so more logs can be shared to fix the issue being submitted.
34
+ render: shell
35
+ validations:
36
+ required: true
37
+ - type: textarea
38
+ id: Config
39
+ attributes:
40
+ label: Config for homebridge-august
41
+ placeholder: Paste your homebridge config.json here. Remove any sensitive information, such as your homebridge-august consumerKey/ consumerSecret / refreshToken.
42
+ render: shell
43
+ validations:
44
+ required: true
45
+ - type: textarea
46
+ attributes:
47
+ label: Screenshots
48
+ description: If applicable add screenshots to help explain your problem.
49
+ placeholder: You can attach images or log files by clicking this area to highlight it and then dragging files in.
50
+ validations:
51
+ required: false
52
+ - type: input
53
+ attributes:
54
+ label: Device & Model
55
+ placeholder: If applicable, add screenshots to help explain your problem.
56
+ validations:
57
+ required: true
58
+ - type: markdown
59
+ attributes:
60
+ value: |
61
+ Environment
62
+ - type: input
63
+ attributes:
64
+ label: Node.js Version
65
+ placeholder: v14.17.6
66
+ validations:
67
+ required: true
68
+ - type: input
69
+ attributes:
70
+ label: NPM Version
71
+ placeholder: v7.22.0
72
+ validations:
73
+ required: true
74
+ - type: input
75
+ attributes:
76
+ label: Homebridge Version
77
+ placeholder: If applicable, add screenshots to help explain your problem.
78
+ validations:
79
+ required: true
80
+ - type: input
81
+ attributes:
82
+ label: Homebridge August Plugin Version
83
+ placeholder: v10.0.1
84
+ validations:
85
+ required: true
86
+ - type: input
87
+ attributes:
88
+ label: Homebridge Config UI X Plugin Version
89
+ placeholder: v4.41.2
90
+ validations:
91
+ required: false
92
+ - type: input
93
+ attributes:
94
+ label: Operating System
95
+ placeholder: Raspbian / Ubuntu / Debian / Windows / macOS / Docker
96
+ validations:
97
+ required: true
@@ -0,0 +1,8 @@
1
+ blank_issues_enabled: false
2
+ contact_links:
3
+ - name: Homebridge Discord Channel for August
4
+ url: https://discord.gg/8fpZA4S
5
+ about: Please ask and answer questions here.
6
+ - name: Homebridge-August - Pull Requests
7
+ url: https://github.com/homebridge-plugins/homebridge-august/pulls
8
+ about: Please report security vulnerabilities here.
@@ -0,0 +1,38 @@
1
+ name: Feature Request
2
+ description: Suggest an idea for this project
3
+ title: "Feature Request: "
4
+ labels: [enhancement]
5
+ assignees: 'donavanbecker'
6
+ body:
7
+ - type: markdown
8
+ attributes:
9
+ value: |
10
+ You must use the issue template below when submitting a feature request.
11
+ - type: markdown
12
+ attributes:
13
+ value: |
14
+ Is your feature request related to a problem? Please describe.
15
+ - type: input
16
+ attributes:
17
+ label: Problem
18
+ placeholder: A clear and concise description of what the problem is. Ex. I am always frustrated when [...]
19
+ validations:
20
+ required: false
21
+ - type: input
22
+ attributes:
23
+ label: Solution
24
+ placeholder: A clear and concise description of what you want to happen.
25
+ validations:
26
+ required: true
27
+ - type: input
28
+ attributes:
29
+ label: Alternatives
30
+ placeholder: A clear and concise description of any alternative solutions or features you have considered.
31
+ validations:
32
+ required: false
33
+ - type: input
34
+ attributes:
35
+ label: Additional context
36
+ placeholder: Add any other context or screenshots about the feature request here. Post device logs here.
37
+ validations:
38
+ required: false
@@ -0,0 +1,85 @@
1
+ name: Support Request
2
+ description: Need help?
3
+ title: "Support Request:"
4
+ labels: [question]
5
+ assignees: 'donavanbecker'
6
+ body:
7
+ - type: markdown
8
+ attributes:
9
+ value: |
10
+ You must use the issue template below when submitting a support request.
11
+ - type: input
12
+ attributes:
13
+ label: Describe Your Problem
14
+ placeholder: A clear and concise description of what problem you are trying to solve.
15
+ validations:
16
+ required: true
17
+ - type: textarea
18
+ id: Logs
19
+ attributes:
20
+ label: Relevant log output
21
+ placeholder: Bug reports that do not contain logs may be closed without warning. Show the Homebridge logs here. If using Homebridge Config-UI-X, you can easly download your log by visiting the log page on the UI and Clicking the Download Icon in the top right. Remove any sensitive information, such as your homebridge-august refreshToken. Please Turn on Debug Mode before submitting your Issue so more logs can be shared to fix the issue being submitted.
22
+ render: shell
23
+ validations:
24
+ required: false
25
+ - type: textarea
26
+ id: Config
27
+ attributes:
28
+ label: Config for homebridge-august
29
+ placeholder: Paste your homebridge config.json here. Remove any sensitive information, such as your homebridge-august consumerKey/ consumerSecret refreshToken.
30
+ render: shell
31
+ validations:
32
+ required: false
33
+ - type: textarea
34
+ attributes:
35
+ label: Screenshots
36
+ description: If applicable add screenshots to help explain your problem.
37
+ placeholder: You can attach images or log files by clicking this area to highlight it and then dragging files in.
38
+ validations:
39
+ required: false
40
+ - type: input
41
+ attributes:
42
+ label: Device & Model
43
+ placeholder: If applicable, add screenshots to help explain your problem.
44
+ validations:
45
+ required: true
46
+ - type: markdown
47
+ attributes:
48
+ value: |
49
+ Environment
50
+ - type: input
51
+ attributes:
52
+ label: Node.js Version
53
+ placeholder: v14.17.5
54
+ validations:
55
+ required: true
56
+ - type: input
57
+ attributes:
58
+ label: NPM Version
59
+ placeholder: v7.20.5
60
+ validations:
61
+ required: true
62
+ - type: input
63
+ attributes:
64
+ label: Homebridge Version
65
+ placeholder: If applicable, add screenshots to help explain your problem.
66
+ validations:
67
+ required: true
68
+ - type: input
69
+ attributes:
70
+ label: Homebridge August Plugin Version
71
+ placeholder: v10.0.1
72
+ validations:
73
+ required: true
74
+ - type: input
75
+ attributes:
76
+ label: Homebridge Config UI X Plugin Version
77
+ placeholder: v4.41.2
78
+ validations:
79
+ required: false
80
+ - type: input
81
+ attributes:
82
+ label: Operating System
83
+ placeholder: Raspbian / Ubuntu / Debian / Windows / macOS / Docker
84
+ validations:
85
+ required: true
@@ -0,0 +1,48 @@
1
+ ---
2
+ name: Bug Report
3
+ about: Create a report to help us improve
4
+ title: ''
5
+ labels: bug
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ <!-- You must use the issue template below when submitting a bug -->
11
+
12
+ **Describe The Bug:**
13
+ <!-- A clear and concise description of what the bug is. -->
14
+
15
+ **To Reproduce:**
16
+ <!-- Steps to reproduce the behavior. -->
17
+
18
+ **Expected behavior:**
19
+ <!-- A clear and concise description of what you expected to happen. -->
20
+
21
+ **Logs:**
22
+ <!-- Bug reports that do not contain logs may be closed without warning. -->
23
+
24
+ ```
25
+ Show the Homebridge / Homebridge Config UI X logs here.
26
+ ```
27
+
28
+ **Homebridge Config:**
29
+
30
+ ```json
31
+ Show your homebridge config.json here
32
+ ```
33
+
34
+ **Screenshots:**
35
+ <!-- If applicable, add screenshots to help explain your problem. -->
36
+
37
+ **Environment:**
38
+
39
+ * **Node.js Version**: <!-- node -v -->
40
+ * **NPM Version**: <!-- npm -v -->
41
+ * **Homebridge Version**: <!-- homebridge -V -->
42
+ * **Homebridge August Plugin Version**:
43
+ * **Homebridge Config UI X Version**:
44
+ * **Operating System**: Raspbian / Ubuntu / Debian / Windows / macOS / Docker
45
+ * **Process Supervisor**: Docker / Systemd / init.d / pm2 / launchctl / hb-service / other / none
46
+
47
+
48
+ <!-- Click the "Preview" tab before you submit to ensure the formatting is correct. -->
@@ -0,0 +1,27 @@
1
+ ---
2
+ name: Enhancement
3
+ about: Contribute to Plugin through Pull Request
4
+ title: ''
5
+ labels: 'enhancement'
6
+ assignees: 'donavanbecker'
7
+ ---
8
+
9
+ **Is your enhancement related to a problem? Please describe.**
10
+
11
+ <!-- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] -->
12
+
13
+ **Describe the solution you are addding**
14
+
15
+ <!-- A clear and concise description of what you want to happen. -->
16
+
17
+ **Changes Proposed in this Pull Request**
18
+
19
+ <!-- A clear and concise description of what is being changed. -->
20
+
21
+ **Describe alternatives you've considered**
22
+
23
+ <!-- A clear and concise description of any alternative solutions or features you've considered. -->
24
+
25
+ **Additional context**
26
+
27
+ <!-- Add any other context or screenshots about the feature request here. -->
@@ -0,0 +1,17 @@
1
+ # To get started with Dependabot version updates, you'll need to specify which
2
+ # package ecosystems to update and where the package manifests are located.
3
+ # Please see the documentation for all configuration options:
4
+ # https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5
+
6
+ version: 2
7
+ updates:
8
+ - package-ecosystem: 'npm' # See documentation for possible values
9
+ directory: '/' # Location of package manifests
10
+ target-branch: 'beta-*.*.*'
11
+ schedule:
12
+ interval: 'daily'
13
+ - package-ecosystem: 'github-actions' # See documentation for possible values
14
+ directory: '/' # Location of package manifests
15
+ target-branch: 'beta-*.*.*'
16
+ schedule:
17
+ interval: 'daily'
@@ -0,0 +1,38 @@
1
+ # Add 'branding' label to any changes within 'docs' folder or any subfolders
2
+ branding:
3
+ - changed-files:
4
+ - any-glob-to-any-file: branding/**
5
+
6
+ # Add 'docs' label to any change to .md files within the entire repository
7
+ docs:
8
+ - changed-files:
9
+ - any-glob-to-any-file: '**/*.md'
10
+
11
+ # Add 'enhancement' label to any change to src files within the source dir EXCEPT for the docs sub-folder
12
+ enhancement:
13
+ - changed-files:
14
+ - any-glob-to-any-file: 'src/**/*'
15
+ - any-glob-to-any-file: 'config.schema.json'
16
+
17
+ # Add 'dependencies' label to any change to src files within the source dir EXCEPT for the docs sub-folder
18
+ dependencies:
19
+ - changed-files:
20
+ - any-glob-to-any-file: 'package.json'
21
+ - any-glob-to-any-file: 'package-lock.json'
22
+
23
+ # Add 'beta' label to any PR that is opened against the `beta` branch
24
+ beta:
25
+ - base-branch: 'beta*'
26
+
27
+ # Add 'alpha' label to any PR that is opened against the `alpha` branch
28
+ alpha:
29
+ - base-branch: 'alpha*'
30
+
31
+ # Add 'latest' label to any PR that is opened against the `latest` branch
32
+ latest:
33
+ - base-branch: 'latest'
34
+
35
+ # Add 'workflow' to any changes within 'workflow' folder or any subfolders
36
+ workflow:
37
+ - changed-files:
38
+ - any-glob-to-any-file: .github/**
@@ -0,0 +1,85 @@
1
+ #!/bin/env node
2
+
3
+ /**
4
+ * This scripts queries the npm registry to pull out the latest version for a given tag.
5
+ */
6
+
7
+ import assert from 'node:assert'
8
+ import child_process from 'node:child_process'
9
+ import fs from 'node:fs'
10
+ import process from 'node:process'
11
+
12
+ import semver from 'semver'
13
+
14
+ const BRANCH_VERSION_PATTERN = /^([A-Z]+)-(\d+\.\d+\.\d+)$/i
15
+
16
+ // Load the contents of the package.json file
17
+ const packageJSON = JSON.parse(fs.readFileSync('package.json', 'utf8'))
18
+
19
+ const refArgument = process.argv[2]
20
+ const tagArgument = process.argv[3] || 'latest'
21
+
22
+ if (refArgument === null) {
23
+ console.error('ref argument is missing')
24
+ console.error('Usage: npm-version-script-esm.js <ref> [tag]')
25
+ process.exit(1)
26
+ }
27
+
28
+ /**
29
+ * Queries the NPM registry for the latest version for the provided tag.
30
+ * @param tag The tag to query for.
31
+ * @returns {string} Returns the version.
32
+ */
33
+ function getTagVersionFromNpm(tag) {
34
+ try {
35
+ return child_process.execSync(`npm info ${packageJSON.name} version --tag="${tag}"`).toString('utf8').trim()
36
+ } catch (e) {
37
+ console.error(`Failed to query the npm registry for the latest version for tag: ${tag}`)
38
+ // throw e;
39
+ return '0.0.0'
40
+ }
41
+ }
42
+
43
+ function desiredTargetVersion(ref) {
44
+ // ref is a GitHub action ref string
45
+ if (ref.startsWith('refs/pull/')) {
46
+ throw new Error('The version script was executed inside a PR!')
47
+ }
48
+
49
+ assert(ref.startsWith('refs/heads/'))
50
+ const branchName = ref.slice('refs/heads/'.length)
51
+
52
+ const results = branchName.match(BRANCH_VERSION_PATTERN)
53
+ if (results !== null) {
54
+ if (results[1] !== tagArgument) {
55
+ console.warn(`The base branch name (${results[1]}) differs from the tag name ${tagArgument}`)
56
+ }
57
+
58
+ return results[2]
59
+ }
60
+
61
+ throw new Error(`Malformed branch name for ref: ${ref}. Can't derive the base version. Use a branch name like: beta-x.x.x or alpha-x.x.x`)
62
+ }
63
+
64
+ // derive the base version from the branch ref
65
+ const baseVersion = desiredTargetVersion(refArgument)
66
+
67
+ // query the npm registry for the latest version of the provided tag name
68
+ const latestReleasedVersion = getTagVersionFromNpm(tagArgument) // e.g. 0.7.0-beta.12
69
+ const latestReleaseBase = semver.inc(latestReleasedVersion, 'patch') // will produce 0.7.0 (removing the preid, needed for the equality check below)
70
+
71
+ let publishTag
72
+ if (semver.eq(baseVersion, latestReleaseBase)) { // check if we are releasing another version for the latest beta or alpha
73
+ publishTag = latestReleasedVersion // set the current latest beta or alpha to be incremented
74
+ } else {
75
+ publishTag = baseVersion // start of with a new beta or alpha version
76
+ }
77
+
78
+ // save the package.json
79
+ packageJSON.version = publishTag
80
+ fs.writeFileSync('package.json', JSON.stringify(packageJSON, null, 2))
81
+
82
+ // perform the same change to the package-lock.json
83
+ const packageLockJSON = JSON.parse(fs.readFileSync('package-lock.json', 'utf8'))
84
+ packageLockJSON.version = publishTag
85
+ fs.writeFileSync('package-lock.json', JSON.stringify(packageLockJSON, null, 2))
@@ -0,0 +1,55 @@
1
+ name: Beta Release
2
+
3
+ on:
4
+ push:
5
+ branches: [beta-*.*.*, beta]
6
+ workflow_dispatch:
7
+
8
+ jobs:
9
+ build_and_test:
10
+ uses: homebridge/.github/.github/workflows/nodejs-build-and-test.yml@latest
11
+ with:
12
+ enable_coverage: false
13
+ secrets:
14
+ token: ${{ secrets.GITHUB_TOKEN }}
15
+ lint:
16
+ needs: build_and_test
17
+ uses: homebridge/.github/.github/workflows/eslint.yml@latest
18
+
19
+ publish:
20
+ needs: lint
21
+ if: ${{ github.repository == 'homebridge-plugins/homebridge-august' }}
22
+ permissions:
23
+ id-token: write
24
+ uses: homebridge/.github/.github/workflows/npm-publish-esm.yml@latest
25
+ with:
26
+ tag: 'beta'
27
+ dynamically_adjust_version: true
28
+ npm_version_command: 'pre'
29
+ pre_id: 'beta'
30
+ secrets:
31
+ npm_auth_token: ${{ secrets.npm_token }}
32
+
33
+ pre-release:
34
+ needs: publish
35
+ if: ${{ github.repository == 'homebridge-plugins/homebridge-august' }}
36
+ uses: homebridge/.github/.github/workflows/pre-release.yml@latest
37
+ with:
38
+ npm_version: ${{ needs.publish.outputs.NPM_VERSION }}
39
+ body: |
40
+ **Beta Release**
41
+ **Version**: v${{ needs.publish.outputs.NPM_VERSION }}
42
+ [How To Test Beta Releases](https://github.com/homebridge-plugins/homebridge-august/wiki/Beta-Version)
43
+
44
+ github-releases-to-discord:
45
+ name: Discord Webhooks
46
+ needs: [build_and_test,publish]
47
+ if: ${{ github.repository == 'homebridge-plugins/homebridge-august' }}
48
+ uses: homebridge/.github/.github/workflows/discord-webhooks.yml@latest
49
+ with:
50
+ title: "August Beta Release"
51
+ description: |
52
+ Version `v${{ needs.publish.outputs.NPM_VERSION }}`
53
+ url: "https://github.com/homebridge-plugins/homebridge-august/releases/tag/v${{ needs.publish.outputs.NPM_VERSION }}"
54
+ secrets:
55
+ DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK_URL_BETA || secrets.DISCORD_WEBHOOK_URL_LATEST }}
@@ -0,0 +1,18 @@
1
+ name: Node Build
2
+
3
+ on:
4
+ push:
5
+ branches: [latest]
6
+ pull_request:
7
+ workflow_dispatch:
8
+
9
+ jobs:
10
+ build_and_test:
11
+ uses: homebridge/.github/.github/workflows/nodejs-build-and-test.yml@latest
12
+ with:
13
+ enable_coverage: false
14
+ secrets:
15
+ token: ${{ secrets.GITHUB_TOKEN }}
16
+ lint:
17
+ needs: build_and_test
18
+ uses: homebridge/.github/.github/workflows/eslint.yml@latest
@@ -0,0 +1,11 @@
1
+ name: Changelog to Release
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+
7
+ jobs:
8
+ changerelease:
9
+ uses: homebridge/.github/.github/workflows/change-release.yml@latest
10
+ secrets:
11
+ token: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1,9 @@
1
+ name: Labeler
2
+
3
+ on: [pull_request]
4
+
5
+ jobs:
6
+ labeler:
7
+ uses: homebridge/.github/.github/workflows/labeler.yml@latest
8
+ secrets:
9
+ token: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1,14 @@
1
+ name: Release Drafter
2
+
3
+ on:
4
+ push:
5
+ branches: [latest]
6
+ pull_request: # required for autolabeler
7
+ types: [opened, reopened, synchronize]
8
+ workflow_dispatch:
9
+
10
+ jobs:
11
+ release-drafter:
12
+ uses: homebridge/.github/.github/workflows/release-drafter.yml@latest
13
+ secrets:
14
+ token: ${{ secrets.GITHUB_TOKEN }}