diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml new file mode 100644 index 0000000..c1536c8 --- /dev/null +++ b/.github/workflows/build.yaml @@ -0,0 +1,76 @@ +name: TubeArchivistMetadata Release + +on: + push: + tags: + - v* + +jobs: + build: + runs-on: ubuntu-latest + name: Build & Release + permissions: + contents: write + + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + ref: ${{ github.ref }} + fetch-depth: 0 + + - name: Get release version + id: newtag + uses: "WyriHaximus/github-action-get-previous-tag@v1" + + - name: Setup .Net + uses: actions/setup-dotnet@v1 + with: + dotnet-version: 6.0.x + + - name: Get version number only + run: | + TAG=${{ steps.newtag.outputs.tag }} + echo "VERSION=${TAG#v}" >> $GITHUB_ENV + + - name: Generate release message + run: | + # Read the YAML file and extract the value of the 'changelog' field + changelog=$(awk '/changelog:/ {flag=1; next} /^[^ ]/ {flag=0} flag' build.yaml | awk '{$1=$1};1') + + # Check if changelog contains multiple lines + if [[ $(echo "$changelog" | wc -l) -gt 1 ]]; then + changelog=$(echo "$changelog" | sed 's/^/* /') + else + changelog="* $changelog" + fi + + # Create release-changelog.md + echo "Changelog:" > release-changelog.md + echo "$changelog" >> release-changelog.md + + + - name: Build Jellyfin Plugin + uses: oddstr13/jellyfin-plugin-repository-manager@843260fcdfda7cba229c5abd77bdd9c6fc4e850b # v1.1.0 + id: jprm + with: + dotnet-target: net6.0 + version: ${VERSION} + + - name: Create release + uses: ncipollo/release-action@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} + artifacts: ${{ steps.jprm.outputs.artifact }} + makeLatest: latest + bodyFile: release-changelog.md + tag: ${{ steps.newtag.outputs.tag }} + allowUpdates: true + + - name: Update manifest.json + uses: stefanzweifel/git-auto-commit-action@v4 + with: + branch: master + commit_message: "Update manifest.json" + file_pattern: manifest.json + skip_fetch: true diff --git a/README.md b/README.md index 847a152..a96d07e 100644 --- a/README.md +++ b/README.md @@ -30,11 +30,11 @@ The plugin interacts with TubeArchivist APIs to fetch videos and channels metada 3. Go to the `Catalog` tab 4. Find `TubeArchivistMetadata` in the `Metadata` section and install it -![Find plugin](https://github.com/tubearchivist/tubearchivist-jf-plugin/assets/31162436/86897215-bac5-4cef-8bd3-ffec731b0875) +![Find plugin](https://github.com/tubearchivist/tubearchivist-jf-plugin/assets/31162436/a30a14c2-33cd-44c1-b96a-406662726e5e) 5. Restart Jellyfin to apply the changes ### From ZIP in GitHub releases -1. Download the latest available release (`TubeArchivistMetadata-*.zip`) from the repository releases section +1. Download the latest available release (`tubearchivistmetadata_*.zip`) from the repository releases section 2. Extract the contained files in the `plugins/TubeArchivistMetadata` folder (you might need to create the folders) of your Jellyfin installation 3. Restart Jellyfin to apply the changes diff --git a/TubeArchivistMetadata.sln b/TubeArchivistMetadata.sln new file mode 100644 index 0000000..c9406f6 --- /dev/null +++ b/TubeArchivistMetadata.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.0.31903.59 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jellyfin.Plugin.TubeArchivistMetadata", "Jellyfin.Plugin.TubeArchivistMetadata\Jellyfin.Plugin.TubeArchivistMetadata.csproj", "{7A112ACB-79E8-4FC9-BCF6-B3AC849DA2D4}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {7A112ACB-79E8-4FC9-BCF6-B3AC849DA2D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7A112ACB-79E8-4FC9-BCF6-B3AC849DA2D4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7A112ACB-79E8-4FC9-BCF6-B3AC849DA2D4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7A112ACB-79E8-4FC9-BCF6-B3AC849DA2D4}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection +EndGlobal diff --git a/build.yaml b/build.yaml index 921fdb3..e557709 100644 --- a/build.yaml +++ b/build.yaml @@ -1,6 +1,7 @@ --- name: "TubeArchivistMetadata" guid: "dc97d0c6-28b0-4242-afb4-5833ae1b3715" +imageUrl: https://raw.githubusercontent.com/tubearchivist/tubearchivist-jf-plugin/master/images/logo.png version: "1.2.3.0" targetAbi: "10.8.0.0" framework: "net6.0" diff --git a/manifest.json b/manifest.json index 80a04c8..2e76157 100644 --- a/manifest.json +++ b/manifest.json @@ -3,7 +3,7 @@ "category": "Metadata", "guid": "dc97d0c6-28b0-4242-afb4-5833ae1b3715", "name": "TubeArchivistMetadata", - "description": "A new and fully integrated way to manage metadata and organize your TubeArchivist library videos on Jellyfin.", + "description": "TubeArchivistMetadata is a plugin that automatically manages metadata for videos downloaded with TubeArchivist from YouTube.\n", "owner": "DarkFighterLuke", "overview": "Metadata for your TubeArchivist library on Jellyfin", "imageUrl": "https://raw.githubusercontent.com/tubearchivist/tubearchivist-jf-plugin/master/images/logo.png",