Compare commits

...

53 Commits

Author SHA1 Message Date
Gautham Varma K 6c0b81ff4e 💚 Fix CI 2021-11-02 19:57:16 +05:30
Gautham Varma K c8e54c49ed 💚 Satisfy YAMLLint 2021-11-02 19:32:58 +05:30
GauthamVarmaK 8940d5f907 Prettified Code! 2021-11-02 13:54:49 +00:00
Gautham Varma K 28fce7e021 🎨 Migrate JSON add-on config to YAML 2021-11-02 19:24:13 +05:30
Gautham Varma K 855210ce59 👷 Update CI
- Switch to centralized GitHub Action Workflows provided by Hassio Community Addons, while utilizing customized ones where needed.
- Clean Up of Unused workflow files.
2021-11-02 19:18:51 +05:30
dependabot[bot] 726660d912 ⬆️ Bump frenck/action-addon-information from 1.2 to 1.3 (#48)
Bumps [frenck/action-addon-information](https://github.com/frenck/action-addon-information) from 1.2 to 1.3.
- [Release notes](https://github.com/frenck/action-addon-information/releases)
- [Commits](https://github.com/frenck/action-addon-information/compare/v1.2...v1.3)

---
updated-dependencies:
- dependency-name: frenck/action-addon-information
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-02 16:04:42 +05:30
dependabot[bot] 0a9eea8a02 ⬆️ Bump frenck/action-addon-linter from 2.4 to 2.5 (#47)
Bumps [frenck/action-addon-linter](https://github.com/frenck/action-addon-linter) from 2.4 to 2.5.
- [Release notes](https://github.com/frenck/action-addon-linter/releases)
- [Commits](https://github.com/frenck/action-addon-linter/compare/v2.4...v2.5)

---
updated-dependencies:
- dependency-name: frenck/action-addon-linter
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-02 16:04:32 +05:30
Gautham Varma K ad15387af1 Revert "⬆️ Bump python from 3.9.5-r1 to 3.9.7-r3"
This reverts commit c6a8144a2c.
2021-11-01 16:22:51 +05:30
Gautham Varma K c6a8144a2c ⬆️ Bump python from 3.9.5-r1 to 3.9.7-r3 2021-11-01 16:19:50 +05:30
Gautham Varma K 2a78c33704 ⬆️ Bump Base image from 10.0.2 to 10.1.1 2021-11-01 16:19:08 +05:30
GauthamVarmaK 137d42d9e2 Prettified Code! 2021-11-01 10:27:39 +00:00
Gautham Varma K 9b67bf3a4f 💚 Satisfy Markdown Lint 2021-11-01 15:57:23 +05:30
GauthamVarmaK 43e0df26b6 Prettified Code! 2021-11-01 10:22:35 +00:00
Gautham Varma K de368ae5b3 🔌 Explicitly Mount /dev/dvb/ and /dev/dri/ instead of mapping raw USB Access
Potential fix for: #45 and #32
2021-11-01 15:52:14 +05:30
dependabot[bot] a86e6beed3 ⬆️ Bump setuptools from 58.3.0 to 58.4.0 in /tvheadend (#46)
Bumps [setuptools](https://github.com/pypa/setuptools) from 58.3.0 to 58.4.0.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/CHANGES.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v58.3.0...v58.4.0)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-01 15:39:58 +05:30
dependabot[bot] 9cfeae936b ⬆️ Bump setuptools from 58.2.0 to 58.3.0 in /tvheadend (#44)
Bumps [setuptools](https://github.com/pypa/setuptools) from 58.2.0 to 58.3.0.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/CHANGES.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v58.2.0...v58.3.0)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-26 20:32:59 +05:30
dependabot[bot] 1a70f72659 ⬆️ Bump actions/checkout from 2.3.4 to 2.3.5 (#43)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2.3.4 to 2.3.5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2.3.4...v2.3.5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-18 17:58:16 +05:30
Gautham Varma K 8385c01e5b 🔗 Update HA Repo Link in Addon Docs
Fixes: https://github.com/GauthamVarmaK/addon-tvheadend/issues/42
2021-10-17 16:29:14 +05:30
dependabot[bot] 8d71c88660 ⬆️ Bump setuptools from 58.1.0 to 58.2.0 in /tvheadend (#41)
Bumps [setuptools](https://github.com/pypa/setuptools) from 58.1.0 to 58.2.0.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/CHANGES.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v58.1.0...v58.2.0)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-06 17:23:10 +05:30
dependabot[bot] 29b77372d6 ⬆️ Bump dessant/lock-threads from 2.1.2 to 3 (#40)
Bumps [dessant/lock-threads](https://github.com/dessant/lock-threads) from 2.1.2 to 3.
- [Release notes](https://github.com/dessant/lock-threads/releases)
- [Changelog](https://github.com/dessant/lock-threads/blob/master/CHANGELOG.md)
- [Commits](https://github.com/dessant/lock-threads/compare/v2.1.2...v3)

---
updated-dependencies:
- dependency-name: dessant/lock-threads
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-28 19:10:16 +05:30
dependabot[bot] 222d7d8492 ⬆️ Bump frenck/action-addon-linter from 2.3 to 2.4 (#39)
Bumps [frenck/action-addon-linter](https://github.com/frenck/action-addon-linter) from 2.3 to 2.4.
- [Release notes](https://github.com/frenck/action-addon-linter/releases)
- [Commits](https://github.com/frenck/action-addon-linter/compare/v2.3...v2.4)

---
updated-dependencies:
- dependency-name: frenck/action-addon-linter
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-28 19:09:58 +05:30
GauthamVarmaK c6fa44a682 Prettified Code! 2021-09-23 02:34:45 +00:00
Gautham Varma K 99cc3bef48 💚 Fix CI 2021-09-23 08:04:26 +05:30
dependabot[bot] 7cff9c54f1 ⬆️ Bump setuptools from 58.0.4 to 58.1.0 in /tvheadend (#38)
Bumps [setuptools](https://github.com/pypa/setuptools) from 58.0.4 to 58.1.0.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/CHANGES.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v58.0.4...v58.1.0)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-22 21:37:57 +05:30
GauthamVarmaK a07a79deb8 Prettified Code! 2021-09-18 06:43:41 +00:00
Gautham Varma K cdb84b28ce 📝 Document Config Options 2021-09-18 12:13:22 +05:30
Gautham Varma K 9f554c7359 📝 Improve Docs 2021-09-18 11:32:38 +05:30
Gautham Varma K ca396a2cda 🔧 Remove startup from addon config 2021-09-09 14:25:38 +05:30
dependabot[bot] 0cef0e84da ⬆️ Bump setuptools from 58.0.3 to 58.0.4 in /tvheadend (#37)
Bumps [setuptools](https://github.com/pypa/setuptools) from 58.0.3 to 58.0.4.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/CHANGES.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v58.0.3...v58.0.4)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-09 14:20:46 +05:30
GauthamVarmaK 18b8e3a3eb Prettified Code! 2021-09-09 08:50:30 +00:00
Gautham Varma K 0746681000 Add Raw USB Mapping 2021-09-09 14:19:58 +05:30
Gautham Varma K 1afe905387 🔨 Rewrite Add-on to make use of S6 (#36)
Restructuring of the addon to make use of the S6 overlay to make it more robust.
2021-09-09 07:05:33 +05:30
Gautham Varma K 8a0d2dbfdc ⬆️ Bump Base image from 10.0.1 to 10.0.2 (#35) 2021-09-08 20:11:20 +05:30
dependabot[bot] 1759409468 ⬆️ Bump creyD/prettier_action from 3.3 to 4.0 (#34)
Bumps [creyD/prettier_action](https://github.com/creyD/prettier_action) from 3.3 to 4.0.
- [Release notes](https://github.com/creyD/prettier_action/releases)
- [Commits](https://github.com/creyD/prettier_action/compare/v3.3...v4.0)

---
updated-dependencies:
- dependency-name: creyD/prettier_action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-08 20:07:09 +05:30
dependabot[bot] 7a31451c90 ⬆️ Bump docker/setup-buildx-action from 1.5.1 to 1.6.0 (#33)
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 1.5.1 to 1.6.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v1.5.1...v1.6.0)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-08 20:06:55 +05:30
dependabot[bot] 3b5abde681 ⬆️ Bump frenck/action-addon-linter from 2.2 to 2.3 (#31)
Bumps [frenck/action-addon-linter](https://github.com/frenck/action-addon-linter) from 2.2 to 2.3.
- [Release notes](https://github.com/frenck/action-addon-linter/releases)
- [Commits](https://github.com/frenck/action-addon-linter/compare/v2.2...v2.3)

---
updated-dependencies:
- dependency-name: frenck/action-addon-linter
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-26 12:34:17 +05:30
dependabot[bot] e9adc7135d ⬆️ Bump docker/build-push-action from 2.6.1 to 2.7.0 (#30)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 2.6.1 to 2.7.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v2.6.1...v2.7.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-23 11:44:32 +05:30
Gautham Varma K 04a80b4138 🔨 Implement OCI image specification on labels 2021-08-21 09:52:56 +05:30
dependabot[bot] 65d970de45 ⬆️ Bump dessant/lock-threads from 2.1.1 to 2.1.2 (#28)
Bumps [dessant/lock-threads](https://github.com/dessant/lock-threads) from 2.1.1 to 2.1.2.
- [Release notes](https://github.com/dessant/lock-threads/releases)
- [Changelog](https://github.com/dessant/lock-threads/blob/master/CHANGELOG.md)
- [Commits](https://github.com/dessant/lock-threads/compare/v2.1.1...v2.1.2)

---
updated-dependencies:
- dependency-name: dessant/lock-threads
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-18 12:46:40 +05:30
Gautham Varma K afc785ba22 ⬆️ Bump Base image from 10.0.0 to 10.0.1 (#27) 2021-08-12 10:06:06 +05:30
Gautham Varma K c204f8b737 ⬆️ Bump WebGrabplus from 3.1.0 to 3.2.0 (#26)
* ⬆️ Bump WebGrabPlus from v3.1.0 to v3.2.0
* 🔧 Fix small bug during installation
2021-08-12 09:55:10 +05:30
Gautham Varma K e25a063e5d 🚀 Add-on CI improvements 2021-08-12 08:53:57 +05:30
dependabot[bot] af4d8971df Bump frenck/action-addon-linter from 2.1 to 2.2 (#25)
Bumps [frenck/action-addon-linter](https://github.com/frenck/action-addon-linter) from 2.1 to 2.2.
- [Release notes](https://github.com/frenck/action-addon-linter/releases)
- [Commits](https://github.com/frenck/action-addon-linter/compare/v2.1...v2.2)

---
updated-dependencies:
- dependency-name: frenck/action-addon-linter
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-07-15 13:56:18 +05:30
dependabot[bot] 8e156d8b5c Bump actions/stale from 3.0.19 to 4 (#24)
Bumps [actions/stale](https://github.com/actions/stale) from 3.0.19 to 4.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v3.0.19...v4)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-07-15 13:56:08 +05:30
dependabot[bot] cb12a29980 Bump docker/setup-buildx-action from 1.5.0 to 1.5.1 (#23)
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 1.5.0 to 1.5.1.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v1.5.0...v1.5.1)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-07-13 18:47:46 +05:30
dependabot[bot] 6176220846 Bump dessant/lock-threads from 2.0.3 to 2.1.1 (#22)
Bumps [dessant/lock-threads](https://github.com/dessant/lock-threads) from 2.0.3 to 2.1.1.
- [Release notes](https://github.com/dessant/lock-threads/releases)
- [Changelog](https://github.com/dessant/lock-threads/blob/master/CHANGELOG.md)
- [Commits](https://github.com/dessant/lock-threads/compare/v2.0.3...v2.1.1)

---
updated-dependencies:
- dependency-name: dessant/lock-threads
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-07-12 11:48:52 +05:30
dependabot[bot] 2a23ac0f40 Bump docker/setup-buildx-action from 1.4.1 to 1.5.0 (#21)
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 1.4.1 to 1.5.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v1.4.1...v1.5.0)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-07-05 12:25:35 +05:30
dependabot[bot] 9847cb9328 Bump docker/build-push-action from 2.5.0 to 2.6.1 (#20)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 2.5.0 to 2.6.1.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v2.5.0...v2.6.1)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-07-03 19:23:24 +05:30
dependabot[bot] 219e5675d9 Bump docker/setup-buildx-action from 1.3.0 to 1.4.1 (#19)
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 1.3.0 to 1.4.1.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v1.3.0...v1.4.1)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-30 11:41:44 +05:30
dependabot[bot] dc1ff6e390 Bump docker/login-action from 1.9.0 to 1.10.0 (#18)
Bumps [docker/login-action](https://github.com/docker/login-action) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v1.9.0...v1.10.0)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-06-24 12:15:38 +05:30
Gautham Varma K 4454d54ed0 Bump Base Image form 9.2.2 to 10.0.0 (#17)
Bumps Base Image form 9.2.2 to 10.0.0
2021-06-23 11:05:13 +05:30
Gautham Varma K bf6bd43f48 Improve build scripts (#16)
* Better handle installation requirements

* Install TVHeadend from edge repos

* Refactor Build Script

* Try installing a different git version

* Pin to Specific Versions of musl and gcc

To fix build CI

* Bump base images properly

* Prettified Code!

* Remove git and mono pinned to a specific version

Co-authored-by: GauthamVarmaK <GauthamVarmaK@users.noreply.github.com>
2021-06-19 11:40:04 +05:30
Gautham Varma K ade2f59ae1 Bump Base Image from 9.2.0 to 9.2.2 (#15)
* Bump Base Image from 9.2.0 to 9.2.2

* Bump git from 2.31.1-r1 to 2.32.0-r0

* Upgrade Dependencies before installing Streamlink

To try fix cyclic dependency version issues when installing musl and gcc

* Revert "Upgrade Dependencies before installing Streamlink"

This reverts commit e4f8604931.
2021-06-19 10:02:44 +05:30
30 changed files with 520 additions and 378 deletions
+1
View File
@@ -0,0 +1 @@
.github/* @GauthamVarmaK
+132
View File
@@ -0,0 +1,132 @@
# Contributor Covenant Code of Conduct
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for our
community include:
- Demonstrating empathy and kindness toward other people
- Being respectful of differing opinions, viewpoints, and experiences
- Giving and gracefully accepting constructive feedback
- Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
- Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
- The use of sexualized language or imagery, and sexual attention or
advances of any kind
- Trolling, insulting or derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or email
address, without their explicit permission
- Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement.
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series
of actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within
the community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
[https://www.contributor-covenant.org/version/2/0/code_of_conduct.html][v2.0].
Community Impact Guidelines were inspired by
[Mozilla's code of conduct enforcement ladder][mozilla coc].
For answers to common questions about this code of conduct, see the FAQ at
[https://www.contributor-covenant.org/faq][faq]. Translations are available
at [https://www.contributor-covenant.org/translations][translations].
[homepage]: https://www.contributor-covenant.org
[v2.0]: https://www.contributor-covenant.org/version/2/0/code_of_conduct.html
[mozilla coc]: https://github.com/mozilla/diversity
[faq]: https://www.contributor-covenant.org/faq
[translations]: https://www.contributor-covenant.org/translations
+2 -2
View File
@@ -4,8 +4,8 @@ When contributing to this repository, please first discuss the change you wish
to make via issue, email, or any other method with the owners of this repository to make via issue, email, or any other method with the owners of this repository
before making a change. before making a change.
Please note we have a code of conduct, please follow it in all your interactions Please note we have a [code of conduct](CODE_OF_CONDUCT.md), please follow
with the project. it in all your interactions with the project.
## Issues and feature requests ## Issues and feature requests
+20
View File
@@ -0,0 +1,20 @@
# Problem/Motivation
> (Why the issue was filed)
## Expected behavior
> (What you expected to happen)
## Actual behavior
> (What actually happened)
## Steps to reproduce
> (How can someone else make/see it happen)
## Proposed changes
> (If you have a proposed change, workaround or fix,
> describe the rationale behind it)
+9
View File
@@ -0,0 +1,9 @@
# Proposed Changes
> (Describe the changes and rationale behind them)
## Related Issues
> ([Github link][autolink-references] to related issues or pull requests)
[autolink-references]: https://help.github.com/articles/autolinked-references-and-urls/
+5
View File
@@ -6,3 +6,8 @@ updates:
schedule: schedule:
interval: daily interval: daily
time: "06:00" time: "06:00"
- package-ecosystem: "pip"
directory: "/tvheadend/"
schedule:
interval: daily
time: "06:00"
-85
View File
@@ -1,85 +0,0 @@
---
- name: "breaking-change"
color: ee0701
description: "A breaking change for existing users."
- name: "bugfix"
color: ee0701
description: "Inconsistencies or issues which will cause a problem for users or implementors."
- name: "documentation"
color: 0052cc
description: "Solely about the documentation of the project."
- name: "enhancement"
color: 1d76db
description: "Enhancement of the code, not introducing new features."
- name: "refactor"
color: 1d76db
description: "Improvement of existing code, not introducing new features."
- name: "performance"
color: 1d76db
description: "Improving performance, not introducing new features."
- name: "new-feature"
color: 0e8a16
description: "New features or options."
- name: "maintenance"
color: 2af79e
description: "Generic maintenance tasks."
- name: "ci"
color: 1d76db
description: "Work that improves the continue integration."
- name: "dependencies"
color: 1d76db
description: "Upgrade or downgrade of project dependencies."
- name: "in-progress"
color: fbca04
description: "Issue is currently being resolved by a developer."
- name: "stale"
color: fef2c0
description: "There has not been activity on this issue or PR for quite some time."
- name: "no-stale"
color: fef2c0
description: "This issue or PR is exempted from the stable bot."
- name: "security"
color: ee0701
description: "Marks a security issue that needs to be resolved asap."
- name: "incomplete"
color: fef2c0
description: "Marks a PR or issue that is missing information."
- name: "invalid"
color: fef2c0
description: "Marks a PR or issue that is missing information."
- name: "beginner-friendly"
color: 0e8a16
description: "Good first issue for people wanting to contribute to the project."
- name: "help-wanted"
color: 0e8a16
description: "We need some extra helping hands or expertise in order to resolve this."
- name: "hacktoberfest"
description: "Issues/PRs are participating in the Hacktoberfest."
color: fbca04
- name: "hacktoberfest-accepted"
description: "Issues/PRs are participating in the Hacktoberfest."
color: fbca04
- name: "priority-critical"
color: ee0701
description: "This should be dealt with ASAP. Not fixing this issue would be a serious error."
- name: "priority-high"
color: b60205
description: "After critical issues are fixed, these should be dealt with before any further issues."
- name: "priority-medium"
color: 0e8a16
description: "This issue may be useful, and needs some attention."
- name: "priority-low"
color: e4ea8a
description: "Nice addition, maybe... someday..."
- name: "major"
color: b60205
description: "This PR causes a major version bump in the version number."
- name: "minor"
color: 0e8a16
description: "This PR causes a minor version bump in the version number."
+26 -33
View File
@@ -24,10 +24,10 @@ jobs:
target: ${{ steps.information.outputs.target }} target: ${{ steps.information.outputs.target }}
steps: steps:
- name: ⤵️ Check out code from GitHub - name: ⤵️ Check out code from GitHub
uses: actions/checkout@v2.3.4 uses: actions/checkout@v2.3.5
- name: 🚀 Run add-on information action - name: 🚀 Run add-on information action
id: information id: information
uses: frenck/action-addon-information@v1.2 uses: frenck/action-addon-information@v1.3
lint-addon: lint-addon:
name: Lint Add-on name: Lint Add-on
@@ -36,9 +36,9 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: ⤵️ Check out code from GitHub - name: ⤵️ Check out code from GitHub
uses: actions/checkout@v2.3.4 uses: actions/checkout@v2.3.5
- name: 🚀 Run Add-on Lint - name: 🚀 Run Add-on Lint
uses: frenck/action-addon-linter@v2.1 uses: frenck/action-addon-linter@v2.5
with: with:
community: true community: true
path: "./${{ needs.information.outputs.target }}" path: "./${{ needs.information.outputs.target }}"
@@ -50,7 +50,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: ⤵️ Check out code from GitHub - name: ⤵️ Check out code from GitHub
uses: actions/checkout@v2.3.4 uses: actions/checkout@v2.3.5
- name: 🚀 Run Hadolint - name: 🚀 Run Hadolint
uses: brpaz/hadolint-action@v1.5.0 uses: brpaz/hadolint-action@v1.5.0
with: with:
@@ -61,7 +61,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: ⤵️ Check out code from GitHub - name: ⤵️ Check out code from GitHub
uses: actions/checkout@v2.3.4 uses: actions/checkout@v2.3.5
- name: 🚀 Run JQ - name: 🚀 Run JQ
run: | run: |
shopt -s globstar shopt -s globstar
@@ -72,7 +72,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: ⤵️ Check out code from GitHub - name: ⤵️ Check out code from GitHub
uses: actions/checkout@v2.3.4 uses: actions/checkout@v2.3.5
- name: 🚀 Run mdl - name: 🚀 Run mdl
uses: actionshub/markdownlint@2.0.2 uses: actionshub/markdownlint@2.0.2
@@ -81,7 +81,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: ⤵️ Check out code from GitHub - name: ⤵️ Check out code from GitHub
uses: actions/checkout@v2.3.4 uses: actions/checkout@v2.3.5
- name: 🚀 Run Shellcheck - name: 🚀 Run Shellcheck
uses: ludeeus/action-shellcheck@1.1.0 uses: ludeeus/action-shellcheck@1.1.0
env: env:
@@ -92,7 +92,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: ⤵️ Check out code from GitHub - name: ⤵️ Check out code from GitHub
uses: actions/checkout@v2.3.4 uses: actions/checkout@v2.3.5
- name: 🚀 Run YAMLLint - name: 🚀 Run YAMLLint
uses: frenck/action-yamllint@v1.1 uses: frenck/action-yamllint@v1.1
@@ -101,9 +101,9 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: ⤵️ Check out code from GitHub - name: ⤵️ Check out code from GitHub
uses: actions/checkout@v2.3.4 uses: actions/checkout@v2.3.5
- name: 🚀 Run Prettier - name: 🚀 Run Prettier
uses: creyD/prettier_action@v3.3 uses: creyD/prettier_action@v4.0
with: with:
prettier_options: --write **/*.{json,js,md,yaml} prettier_options: --write **/*.{json,js,md,yaml}
env: env:
@@ -126,28 +126,24 @@ jobs:
architecture: ${{ fromJson(needs.information.outputs.architectures) }} architecture: ${{ fromJson(needs.information.outputs.architectures) }}
steps: steps:
- name: ⤵️ Check out code from GitHub - name: ⤵️ Check out code from GitHub
uses: actions/checkout@v2.3.4 uses: actions/checkout@v2.3.5
- name: 🏗 Set up build cache - name: 🏗 Set up build cache
id: cache id: cache
uses: actions/cache@v2.1.6 uses: actions/cache@v2.1.6
with: with:
path: /tmp/.docker-cache path: /tmp/.docker-cache
key: key: docker-${{ matrix.architecture }}-${{ github.sha }}
docker-${{ github.ref }}-${{ matrix.architecture }}-${{ github.sha
}}
restore-keys: | restore-keys: |
docker-${{ github.ref }}-${{ matrix.architecture }} docker-${{ matrix.architecture }}
- name: 🏗 Set up QEMU - name: 🏗 Set up QEMU
uses: docker/setup-qemu-action@v1.2.0 uses: docker/setup-qemu-action@v1.2.0
- name: 🏗 Set up Docker Buildx - name: 🏗 Set up Docker Buildx
uses: docker/setup-buildx-action@v1.3.0 uses: docker/setup-buildx-action@v1.6.0
- name: 🏗 Set up CodeNotary
run: bash <(curl https://getvcn.codenotary.com -L)
- name: ️ Compose build flags - name: ️ Compose build flags
id: flags id: flags
run: | run: |
echo "::set-output name=date::$(date +"%Y-%m-%dT%H:%M:%SZ")" echo "::set-output name=date::$(date +"%Y-%m-%dT%H:%M:%SZ")"
from=$(jq --raw-output ".build_from.${{ matrix.architecture }}" "${{ needs.information.outputs.build }}") from=$(yq --no-colors eval ".build_from.${{ matrix.architecture }}" "${{ needs.information.outputs.build }}")
echo "::set-output name=from::${from}" echo "::set-output name=from::${from}"
if [[ "${{ matrix.architecture}}" = "amd64" ]]; then if [[ "${{ matrix.architecture}}" = "amd64" ]]; then
@@ -166,19 +162,8 @@ jobs:
fi fi
- name: ⤵️ Download base image - name: ⤵️ Download base image
run: docker pull "${{ steps.flags.outputs.from }}" run: docker pull "${{ steps.flags.outputs.from }}"
- name: ✅ Verify authenticity of base image
run: |
vcn authenticate \
"docker://${{ steps.flags.outputs.from }}"
vcn authenticate \
--output json \
--signerID 0x03e406879fd89e52f38f4aab0061266d1183980a \
"docker://${{ steps.flags.outputs.from }}" \
| jq \
--exit-status \
'.verification.status == 0'
- name: 🚀 Build - name: 🚀 Build
uses: docker/build-push-action@v2.5.0 uses: docker/build-push-action@v2.7.0
with: with:
push: false push: false
context: ${{ needs.information.outputs.target }} context: ${{ needs.information.outputs.target }}
@@ -186,7 +171,7 @@ jobs:
cache-from: | cache-from: |
type=local,src=/tmp/.docker-cache type=local,src=/tmp/.docker-cache
ghcr.io/gauthamvarmak/${{ needs.information.outputs.slug }}/${{ matrix.architecture }}:edge ghcr.io/gauthamvarmak/${{ needs.information.outputs.slug }}/${{ matrix.architecture }}:edge
cache-to: type=local,mode=max,dest=/tmp/.docker-cache cache-to: type=local,mode=max,dest=/tmp/.docker-cache-new
platforms: ${{ steps.flags.outputs.platform }} platforms: ${{ steps.flags.outputs.platform }}
build-args: | build-args: |
BUILD_ARCH=${{ matrix.architecture }} BUILD_ARCH=${{ matrix.architecture }}
@@ -197,3 +182,11 @@ jobs:
BUILD_REF=${{ github.sha }} BUILD_REF=${{ github.sha }}
BUILD_REPOSITORY=${{ github.repository }} BUILD_REPOSITORY=${{ github.repository }}
BUILD_VERSION=edge BUILD_VERSION=edge
# This ugly bit is necessary, or our cache will grow forever...
# Well until we hit GitHub's limit of 5GB :)
# https://github.com/docker/build-push-action/issues/252
# https://github.com/moby/buildkit/issues/1896
- name: 🚚 Swap build cache
run: |
rm -rf /tmp/.docker-cache
mv /tmp/.docker-cache-new /tmp/.docker-cache
+42 -46
View File
@@ -33,10 +33,10 @@ jobs:
version: ${{ steps.release.outputs.version }} version: ${{ steps.release.outputs.version }}
steps: steps:
- name: ⤵️ Check out code from GitHub - name: ⤵️ Check out code from GitHub
uses: actions/checkout@v2.3.4 uses: actions/checkout@v2.3.5
- name: 🚀 Run add-on information action - name: 🚀 Run add-on information action
id: information id: information
uses: frenck/action-addon-information@v1.2 uses: frenck/action-addon-information@v1.3
- name: ️ Gather version and environment - name: ️ Gather version and environment
id: release id: release
run: | run: |
@@ -69,30 +69,25 @@ jobs:
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: ⤵️ Check out code from GitHub - name: ⤵️ Check out code from GitHub
uses: actions/checkout@v2.3.4 uses: actions/checkout@v2.3.5
- name: 🏗 Set up build cache - name: 🏗 Set up build cache
id: cache id: cache
uses: actions/cache@v2.1.6 uses: actions/cache@v2.1.6
with: with:
path: /tmp/.docker-cache path: /tmp/.docker-cache
key: key: docker-${{ matrix.architecture }}-${{ github.sha }}
docker-${{ github.ref }}-${{ matrix.architecture }}-${{ github.sha
}}
restore-keys: | restore-keys: |
docker-${{ github.ref }}-${{ matrix.architecture }} docker-${{ matrix.architecture }}
- name: 🏗 Set up QEMU - name: 🏗 Set up QEMU
uses: docker/setup-qemu-action@v1.2.0 uses: docker/setup-qemu-action@v1.2.0
- name: 🏗 Set up Docker Buildx - name: 🏗 Set up Docker Buildx
uses: docker/setup-buildx-action@v1.3.0 uses: docker/setup-buildx-action@v1.6.0
- name: 🏗 Set up CodeNotary
run: bash <(curl https://getvcn.codenotary.com -L)
- name: ️ Compose build flags - name: ️ Compose build flags
id: flags id: flags
run: | run: |
echo "::set-output name=date::$(date +"%Y-%m-%dT%H:%M:%SZ")" echo "::set-output name=date::$(date +"%Y-%m-%dT%H:%M:%SZ")"
from=$(jq --raw-output ".build_from.${{ matrix.architecture }}" "${{ needs.information.outputs.build }}") from=$(yq --no-colors eval ".build_from.${{ matrix.architecture }}" "${{ needs.information.outputs.build }}")
echo "::set-output name=from::${from}" echo "::set-output name=from::${from}"
if [[ "${{ matrix.architecture}}" = "amd64" ]]; then if [[ "${{ matrix.architecture}}" = "amd64" ]]; then
echo "::set-output name=platform::linux/amd64" echo "::set-output name=platform::linux/amd64"
elif [[ "${{ matrix.architecture }}" = "i386" ]]; then elif [[ "${{ matrix.architecture }}" = "i386" ]]; then
@@ -108,26 +103,15 @@ jobs:
exit 1 exit 1
fi fi
- name: 🏗 Login to GitHub Container Registry - name: 🏗 Login to GitHub Container Registry
uses: docker/login-action@v1.9.0 uses: docker/login-action@v1.10.0
with: with:
registry: ghcr.io registry: ghcr.io
username: ${{ github.repository_owner }} username: ${{ github.repository_owner }}
password: ${{ secrets.GHRC_TOKEN }} password: ${{ secrets.GITHUB_TOKEN }}
- name: ⤵️ Download base image - name: ⤵️ Download base image
run: docker pull "${{ steps.flags.outputs.from }}" run: docker pull "${{ steps.flags.outputs.from }}"
- name: ✅ Verify authenticity of base image
run: |
vcn authenticate \
"docker://${{ steps.flags.outputs.from }}"
vcn authenticate \
--output json \
--signerID 0x03e406879fd89e52f38f4aab0061266d1183980a \
"docker://${{ steps.flags.outputs.from }}" \
| jq \
--exit-status \
'.verification.status == 0'
- name: 🚀 Build - name: 🚀 Build
uses: docker/build-push-action@v2.5.0 uses: docker/build-push-action@v2.7.0
with: with:
load: true load: true
# yamllint disable rule:line-length # yamllint disable rule:line-length
@@ -140,7 +124,7 @@ jobs:
cache-from: | cache-from: |
type=local,src=/tmp/.docker-cache type=local,src=/tmp/.docker-cache
ghcr.io/gauthamvarmak/${{ needs.information.outputs.slug }}/${{ matrix.architecture }}:edge ghcr.io/gauthamvarmak/${{ needs.information.outputs.slug }}/${{ matrix.architecture }}:edge
cache-to: type=local,mode=max,dest=/tmp/.docker-cache cache-to: type=local,mode=max,dest=/tmp/.docker-cache-new
platforms: ${{ steps.flags.outputs.platform }} platforms: ${{ steps.flags.outputs.platform }}
build-args: | build-args: |
BUILD_ARCH=${{ matrix.architecture }} BUILD_ARCH=${{ matrix.architecture }}
@@ -151,26 +135,14 @@ jobs:
BUILD_REF=${{ github.sha }} BUILD_REF=${{ github.sha }}
BUILD_REPOSITORY=${{ github.repository }} BUILD_REPOSITORY=${{ github.repository }}
BUILD_VERSION=${{ needs.information.outputs.version }} BUILD_VERSION=${{ needs.information.outputs.version }}
- name: 🔏 Notarize # This ugly bit is necessary, or our cache will grow forever...
# yamllint disable rule:line-length # Well until we hit GitHub's limit of 5GB :)
# https://github.com/docker/build-push-action/issues/252
# https://github.com/moby/buildkit/issues/1896
- name: 🚚 Swap build cache
run: | run: |
if vcn authenticate \ rm -rf /tmp/.docker-cache
--output json \ mv /tmp/.docker-cache-new /tmp/.docker-cache
"docker://ghcr.io/gauthamvarmak/${{ needs.information.outputs.slug }}/${{ matrix.architecture }}:${{ needs.information.outputs.version }}" \
| jq \
--exit-status \
'.verification.status != 0';
then
vcn login
vcn notarize \
--public \
"docker://ghcr.io/gauthamvarmak/${{ needs.information.outputs.slug }}/${{ matrix.architecture }}:${{ needs.information.outputs.version }}"
fi
env:
VCN_USER: ${{ secrets.VCN_USER }}
VCN_PASSWORD: ${{ secrets.VCN_PASSWORD }}
VCN_NOTARIZATION_PASSWORD: ${{ secrets.VCN_NOTARIZATION_PASSWORD }}
VCN_OTP_EMPTY: true
- name: 🚀 Push - name: 🚀 Push
# yamllint disable rule:line-length # yamllint disable rule:line-length
run: | run: |
@@ -178,3 +150,27 @@ jobs:
"ghcr.io/gauthamvarmak/${{ needs.information.outputs.slug }}/${{ matrix.architecture }}:${{ needs.information.outputs.environment }}" "ghcr.io/gauthamvarmak/${{ needs.information.outputs.slug }}/${{ matrix.architecture }}:${{ needs.information.outputs.environment }}"
docker push \ docker push \
"ghcr.io/gauthamvarmak/${{ needs.information.outputs.slug }}/${{ matrix.architecture }}:${{ needs.information.outputs.version }}" "ghcr.io/gauthamvarmak/${{ needs.information.outputs.slug }}/${{ matrix.architecture }}:${{ needs.information.outputs.version }}"
publish-stable:
name: 📢 Publish to stable repository
if: needs.information.outputs.environment == 'stable'
needs:
- information
- deploy
environment:
name: ${{ needs.information.outputs.environment }}
runs-on: ubuntu-latest
steps:
- name: 🚀 Dispatch repository updater update signal
uses: peter-evans/repository-dispatch@v1.1.3
with:
token: ${{ secrets.DISPATCH_TOKEN }}
repository: GauthamVarmaK/hassio-addons
event-type: update
client-payload: >
{
"addon": "${{ needs.information.outputs.slug }}",
"name": "${{ needs.information.outputs.name }}",
"repository": "${{ github.repository }}",
"version": "${{ github.event.release.tag_name }}"
}
+6 -14
View File
@@ -3,20 +3,12 @@ name: Sync labels
# yamllint disable-line rule:truthy # yamllint disable-line rule:truthy
on: on:
push: schedule:
branches: - cron: "34 5 * * *"
- main workflow_dispatch:
paths:
- .github/labels.yml
jobs: jobs:
labels: workflows:
name: ♻️ Sync labels uses: hassio-addons/workflows/.github/workflows/labels.yaml@main
runs-on: ubuntu-latest secrets:
steps:
- name: ⤵️ Check out code from GitHub
uses: actions/checkout@v2.3.4
- name: 🚀 Run Label Syncer
uses: micnncim/action-label-syncer@v1.3.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+4 -11
View File
@@ -8,14 +8,7 @@ on:
workflow_dispatch: workflow_dispatch:
jobs: jobs:
lock: workflows:
name: 🔒 Lock closed issues and PRs uses: hassio-addons/workflows/.github/workflows/lock.yaml@main
runs-on: ubuntu-latest secrets:
steps: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- uses: dessant/lock-threads@v2.0.3
with:
github-token: ${{ github.token }}
issue-lock-inactive-days: "30"
issue-lock-reason: ""
pr-lock-inactive-days: "1"
pr-lock-reason: ""
+10 -14
View File
@@ -3,19 +3,15 @@ name: PR Labels
# yamllint disable-line rule:truthy # yamllint disable-line rule:truthy
on: on:
pull_request: pull_request_target:
types: [opened, labeled, unlabeled, synchronize] types:
- opened
- labeled
- unlabeled
- synchronize
jobs: jobs:
pr_labels: workflows:
name: Verify uses: hassio-addons/workflows/.github/workflows/pr-labels.yaml@main
runs-on: ubuntu-latest secrets:
steps: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: 🏷 Verify PR has a valid label
uses: jesusvasquez333/verify-pr-label-action@v1.4.0
with:
github-token: "${{ secrets.GITHUB_TOKEN }}"
valid-labels: >-
breaking-change, bugfix, documentation, enhancement, refactor,
performance, new-feature, maintenance, ci, dependencies
disable-reviews: true
+3 -7
View File
@@ -8,11 +8,7 @@ on:
- main - main
jobs: jobs:
update_release_draft: workflows:
name: ✏️ Draft release uses: hassio-addons/workflows/.github/workflows/release-drafter.yaml@main
runs-on: ubuntu-latest secrets:
steps:
- name: 🚀 Run Release Drafter
uses: release-drafter/release-drafter@v5.15.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+4 -30
View File
@@ -8,33 +8,7 @@ on:
workflow_dispatch: workflow_dispatch:
jobs: jobs:
stale: workflows:
name: 🧹 Clean up stale issues and PRs uses: hassio-addons/workflows/.github/workflows/stale.yaml@main
runs-on: ubuntu-latest secrets:
steps: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: 🚀 Run stale
uses: actions/stale@v3.0.19
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 30
days-before-close: 7
remove-stale-when-updated: true
stale-issue-label: "stale"
exempt-issue-labels: "no-stale,help-wanted"
stale-issue-message: >
There hasn't been any activity on this issue recently, so we
clean up some of the older and inactive issues.
Please make sure to update to the latest version and
check if that solves the issue. Let us know if that works for you
by leaving a comment 👍
This issue has now been marked as stale and will be closed if no
further activity occurs. Thanks!
stale-pr-label: "stale"
exempt-pr-labels: "no-stale"
stale-pr-message: >
There hasn't been any activity on this pull request recently. This
pull request has been automatically marked as stale because of that
and will be closed if no further activity occurs within 7 days.
Thank you for your contributions.
+40 -6
View File
@@ -17,7 +17,8 @@ Have included the following along with TVHeadend:
The installation of this add-on is pretty straightforward and not different in The installation of this add-on is pretty straightforward and not different in
comparison to installing any other Home Assistant add-on. comparison to installing any other Home Assistant add-on.
1. Install "Gautham's Add-ons" in supervisor. 1. Add this repository to have addons by GauthamVarmaK:
[![Home Assistant with repository URL pre-filled][my-ha-shield]][my-ha-repo]
1. Search for the "TVHeadend" add-on in the Supervisor add-on store and install it. 1. Search for the "TVHeadend" add-on in the Supervisor add-on store and install it.
1. Start the "TVHeadend" add-on. 1. Start the "TVHeadend" add-on.
1. Check the logs of the "TVHeadend" to see if everything went well. 1. Check the logs of the "TVHeadend" to see if everything went well.
@@ -26,11 +27,40 @@ comparison to installing any other Home Assistant add-on.
## Configuration ## Configuration
No changes needed from the user, unless u need to change the ports. **Note**: _Remember to restart the add-on when the configuration is changed._
-Config files are stored in /config/tvheadend/ Example add-on configuration:
-Recording files are stored in /config/tvheadend/recordings/
Consider, backing them up whenever migrating. ```yaml
system_packages:
- ffmpeg
init_commands:
- echo 'Hello World'
```
**Note**: _This is just an example, don't copy and paste it! Create your own!_
### Option: `system_packages`
Allows you to specify additional [Alpine packages][alpine-packages] to be
installed to the TVHeadend Addon (e.g., `ffmpeg`, `g++`, etc. ).
**Note**: _Adding many packages will result in a longer start-up time for the add-on._
### Option: `init_commands`
Customize your TVHeadend environment even more with the `init_commands` option.
Add one or more shell commands to the list, and they will be executed
every single time this add-on starts.
## Additional Details
- Config files are stored in `/config/tvheadend/`
- Recording files are stored in `/config/tvheadend/recordings/`
- `/dev/dvb/`, `/dev/dri/` would be respectively mapped to
`/dev/dvb/`, `/dev/dri/` inside the addon.
Consider, backing `/config/tvheadend/` up whenever migrating.
## Changelog & Releases ## Changelog & Releases
@@ -84,8 +114,12 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE. SOFTWARE.
[alpine-packages]: https://pkgs.alpinelinux.org/packages
[forum]: https://community.home-assistant.io/ [forum]: https://community.home-assistant.io/
[gautham]: https://github.com/GauthamVarmaK
[frenck]: https://github.com/frenck [frenck]: https://github.com/frenck
[gautham]: https://github.com/GauthamVarmaK
[my-ha-shield]: https://my.home-assistant.io/badges/supervisor_add_addon_repository.svg
[issue]: https://github.com/GauthamVarmaK/addon-tvheadend/issues [issue]: https://github.com/GauthamVarmaK/addon-tvheadend/issues
[semver]: http://semver.org/spec/v2.0.0.htm
[my-ha-repo]: https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2FGauthamVarmaK%2Fhassio-addons
[releases]: https://github.com/GauthamVarmaK/addon-tvheadend/releases [releases]: https://github.com/GauthamVarmaK/addon-tvheadend/releases
+45 -22
View File
@@ -1,33 +1,56 @@
ARG BUILD_FROM=ghcr.io/hassio-addons/base/amd64:9.2.0 ARG BUILD_FROM
# hadolint ignore=DL3006 # hadolint ignore=DL3006
FROM ${BUILD_FROM} FROM ${BUILD_FROM}
RUN echo 'http://dl-cdn.alpinelinux.org/alpine/edge/testing' >> /etc/apk/repositories COPY requirements.txt /tmp/
RUN echo 'http://dl-cdn.alpinelinux.org/alpine/edge/community' >> /etc/apk/repositories
RUN echo 'http://dl-cdn.alpinelinux.org/alpine/edge/main' >> /etc/apk/repositories
COPY run.sh /run.sh RUN \
RUN chmod +x /run.sh apk update \
RUN /run.sh && apk add --no-cache --virtual .build-deps \
musl-dev=1.2.2-r3 \
gcc=10.3.1_git20210424-r2 \
g++=10.3.1_git20210424-r2 \
libxml2-dev=2.9.12-r1 \
libxslt-dev=1.1.34-r1 \
python3-dev=3.9.5-r1 \
&& apk add --no-cache \
tvheadend=4.2.8-r3 \
py3-pip=20.3.4-r1 \
libxslt=1.1.34-r1 \
&& pip3 install \
--no-cache-dir \
--prefer-binary \
-r /tmp/requirements.txt \
&& apk del --no-cache --purge .build-deps
RUN echo "Starting TVHeadend" # Copy root filesystem
ENTRYPOINT ["/usr/bin/tvheadend", "--firstrun", "-u", "root", "-g", "root", "-c", "/config/tvheadend"] COPY rootfs /
# Build arguments
ARG BUILD_ARCH
ARG BUILD_DATE
ARG BUILD_DESCRIPTION
ARG BUILD_NAME
ARG BUILD_REF
ARG BUILD_REPOSITORY
ARG BUILD_VERSION
# Labels # Labels
LABEL \ LABEL \
io.hass.name="TVHeadend" \ io.hass.name="${BUILD_NAME}" \
io.hass.description="TVHeadend Add-On" \ io.hass.description="${BUILD_DESCRIPTION}" \
io.hass.arch="${BUILD_ARCH}" \ io.hass.arch="${BUILD_ARCH}" \
io.hass.type="addon" \ io.hass.type="addon" \
io.hass.version=${BUILD_VERSION} \ io.hass.version=${BUILD_VERSION} \
maintainer="https://github.com/GauthamVarmaK" \ maintainer="Gautham Varma K <43441192+GauthamVarmaK@users.noreply.github.com>" \
org.label-schema.description="TVHeadend Home Assistant Add-On" \ org.opencontainers.image.title="${BUILD_NAME}" \
org.label-schema.build-date=${BUILD_DATE} \ org.opencontainers.image.description="${BUILD_DESCRIPTION}" \
org.label-schema.name="TVHeadend" \ org.opencontainers.image.vendor="GauthamVarmaK" \
org.label-schema.name="Home Assistant Addon: TVHeadend ${BUILD_ARCH}" \ org.opencontainers.image.authors="Gautham Varma K <43441192+GauthamVarmaK@users.noreply.github.com>" \
org.label-schema.schema-version="1.0" \ org.opencontainers.image.licenses="MIT" \
org.label-schema.url="https://github.com/GauthamVarmaK/addon-tvheadend" \ org.opencontainers.image.url="https://github.com/GauthamVarmaK/addon-tvheadend" \
org.label-schema.usage="https://github.com/GauthamVarmaK/addon-tvheadend" \ org.opencontainers.image.source="https://github.com/${BUILD_REPOSITORY}" \
org.label-schema.vcs-ref=${BUILD_REF} \ org.opencontainers.image.documentation="https://github.com/${BUILD_REPOSITORY}/blob/main/README.md" \
org.label-schema.vcs-url="https://github.com/GauthamVarmaK/addon-tvheadend" \ org.opencontainers.image.created=${BUILD_DATE} \
org.label-schema.vendor="https://github.com/GauthamVarmaK" org.opencontainers.image.revision=${BUILD_REF} \
org.opencontainers.image.version=${BUILD_VERSION}
-9
View File
@@ -1,9 +0,0 @@
{
"build_from": {
"aarch64": "ghcr.io/hassio-addons/base/aarch64:9.2.0",
"amd64": "ghcr.io/hassio-addons/base/amd64:9.2.0",
"armhf": "ghcr.io/hassio-addons/base/armhf:9.2.0",
"armv7": "ghcr.io/hassio-addons/base/armv7:9.2.0",
"i386": "ghcr.io/hassio-addons/base/i386:9.2.0"
}
}
+7
View File
@@ -0,0 +1,7 @@
---
build_from:
aarch64: ghcr.io/hassio-addons/base/aarch64:10.1.1
amd64: ghcr.io/hassio-addons/base/amd64:10.1.1
armhf: ghcr.io/hassio-addons/base/armhf:10.1.1
armv7: ghcr.io/hassio-addons/base/armv7:10.1.1
i386: ghcr.io/hassio-addons/base/i386:10.1.1
-20
View File
@@ -1,20 +0,0 @@
{
"name": "TVHeadend",
"version": "dev",
"stage": "experimental",
"slug": "addon-tvheadend",
"description": "TV streaming server and recorder.",
"url": "https://github.com/GauthamVarmaK/addon-tvheadend",
"startup": "services",
"arch": ["aarch64", "amd64", "armhf", "armv7", "i386"],
"webui": "http://[HOST]:[PORT:9981]/",
"ports": {
"9981/tcp": 9981,
"9982/tcp": 9982
},
"ports_description": {
"9981/tcp": "TVH Web Interface",
"9982/tcp": "TVH HTSP"
},
"map": ["config:rw"]
}
+33
View File
@@ -0,0 +1,33 @@
---
name: TVHeadend
version: dev
stage: experimental
slug: tvheadend
description: TV streaming server and recorder.
url: "https://github.com/GauthamVarmaK/addon-tvheadend"
arch:
- aarch64
- amd64
- armhf
- armv7
- i386
webui: "http://[HOST]:[PORT:9981]/"
devices:
- /dev/dvb/
- /dev/dri/
ports:
9981/tcp: 9981
9982/tcp: 9982
ports_description:
9981/tcp: TVH Web Interface
9982/tcp: TVH HTSP
map:
- "config:rw"
options:
system_packages: []
init_commands: []
schema:
system_packages:
- str
init_commands:
- str
+2
View File
@@ -0,0 +1,2 @@
setuptools==58.4.0
streamlink==2.4.0
@@ -0,0 +1,24 @@
#!/usr/bin/with-contenv bashio
# ==============================================================================
# Home Assistant Community Add-on: TVHeadend
# Executes user customizations on startup
# ==============================================================================
# Install user configured/requested packages
if bashio::config.has_value 'system_packages'; then
apk update \
|| bashio::exit.nok 'Failed updating Alpine packages repository indexes'
for package in $(bashio::config 'system_packages'); do
apk add "$package" \
|| bashio::exit.nok "Failed installing system package ${package}"
done
fi
# Executes user commands on startup
if bashio::config.has_value 'init_commands'; then
while read -r cmd; do
eval "${cmd}" \
|| bashio::exit.nok "Failed executing init command: ${cmd}"
done <<< "$(bashio::config 'init_commands')"
fi
@@ -0,0 +1,60 @@
#!/usr/bin/with-contenv bashio
# ==============================================================================
# Home Assistant Community Add-on: TVHeadend
# Executes user customizations on startup
# ==============================================================================
check_webgrabplus(){
if [ -z "$(ls -A /config/tvheadend/wg++)" ]; then return 1; else return 0; fi
}
webgrabplus_install(){
if apk update; then
bashio::log.info '[Webgrab+] APK: Installing required packages.'
if apk add --no-cache --virtual .build-deps git mono --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing; then
bashio::log.info '[Webgrab+] Installing Webgrab+.'
cd /tmp \
&& wget http://webgrabplus.com/sites/default/files/download/SW/V3.2.0/WebGrabPlus_V3.2_install.tar.gz \
&& tar -zxvf WebGrabPlus_V3.2_install.tar.gz \
&& rm WebGrabPlus_V3.2_install.tar.gz \
&& mv .wg++/ /config/tvheadend/wg++ \
&& cd /config/tvheadend/wg++ \
&& ./install.sh \
&& rm -rf siteini.pack/ \
&& wget http://webgrabplus.com/sites/default/files/download/ini/SiteIniPack_current.zip \
&& unzip SiteIniPack_current.zip \
&& rm SiteIniPack_current.zip \
&& cp siteini.pack/India/* siteini.user/ \
&& wget -O /usr/bin/tv_grab_wg++ http://www.webgrabplus.com/sites/default/files/tv_grab_wg.txt \
&& sed -i 's|~/.wg++/guide.xml|/config/tvheadend/wg++/guide.xml|g' /usr/bin/tv_grab_wg++ \
&& chmod a+x /usr/bin/tv_grab_wg++
else
bashio::log.info '[Webgrab+] APK: Critical error. Unable install required packages.'
exit 1
fi
bashio::log.info '[Webgrab+] APK: Removing packages no longer required.'
apk del --no-cache --purge .build-deps
else
bashio::log.error '[Webgrab+] APK: Critical error. Unable to update pkg list. Check connectivity.'
exit 1
fi
bashio::log.info '[Webgrab+] Finsihed all APK and PIP3 updates and installs.'
}
# Ensure directory exists
if ! bashio::fs.directory_exists '/config/tvheadend/'; then
bashio::log.info "Creating default configuration directory at /config/tvheadend/"
mkdir -p /config/tvheadend/recordings
timeout 20s /usr/bin/tvheadend --firstrun -u root -g root -c /config/tvheadend
fi
if check_webgrabplus; then
bashio::log.info "[Webgrab+] Webgrab+ already installed"
else
bashio::log.info "[Webgrab+] No webgrab+ installation found - Installing webgrab+"
webgrabplus_install
chmod +x /usr/bin/restart_addon
exec /usr/bin/restart_addon
fi
bashio::log.info '[Webgrab+] Setup completed without errors!!'
+1
View File
@@ -0,0 +1 @@
0 0 * * * /config/tvheadend/wg++/run.sh
@@ -0,0 +1,9 @@
#!/usr/bin/execlineb -S0
# ==============================================================================
# Home Assistant Community Add-on: TVHeadend
# Take down the S6 supervision tree when crond fails
# ==============================================================================
if -n { s6-test $# -ne 0 }
if -n { s6-test ${1} -eq 256 }
s6-svscanctl -t /var/run/s6/services
+6
View File
@@ -0,0 +1,6 @@
#!/usr/bin/with-contenv bashio
# ==============================================================================
# Home Assistant Community Add-on: TVHeadend
# Runs the cron daemon
# ==============================================================================
exec fdmove -c 2 1 /usr/sbin/crond -f -L /var/log/cron -l 0 -c /etc/crontabs
@@ -0,0 +1,9 @@
#!/usr/bin/execlineb -S0
# ==============================================================================
# Home Assistant Community Add-on: TVHeadend
# Take down the S6 supervision tree when TVHeadend fails
# ==============================================================================
if -n { s6-test $# -ne 0 }
if -n { s6-test ${1} -eq 256 }
s6-svscanctl -t /var/run/s6/services
@@ -0,0 +1,9 @@
#!/usr/bin/with-contenv bashio
# ==============================================================================
# Home Assistant Community Add-on: TVHeadend
# Starts TVHeadend
# ==============================================================================
bashio::log.info "Starting TVHeadend..."
exec /usr/bin/tvheadend -u root -g root -c /config/tvheadend
+9
View File
@@ -0,0 +1,9 @@
#!/usr/bin/env bashio
# ==============================================================================
# Home Assistant Community Add-on: TVHeadend
# Restarts the add-on
# ==============================================================================
echo "Restarting add-on"
bashio::addon.restart
-77
View File
@@ -1,77 +0,0 @@
#!/usr/bin/env bashio
bashio::log.info "[TVHeadend] Installing TVHeadend"
apk update && apk add --no-cache tvheadend=4.2.8-r3 git=2.31.1-r1 mono=6.12.0.122-r1
mkdir -p /config/tvheadend/recordings
bashio::log.info '[TVHeadend] Setup completed without errors!!'
mkdir -p ~/.wg++
ln -sf /config/tvheadend/wg++/guide.xml ~/.wg++/guide.xml
if [ "$(ls -A /config/tvheadend/wg++)" ]; then
bashio::log.info "[Webgrab+] Webgrab+ already installed"
else
bashio::log.info "[Webgrab+] No webgrab+ installation found - Installing webgrab+"
cd /tmp && \
wget http://webgrabplus.com/sites/default/files/download/SW/V3.1.0/WebGrabPlus_V3.1_install.tar.gz && \
tar -xvf WebGrabPlus_V3.1_install.tar.gz && rm WebGrabPlus_V3.1_install.tar.gz && \
mv .wg++/ /config/tvheadend/wg++ && \
cd /config/tvheadend/wg++ && \
./install.sh
rm -rf siteini.pack/ && \
git clone https://github.com/DeBaschdi/webgrabplus-siteinipack.git && \
cp -R webgrabplus-siteinipack/siteini.pack/ siteini.pack && \
cp siteini.pack/International/horizon.tv.* siteini.user/
fi
wget -O /usr/bin/tv_grab_wg++ http://www.webgrabplus.com/sites/default/files/tv_grab_wg.txt && \
chmod a+x /usr/bin/tv_grab_wg++
bashio::log.info '[Webgrab+] Setup completed without errors!!'
echo "0 0 * * * /config/tvheadend/wg++/run.sh" >> /var/spool/cron/root
crond
check_streamlink () {
if [ -z "$(command -v streamlink)" ]; then return 1; else return 0; fi
}
streamlink_update () {
if pip3 install --no-cache --upgrade streamlink; then
bashio::log.info "[StreamLink] Streamlink version: $(streamlink --version)."
else
bashio::log.error '[StreamLink] Streamlink update failed!'
fi
}
streamlink_install () {
bashio::log.info '[StreamLink] APK: Updating pkg list.'
if apk update; then
bashio::log.info '[StreamLink] APK: Installing required packages.'
if apk add --no-cache py3-pip && apk add --no-cache --virtual .build-deps gcc musl-dev; then
bashio::log.info '[StreamLink] PIP3: Updating and installing required packages.'
if ! pip3 install --no-cache --upgrade setuptools; then bashio::log.error '[StreamLink] PIP3: Error while upgrading setuptools.'; fi
if ! pip3 install --no-cache streamlink; then bashio::log.error '[StreamLink] PIP3: Error while installing Streamlink.'; fi
else
bashio::log.info '[StreamLink] APK: Critical error. Unable install required packages.'
exit 1
fi
bashio::log.info '[StreamLink] APK: Removing packages no longer required.'
apk del .build-deps gcc musl-dev
else
bashio::log.error '[StreamLink] APK: Critical error. Unable to update pkg list. Check connectivity.'
exit 1
fi
bashio::log.info '[StreamLink] Finsihed all APK and PIP3 updates and installs.'
}
if check_streamlink; then
bashio::log.info '[StreamLink] Updating Streamlink...' ; streamlink_update
else
bashio::log.info '[StreamLink] Installing Streamlink...'; streamlink_install
fi
bashio::log.info '[StreamLink] Setup completed without errors!!'