From 81e6c432ccaaf4c22de4ad5584fb8e76ced33d49 Mon Sep 17 00:00:00 2001 From: phnzb Date: Thu, 19 Sep 2024 15:01:55 +0300 Subject: [PATCH 01/16] Add prospector workflow --- .github/workflows/prospector.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 .github/workflows/prospector.yml diff --git a/.github/workflows/prospector.yml b/.github/workflows/prospector.yml new file mode 100644 index 0000000..c5aefac --- /dev/null +++ b/.github/workflows/prospector.yml @@ -0,0 +1,18 @@ +name: prospector + +on: + workflow_call: + +jobs: + prospector: + runs-on: ubuntu-latest + + steps: + + - name: Checkout + uses: actions/checkout@v4 + + - name: Run prospector static analysis + run: | + pip install --user prospector + prospector --strictness medium -i lib From 105f248a22b7183c3a15786e2ede75285bb7f7a1 Mon Sep 17 00:00:00 2001 From: phnzb Date: Fri, 20 Sep 2024 09:49:39 +0300 Subject: [PATCH 02/16] Add manifest schema and workflow --- .github/workflows/manifest.yml | 19 +++ json-schema/extension-manifest.json | 208 ++++++++++++++++++++++++++++ 2 files changed, 227 insertions(+) create mode 100644 .github/workflows/manifest.yml create mode 100644 json-schema/extension-manifest.json diff --git a/.github/workflows/manifest.yml b/.github/workflows/manifest.yml new file mode 100644 index 0000000..1c62134 --- /dev/null +++ b/.github/workflows/manifest.yml @@ -0,0 +1,19 @@ +name: manifest + +on: + workflow_call: + +jobs: + manifest: + runs-on: ubuntu-latest + + steps: + + - name: Checkout + uses: actions/checkout@v4 + + - name: Run prospector static analysis + run: | + pip install --user check-jsonschema + curl -o /tmp/extension-manifest.json + check-jsonschema --schemafile /tmp/extension-manifest.json manifest.json diff --git a/json-schema/extension-manifest.json b/json-schema/extension-manifest.json new file mode 100644 index 0000000..147b78b --- /dev/null +++ b/json-schema/extension-manifest.json @@ -0,0 +1,208 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://nzbget.com/extension-manifest.schema.json", + "title": "Extension manifest", + "description": "NZBGet Extension manifest schema", + "type": "object", + "properties": { + "main": { + "description": "The name of the executable file", + "type": "string" + }, + "name": { + "description": "The extension name, identifier and prefix needed to save the extension configuration options to nzbget.conf", + "type": "string" + }, + "homepage": { + "description": "Link to the extension homepage", + "type": "string" + }, + "kind": { + "description": "Kind, depending on the purpose of the extension", + "type": "string" + }, + "displayName": { + "description": "The name that will be displayed in the web interface", + "type": "string" + }, + "version": { + "description": "Extension version", + "type": "string" + }, + "nzbgetMinVersion": { + "description": "NZBGet minimum required version (optional)", + "type": "string" + }, + "author": { + "description": "Author's name", + "type": "string" + }, + "license": { + "description": "Extension license", + "type": "string" + }, + "about": { + "description": "Brief description of the extension", + "type": "string" + }, + "description": { + "description": "More detailed description of the extension", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 0 + }, + "queueEvents": { + "description": "Events that could be used by the extension", + "type": "string" + }, + "requirements": { + "description": "List of requirements", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 0 + }, + "options": { + "description": "Extension configuration options", + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "description": "Option name", + "type": "string" + }, + "displayName": { + "description": "Option display name in WebUI", + "type": "string" + }, + "value": { + "description": "Default option value", + "type": [ + "number", + "string" + ] + }, + "description": { + "description": "Option description", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 0 + }, + "select": { + "description": "Option values for select", + "type": "array", + "items": { + "type": [ + "number", + "string" + ] + }, + "minItems": 0 + } + }, + "required": [ + "name", + "displayName", + "value", + "description", + "select" + ] + }, + "minItems": 0 + }, + "commands": { + "description": "Extension commands", + "type": "array", + "items": { + "type": "object", + "properties": { + "section": { + "description": "Command section", + "type": "string" + }, + "name": { + "description": "Command name", + "type": "string" + }, + "action": { + "description": "Command action", + "type": "string" + }, + "displayName": { + "description": "Option display name in WebUI", + "type": "string" + }, + "description": { + "description": "Command description", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 0 + } + }, + "required": [ + "name", + "action", + "displayName", + "description" + ] + }, + "minItems": 0 + }, + "sections": { + "description": "Extension sections", + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "description": "Section name", + "type": "string" + }, + "prefix": { + "description": "Section prefix", + "type": "string" + }, + "multi": { + "description": "Section is dynamic", + "type": "boolean" + } + }, + "required": [ + "name", + "prefix", + "multi" + ] + }, + "minItems": 0 + }, + "taskTime": { + "description": "For SCHEDULER extensions: start time of the extension", + "type": "string" + } + }, + "required": [ + "main", + "name", + "homepage", + "kind", + "displayName", + "version", + "author", + "license", + "about", + "description", + "queueEvents", + "requirements", + "options", + "commands", + "taskTime" + ] +} \ No newline at end of file From 1ba5cf7d7c606156631f7942685a2adb60948c90 Mon Sep 17 00:00:00 2001 From: phnzb Date: Fri, 20 Sep 2024 09:50:48 +0300 Subject: [PATCH 03/16] Update manifest URL --- .github/workflows/manifest.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/manifest.yml b/.github/workflows/manifest.yml index 1c62134..45342b0 100644 --- a/.github/workflows/manifest.yml +++ b/.github/workflows/manifest.yml @@ -15,5 +15,5 @@ jobs: - name: Run prospector static analysis run: | pip install --user check-jsonschema - curl -o /tmp/extension-manifest.json + curl -o /tmp/extension-manifest.json https://raw.githubusercontent.com/nzbgetcom/nzbget-extensions/feature/workflows/json-schema/extension-manifest.json check-jsonschema --schemafile /tmp/extension-manifest.json manifest.json From d28caa822571bd32de386398aace0c925246ed7a Mon Sep 17 00:00:00 2001 From: phnzb Date: Fri, 20 Sep 2024 10:20:15 +0300 Subject: [PATCH 04/16] Update manifest job name --- .github/workflows/manifest.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/manifest.yml b/.github/workflows/manifest.yml index 45342b0..65fc0ff 100644 --- a/.github/workflows/manifest.yml +++ b/.github/workflows/manifest.yml @@ -12,7 +12,7 @@ jobs: - name: Checkout uses: actions/checkout@v4 - - name: Run prospector static analysis + - name: Check extension manifest run: | pip install --user check-jsonschema curl -o /tmp/extension-manifest.json https://raw.githubusercontent.com/nzbgetcom/nzbget-extensions/feature/workflows/json-schema/extension-manifest.json From 8575c1c7f318652263a3f13c99e5b46a790e1817 Mon Sep 17 00:00:00 2001 From: phnzb Date: Tue, 24 Sep 2024 16:24:34 +0300 Subject: [PATCH 05/16] Add master manifest check --- .github/workflows/check-master-manifest.yml | 23 ++++++++ json-schema/master-manifest.json | 60 +++++++++++++++++++++ 2 files changed, 83 insertions(+) create mode 100644 .github/workflows/check-master-manifest.yml create mode 100644 json-schema/master-manifest.json diff --git a/.github/workflows/check-master-manifest.yml b/.github/workflows/check-master-manifest.yml new file mode 100644 index 0000000..e79b5a6 --- /dev/null +++ b/.github/workflows/check-master-manifest.yml @@ -0,0 +1,23 @@ +name: manifest + +on: + push: + branches: + - feature/* + pull_request: + branches: + - main + +jobs: + manifest: + runs-on: ubuntu-latest + + steps: + + - name: Checkout + uses: actions/checkout@v4 + + - name: Check extension manifest + run: | + pip install --user check-jsonschema + check-jsonschema --schemafile json-schema/master-manifest.json extensions.json diff --git a/json-schema/master-manifest.json b/json-schema/master-manifest.json new file mode 100644 index 0000000..5719d9b --- /dev/null +++ b/json-schema/master-manifest.json @@ -0,0 +1,60 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://nzbget.com/master-manifest.schema.json", + "title": "Master list of extensions manifest", + "description": "NZBGet master list of extension manifest schema", + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "description": "The extension name", + "type": "string" + }, + "homepage": { + "description": "Link to the extension homepage", + "type": "string" + }, + "displayName": { + "description": "The name that will be displayed in the web interface", + "type": "string" + }, + "version": { + "description": "Extension version", + "type": "string" + }, + "nzbgetMinVersion": { + "description": "NZBGet minimum required version", + "type": "string" + }, + "author": { + "description": "Author's name", + "type": "string" + }, + "license": { + "description": "Extension license", + "type": "string" + }, + "about": { + "description": "Brief description of the extension", + "type": "string" + }, + "url": { + "description": "URL of extension archive", + "type": "string" + } + }, + "minItems": 0, + "required": [ + "name", + "homepage", + "displayName", + "version", + "nzbgetMinVersion", + "author", + "license", + "about", + "url" + ] + } +} \ No newline at end of file From 7fa3703eb124a97a64908802de9c56a30776b427 Mon Sep 17 00:00:00 2001 From: phnzb Date: Tue, 24 Sep 2024 16:26:58 +0300 Subject: [PATCH 06/16] Change workflow steps --- .github/workflows/check-master-manifest.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/check-master-manifest.yml b/.github/workflows/check-master-manifest.yml index e79b5a6..aa31d74 100644 --- a/.github/workflows/check-master-manifest.yml +++ b/.github/workflows/check-master-manifest.yml @@ -1,4 +1,4 @@ -name: manifest +name: check master manifest on: push: @@ -17,7 +17,7 @@ jobs: - name: Checkout uses: actions/checkout@v4 - - name: Check extension manifest + - name: Check master extensions manifest run: | pip install --user check-jsonschema check-jsonschema --schemafile json-schema/master-manifest.json extensions.json From 2be421401fcdb33fe6b136554d1e9ac91b156a1d Mon Sep 17 00:00:00 2001 From: phnzb Date: Tue, 24 Sep 2024 17:05:57 +0300 Subject: [PATCH 07/16] Update README --- README.md | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index ff532d3..3f1d63b 100644 --- a/README.md +++ b/README.md @@ -7,13 +7,33 @@ This repository contains a list of NZBGet extensions, which is used by the Exten 1. Make your extension compatible with NZBGet spec v23+. [Documentation](https://github.com/nzbgetcom/nzbget/blob/develop/docs/extensions/EXTENSIONS.md). -2. Once your extension is ready, please contact NZBGet maintainers to get it added into the extension manager -(we'll create a project for you - `https://github.com/nzbgetcom/Extension-YourExtensionName/`). +2. Make sure that yours extension repository contains the required and possibly optional workflows: -3. Create a fork of that repository, add your extension to it, and make a Pull request. +Mandatory: +- Prospector Python Static Analysis check +- Manifest check ->You can use any of nzbgetcom extension as example, -e.g [FakeDetector](https://github.com/nzbgetcom/Extension-FakeDetector). +Optional: +- Tests check (availability of tests is highly recommended) +- Release workflow + +Reusable workflows can be used from the current repository, an example of use is in the Example extensions repository (see below). + +3. Once your extension is ready, please contact NZBGet maintainers to get it added into the extension manager. +We will create a fork of your extension repository, mirror your release to include it in the extension manager, and make a PR to that repository. + +## Example extension (can be used as quickstart): + +https://github.com/nzbgetcom/Extenson-Example + +Demonstrates: +- Using extension parameters +- Using Tests +- Using workflows: + - Prospector check + - Manifest check + - Tests check + - Release workflow ## Questions You can use [issues](https://github.com/nzbgetcom/nzbget/issues) for any questions. From de51160ec8891cfa39fd6dedf7dd80afb1e9e010 Mon Sep 17 00:00:00 2001 From: phnzb Date: Wed, 25 Sep 2024 14:25:09 +0300 Subject: [PATCH 08/16] Update README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3f1d63b..b40be9e 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ Optional: - Tests check (availability of tests is highly recommended) - Release workflow -Reusable workflows can be used from the current repository, an example of use is in the Example extensions repository (see below). +Reusable workflows can be used from the current repository. For an example of their use, please refer to the Example extensions repository (see below). 3. Once your extension is ready, please contact NZBGet maintainers to get it added into the extension manager. We will create a fork of your extension repository, mirror your release to include it in the extension manager, and make a PR to that repository. From 2159e3d1c4103073dd8b32bf04032235f10fe6ab Mon Sep 17 00:00:00 2001 From: phnzb Date: Fri, 27 Sep 2024 10:11:16 +0300 Subject: [PATCH 09/16] Update README --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index b40be9e..facb95d 100644 --- a/README.md +++ b/README.md @@ -7,19 +7,19 @@ This repository contains a list of NZBGet extensions, which is used by the Exten 1. Make your extension compatible with NZBGet spec v23+. [Documentation](https://github.com/nzbgetcom/nzbget/blob/develop/docs/extensions/EXTENSIONS.md). -2. Make sure that yours extension repository contains the required and possibly optional workflows: +2. Make sure that your extension repository contains the required and possibly optional workflows: Mandatory: - Prospector Python Static Analysis check - Manifest check Optional: -- Tests check (availability of tests is highly recommended) +- Tests check (Having tests for your extension is highly recommended) - Release workflow Reusable workflows can be used from the current repository. For an example of their use, please refer to the Example extensions repository (see below). -3. Once your extension is ready, please contact NZBGet maintainers to get it added into the extension manager. +3. Once your extension is ready, please contact NZBGet maintainers (by creating Issue or Discussion) to get it added into the extension manager. We will create a fork of your extension repository, mirror your release to include it in the extension manager, and make a PR to that repository. ## Example extension (can be used as quickstart): From fa4d75eb4d1cf8b0f15d47c7cac07fbd42381588 Mon Sep 17 00:00:00 2001 From: phnzb Date: Fri, 27 Sep 2024 10:54:55 +0300 Subject: [PATCH 10/16] Add workflows documentation --- .github/workflows/extension-release.yml | 27 ++++++ README.md | 2 +- WORKFLOWS.md | 110 ++++++++++++++++++++++++ 3 files changed, 138 insertions(+), 1 deletion(-) create mode 100644 WORKFLOWS.md diff --git a/.github/workflows/extension-release.yml b/.github/workflows/extension-release.yml index bc1e40b..f0a8985 100644 --- a/.github/workflows/extension-release.yml +++ b/.github/workflows/extension-release.yml @@ -1,14 +1,41 @@ name: extension release +# NZBGet reusable workflow for extension release +# should be triggered on tag push +# example use: + +# name: release + +# on: +# push: +# tags: +# - "v*" + +# jobs: +# release: +# uses: nzbgetcom/nzbget-extensions/.github/workflows/extension-release.yml@main +# with: +# release-file-list: lib/ ChangeLog.txt README.* main.py manifest.json +# release-file-name: videosort +# release-dir: VideoSort + on: workflow_call: inputs: + # File list to include in extension archive, space separated. + # Wildcards can be used, directories should be ended with '/' + # example: release-file-list: lib/ ChangeLog.txt README.* main.py manifest.json release-file-list: required: true type: string + # release file base name + # example: release-file-name: videosort + # will produce releases files like videosort-1.0-dist.zip release-file-name: required: true type: string + # top level directory in archive to put all files in + # can be empty release-dir: type: string default: "" diff --git a/README.md b/README.md index facb95d..3eb5da1 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ Optional: - Tests check (Having tests for your extension is highly recommended) - Release workflow -Reusable workflows can be used from the current repository. For an example of their use, please refer to the Example extensions repository (see below). +Reusable workflows can be used from the current repository. Workflows documentation can be found [here](WORKFLOWS.md). For an example of their use, please refer to the Example extensions repository (see below). 3. Once your extension is ready, please contact NZBGet maintainers (by creating Issue or Discussion) to get it added into the extension manager. We will create a fork of your extension repository, mirror your release to include it in the extension manager, and make a PR to that repository. diff --git a/WORKFLOWS.md b/WORKFLOWS.md new file mode 100644 index 0000000..7c3cbf5 --- /dev/null +++ b/WORKFLOWS.md @@ -0,0 +1,110 @@ +# Reusable workflows for NZBGet Extensions: + +- [Prospector](#prospector) +- [Manifest](#manifest) +- [Tests](#tests) +- [Release](#release) + +## Prospector + +Runs prospector static analysis check (strictness - medium, bundled libs ignored). + +Recommended use: branch and tags push + +Example: + +``` +jobs: + prospector: + uses: nzbgetcom/nzbget-extensions/.github/workflows/prospector.yml@main +``` + +## Manifest + +Runs extension manifest check with check-jsonschema. + +Recommended use: branch and tags push + +Example: + +``` +jobs: + manifest: + uses: nzbgetcom/nzbget-extensions/.github/workflows/manifest.yml@main +``` + +## Tests + +Can be used with extensions written in python. Runs tests check with specified python versions. + +Recommended use: branch and tags push + +Parameters: + +- `python-versions` + + Python versions for running tests, space separated + +- `supported-python-versions` + + Python versions for which tests must be passed without error + +- `test-script` + + Name of test script in repository + +- `debug` + + Enable debug output, recommended + +Example: + +``` +jobs: + tests: + uses: nzbgetcom/nzbget-extensions/.github/workflows/python-tests.yml@main + with: + python-versions: "3.6 3.7 3.8 3.9 3.10 3.11 3.12" + supported-python-versions: "3.8 3.9 3.10 3.11 3.12" + test-script: tests.py + debug: true +``` + +## Release + +Create extension release from tag. + +Recommended use: `v*` tags push + +Parameters: + +- `release-file-list` + + Space separated list of files to include in release archive. Wildcards can be used. To include directory with contents, end its name with '/' + +- `release-file-name` + + Base file name for release archive. For an example: `videosort` will create release archives like `videosort-10.9-dist.zip` + +- `release-dir` + + Top level directory in release archive to put all files in + +Example: + +``` +name: release + +on: + push: + tags: + - "v*" + +jobs: + release: + uses: nzbgetcom/nzbget-extensions/.github/workflows/extension-release.yml@main + with: + release-file-list: lib/ ChangeLog.txt README.* main.py manifest.json + release-file-name: videosort + release-dir: VideoSort +``` From 83cbdbdff7a714d2934196a1710fe1559a5e0f86 Mon Sep 17 00:00:00 2001 From: phnzb Date: Fri, 27 Sep 2024 12:31:57 +0300 Subject: [PATCH 11/16] Update docs --- .github/workflows/check-master-manifest.yml | 4 +-- .github/workflows/extension-release.yml | 31 ++------------------- .github/workflows/manifest.yml | 2 +- README.md | 26 ++++++++--------- 4 files changed, 16 insertions(+), 47 deletions(-) diff --git a/.github/workflows/check-master-manifest.yml b/.github/workflows/check-master-manifest.yml index aa31d74..1484329 100644 --- a/.github/workflows/check-master-manifest.yml +++ b/.github/workflows/check-master-manifest.yml @@ -11,7 +11,7 @@ on: jobs: manifest: runs-on: ubuntu-latest - + steps: - name: Checkout @@ -19,5 +19,5 @@ jobs: - name: Check master extensions manifest run: | - pip install --user check-jsonschema + pip install --user check-jsonschema check-jsonschema --schemafile json-schema/master-manifest.json extensions.json diff --git a/.github/workflows/extension-release.yml b/.github/workflows/extension-release.yml index f0a8985..b903e23 100644 --- a/.github/workflows/extension-release.yml +++ b/.github/workflows/extension-release.yml @@ -1,41 +1,14 @@ name: extension release -# NZBGet reusable workflow for extension release -# should be triggered on tag push -# example use: - -# name: release - -# on: -# push: -# tags: -# - "v*" - -# jobs: -# release: -# uses: nzbgetcom/nzbget-extensions/.github/workflows/extension-release.yml@main -# with: -# release-file-list: lib/ ChangeLog.txt README.* main.py manifest.json -# release-file-name: videosort -# release-dir: VideoSort - on: workflow_call: inputs: - # File list to include in extension archive, space separated. - # Wildcards can be used, directories should be ended with '/' - # example: release-file-list: lib/ ChangeLog.txt README.* main.py manifest.json release-file-list: required: true type: string - # release file base name - # example: release-file-name: videosort - # will produce releases files like videosort-1.0-dist.zip release-file-name: required: true type: string - # top level directory in archive to put all files in - # can be empty release-dir: type: string default: "" @@ -43,10 +16,10 @@ on: jobs: release: runs-on: ubuntu-latest - + permissions: contents: write - + steps: - name: Checkout diff --git a/.github/workflows/manifest.yml b/.github/workflows/manifest.yml index 65fc0ff..31c85ee 100644 --- a/.github/workflows/manifest.yml +++ b/.github/workflows/manifest.yml @@ -15,5 +15,5 @@ jobs: - name: Check extension manifest run: | pip install --user check-jsonschema - curl -o /tmp/extension-manifest.json https://raw.githubusercontent.com/nzbgetcom/nzbget-extensions/feature/workflows/json-schema/extension-manifest.json + curl -o /tmp/extension-manifest.json https://raw.githubusercontent.com/nzbgetcom/nzbget-extensions/main/json-schema/extension-manifest.json check-jsonschema --schemafile /tmp/extension-manifest.json manifest.json diff --git a/README.md b/README.md index 3eb5da1..63d547c 100644 --- a/README.md +++ b/README.md @@ -4,22 +4,26 @@ This repository contains a list of NZBGet extensions, which is used by the Exten ## If you want to add your extension to this list, you will need -1. Make your extension compatible with NZBGet spec v23+. +1. Make your extension compatible with NZBGet spec v23+. [Documentation](https://github.com/nzbgetcom/nzbget/blob/develop/docs/extensions/EXTENSIONS.md). 2. Make sure that your extension repository contains the required and possibly optional workflows: Mandatory: -- Prospector Python Static Analysis check -- Manifest check +- [Prospector Python Static Analysis check](WORKFLOWS.md#prospector) +- [Manifest check](WORKFLOWS.md#manifest) Optional: -- Tests check (Having tests for your extension is highly recommended) -- Release workflow +- [Tests check](WORKFLOWS.md#tests) (Having tests for your extension is highly recommended) +- [Release workflow](WORKFLOWS.md#release) -Reusable workflows can be used from the current repository. Workflows documentation can be found [here](WORKFLOWS.md). For an example of their use, please refer to the Example extensions repository (see below). +Reusable workflows can be used from the current repository. -3. Once your extension is ready, please contact NZBGet maintainers (by creating Issue or Discussion) to get it added into the extension manager. +Workflows [documentation](WORKFLOWS.md). + +For an example of their use, please refer to the Example extensions repository (see [below](#example-extension-can-be-used-as-quickstart)). + +3. Once your extension is ready, please contact NZBGet maintainers (by creating [Issue](https://github.com/nzbgetcom/nzbget/issues) or [Discussion](https://github.com/nzbgetcom/nzbget/discussions)) to get it added into the extension manager. We will create a fork of your extension repository, mirror your release to include it in the extension manager, and make a PR to that repository. ## Example extension (can be used as quickstart): @@ -34,11 +38,3 @@ Demonstrates: - Manifest check - Tests check - Release workflow - -## Questions -You can use [issues](https://github.com/nzbgetcom/nzbget/issues) for any questions. - -## Maintainers: - - [luckedea](https://github.com/luckedea) - - [phnzb](https://github.com/phnzb) - - [dnzbk](https://github.com/dnzbk) From c95f51099df7a97d8986cd694694dc936edd9f06 Mon Sep 17 00:00:00 2001 From: phnzb Date: Fri, 27 Sep 2024 12:32:57 +0300 Subject: [PATCH 12/16] Update WORKFLOWS.md --- WORKFLOWS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WORKFLOWS.md b/WORKFLOWS.md index 7c3cbf5..0123f2d 100644 --- a/WORKFLOWS.md +++ b/WORKFLOWS.md @@ -7,7 +7,7 @@ ## Prospector -Runs prospector static analysis check (strictness - medium, bundled libs ignored). +Runs [Prospector](https://prospector.landscape.io) static analysis check (strictness - medium, bundled libs ignored). Recommended use: branch and tags push From a1aa3041e6e84ba230068cb81154d87536c26b8e Mon Sep 17 00:00:00 2001 From: phnzb Date: Fri, 27 Sep 2024 12:43:52 +0300 Subject: [PATCH 13/16] Format README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 63d547c..85a81d4 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ This repository contains a list of NZBGet extensions, which is used by the Exten 2. Make sure that your extension repository contains the required and possibly optional workflows: +
    Mandatory: - [Prospector Python Static Analysis check](WORKFLOWS.md#prospector) - [Manifest check](WORKFLOWS.md#manifest) @@ -22,6 +23,7 @@ Reusable workflows can be used from the current repository. Workflows [documentation](WORKFLOWS.md). For an example of their use, please refer to the Example extensions repository (see [below](#example-extension-can-be-used-as-quickstart)). +
3. Once your extension is ready, please contact NZBGet maintainers (by creating [Issue](https://github.com/nzbgetcom/nzbget/issues) or [Discussion](https://github.com/nzbgetcom/nzbget/discussions)) to get it added into the extension manager. We will create a fork of your extension repository, mirror your release to include it in the extension manager, and make a PR to that repository. From bda9be25e1dd11883be0b6d7e1fbf5c5fe001383 Mon Sep 17 00:00:00 2001 From: phnzb Date: Fri, 27 Sep 2024 12:45:22 +0300 Subject: [PATCH 14/16] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 85a81d4..1229c70 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ This repository contains a list of NZBGet extensions, which is used by the Exten 2. Make sure that your extension repository contains the required and possibly optional workflows:
    + Mandatory: - [Prospector Python Static Analysis check](WORKFLOWS.md#prospector) - [Manifest check](WORKFLOWS.md#manifest) @@ -23,6 +24,7 @@ Reusable workflows can be used from the current repository. Workflows [documentation](WORKFLOWS.md). For an example of their use, please refer to the Example extensions repository (see [below](#example-extension-can-be-used-as-quickstart)). +
3. Once your extension is ready, please contact NZBGet maintainers (by creating [Issue](https://github.com/nzbgetcom/nzbget/issues) or [Discussion](https://github.com/nzbgetcom/nzbget/discussions)) to get it added into the extension manager. From d35861e5dfbe278f46fcd6eb906ff792ae558ee5 Mon Sep 17 00:00:00 2001 From: phnzb Date: Fri, 27 Sep 2024 12:46:10 +0300 Subject: [PATCH 15/16] Update README.md --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 1229c70..e4ded39 100644 --- a/README.md +++ b/README.md @@ -11,13 +11,13 @@ This repository contains a list of NZBGet extensions, which is used by the Exten
    -Mandatory: -- [Prospector Python Static Analysis check](WORKFLOWS.md#prospector) -- [Manifest check](WORKFLOWS.md#manifest) +- Mandatory: + - [Prospector Python Static Analysis check](WORKFLOWS.md#prospector) + - [Manifest check](WORKFLOWS.md#manifest) -Optional: -- [Tests check](WORKFLOWS.md#tests) (Having tests for your extension is highly recommended) -- [Release workflow](WORKFLOWS.md#release) +- Optional: + - [Tests check](WORKFLOWS.md#tests) (Having tests for your extension is highly recommended) + - [Release workflow](WORKFLOWS.md#release) Reusable workflows can be used from the current repository. From 50e124eb96f1b84e474c6db20fd1473846f1f2cc Mon Sep 17 00:00:00 2001 From: phnzb Date: Fri, 27 Sep 2024 12:47:15 +0300 Subject: [PATCH 16/16] Update README.md --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index e4ded39..5dc5222 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,9 @@ This repository contains a list of NZBGet extensions, which is used by the Exten - Optional: - [Tests check](WORKFLOWS.md#tests) (Having tests for your extension is highly recommended) - [Release workflow](WORKFLOWS.md#release) +
+ +
    Reusable workflows can be used from the current repository.