diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..e840ec3 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,76 @@ +name: Release +on: + push: + tags: + - 'v*' +jobs: + build: + name: Release plugin.video.viervijfzes + if: startsWith(github.ref, 'refs/tags/') # prevent from running if it's not a tag + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Build zip files + id: build + run: | + sudo apt-get install libxml2-utils + make multizip release=1 + echo ::set-output name=leia-filename::$(cd ..;ls plugin.video.viervijfzes*.zip | grep -v '+matrix.' | head -1) + echo ::set-output name=matrix-filename::$(cd ..;ls plugin.video.viervijfzes*+matrix.*.zip | head -1) + + - name: Get body + id: get-body + run: | + description=$(sed '1,6d;/^## /,$d' CHANGELOG.md) + echo $description + description="${description//'%'/'%25'}" + description="${description//$'\n'/'%0A'}" + description="${description//$'\r'/'%0D'}" + echo ::set-output name=body::$description + + - name: Create Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} + with: + tag_name: ${{ github.ref }} + release_name: ${{ github.ref }} + body: ${{ steps.get-body.outputs.body }} + draft: false + prerelease: false + + - name: Upload Leia zip + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_name: ${{ steps.build.outputs.leia-filename }} + asset_path: ../${{ steps.build.outputs.leia-filename }} + asset_content_type: application/zip + + - name: Upload Matrix zip + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_name: ${{ steps.build.outputs.matrix-filename }} + asset_path: ../${{ steps.build.outputs.matrix-filename }} + asset_content_type: application/zip + +# - name: Generate distribution zip and submit to official kodi repository +# id: kodi-addon-submitter +# uses: xbmc/action-kodi-addon-submitter@v1.2 +# with: +# kodi-repository: repo-plugins +# addon-id: plugin.video.viervijfzes +# kodi-version: leia +# kodi-matrix: true +# env: +# GH_USERNAME: ${{ secrets.GH_USERNAME }} +# GH_TOKEN: ${{ secrets.GH_TOKEN }} +# EMAIL: ${{ secrets.EMAIL }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 3f983c3..4cf5e1e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,29 @@ # Changelog +## [v0.3.0](https://github.com/add-ons/plugin.video.viervijfzes/tree/v0.3.0) (2020-11-12) + +[Full Changelog](https://github.com/add-ons/plugin.video.viervijfzes/compare/v0.2.0...v0.3.0) + +**Implemented enhancements:** + +- Add inputstreamhelper [\#57](https://github.com/add-ons/plugin.video.viervijfzes/pull/57) ([mediaminister](https://github.com/mediaminister)) +- Allow to install and run Kodi Logfile Uploader from the settings [\#50](https://github.com/add-ons/plugin.video.viervijfzes/pull/50) ([michaelarnauts](https://github.com/michaelarnauts)) +- Allow to install IPTV Manager from the settings [\#49](https://github.com/add-ons/plugin.video.viervijfzes/pull/49) ([michaelarnauts](https://github.com/michaelarnauts)) +- Allow playing drm protected content [\#47](https://github.com/add-ons/plugin.video.viervijfzes/pull/47) ([michaelarnauts](https://github.com/michaelarnauts)) + +**Fixed bugs:** + +- Fix clearing local metadata [\#55](https://github.com/add-ons/plugin.video.viervijfzes/pull/55) ([mediaminister](https://github.com/mediaminister)) +- Fix EPG due to parsing issue of the season [\#54](https://github.com/add-ons/plugin.video.viervijfzes/pull/54) ([michaelarnauts](https://github.com/michaelarnauts)) +- Fix logging for Kodi Matrix [\#48](https://github.com/add-ons/plugin.video.viervijfzes/pull/48) ([michaelarnauts](https://github.com/michaelarnauts)) +- Opening some programs without a title could throw an error [\#45](https://github.com/add-ons/plugin.video.viervijfzes/pull/45) ([dagwieers](https://github.com/dagwieers)) +- Show message when Kodi Player fails to get the stream [\#40](https://github.com/add-ons/plugin.video.viervijfzes/pull/40) ([mediaminister](https://github.com/mediaminister)) + +**Merged pull requests:** + +- Various fixes [\#46](https://github.com/add-ons/plugin.video.viervijfzes/pull/46) ([michaelarnauts](https://github.com/michaelarnauts)) +- Use sake for Kodi stubs [\#36](https://github.com/add-ons/plugin.video.viervijfzes/pull/36) ([michaelarnauts](https://github.com/michaelarnauts)) + ## [v0.2.0](https://github.com/add-ons/plugin.video.viervijfzes/tree/v0.2.0) (2020-06-19) [Full Changelog](https://github.com/add-ons/plugin.video.viervijfzes/compare/v0.1.0...v0.2.0) diff --git a/Makefile b/Makefile index e68976f..decab97 100644 --- a/Makefile +++ b/Makefile @@ -1,13 +1,20 @@ export KODI_HOME := $(CURDIR)/tests/home export KODI_INTERACTIVE := 0 PYTHON := python +KODI_PYTHON_ABIS := 3.0.0 2.26.0 # Collect information to build as sensible package name name = $(shell xmllint --xpath 'string(/addon/@id)' addon.xml) version = $(shell xmllint --xpath 'string(/addon/@version)' addon.xml) git_branch = $(shell git rev-parse --abbrev-ref HEAD) git_hash = $(shell git rev-parse --short HEAD) -zip_name = $(name)-$(version)-$(git_branch)-$(git_hash).zip + +ifdef release + zip_name = $(name)-$(version).zip +else + zip_name = $(name)-$(version)-$(git_branch)-$(git_hash).zip +endif + include_files = addon_entry.py addon.xml CHANGELOG.md LICENSE README.md resources/ service_entry.py include_paths = $(patsubst %,$(name)/%,$(include_files)) exclude_files = \*.new \*.orig \*.pyc \*.pyo @@ -62,6 +69,28 @@ build: clean cd ..; zip -r $(zip_name) $(include_paths) -x $(exclude_files) @echo "Successfully wrote package as: ../$(zip_name)" -release: build - rm -rf ../repo-plugins/$(name)/* - unzip ../$(zip_name) -d ../repo-plugins/ +# You first need to run sudo gem install github_changelog_generator for this +release: +ifneq ($(release),) + @github_changelog_generator -u add-ons -p plugin.video.viervijfzes --no-issues --exclude-labels duplicate,question,invalid,wontfix release --future-release v$(release); + + @echo "cd /addon/@version\nset $$release\nsave\nbye" | xmllint --shell addon.xml; \ + date=$(shell date '+%Y-%m-%d'); \ + echo "cd /addon/extension[@point='xbmc.addon.metadata']/news\nset v$$release ($$date)\nsave\nbye" | xmllint --shell addon.xml; \ + + # Next steps to release: + # - Modify the news-section of addons.xml + # - git add . && git commit -m "Prepare for v$(release)" && git push + # - git tag v$(release) && git push --tags +else + @echo "Usage: make release release=1.0.0" +endif + +multizip: clean + @-$(foreach abi,$(KODI_PYTHON_ABIS), \ + echo "cd /addon/requires/import[@addon='xbmc.python']/@version\nset $(abi)\nsave\nbye" | xmllint --shell addon.xml; \ + matrix=$(findstring $(abi), $(word 1,$(KODI_PYTHON_ABIS))); \ + if [ $$matrix ]; then version=$(version)+matrix.1; else version=$(version); fi; \ + echo "cd /addon/@version\nset $$version\nsave\nbye" | xmllint --shell addon.xml; \ + make build; \ + ) diff --git a/addon.xml b/addon.xml index b9aa704..7e9bf5e 100644 --- a/addon.xml +++ b/addon.xml @@ -1,5 +1,5 @@ - + @@ -22,7 +22,10 @@ This add-on is not officially commissioned/supported by SBS Belgium and is provided 'as is' without any warranty of any kind. The VIER, VIJF and ZES logos are property of SBS Belgium. all GPL-3.0-only - v0.2.0 + v0.3.0 (2020-11-12) +- Supports DRM protected content with a new Inputstream Adapative +- Various bugfixes + https://github.com/add-ons/plugin.video.viervijfzes resources/icon.png diff --git a/tests/run.py b/tests/run.py index a773d32..d082ffc 100755 --- a/tests/run.py +++ b/tests/run.py @@ -1,12 +1,11 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright: (c) 2019, Dag Wieers (@dagwieers) -# GNU General Public License v3.0 (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) -""" Run any Kodi VTM GO plugin:// URL on the commandline """ +""" Run any Kodi plugin:// URL on the commandline """ # pylint: disable=invalid-name from __future__ import absolute_import, division, print_function, unicode_literals + import os import sys @@ -15,12 +14,6 @@ cwd = os.path.abspath(os.path.join(os.path.dirname(os.path.realpath(os.path.real sys.path.insert(0, cwd) from resources.lib import addon # noqa: E402 pylint: disable=wrong-import-position -xbmc = __import__('xbmc') -xbmcaddon = __import__('xbmcaddon') -xbmcgui = __import__('xbmcgui') -xbmcplugin = __import__('xbmcplugin') -xbmcvfs = __import__('xbmcvfs') - if len(sys.argv) <= 1: print("%s: URI argument missing\nTry '%s plugin://plugin.video.viervijfzes/' to test." % (sys.argv[0], sys.argv[0])) sys.exit(1)