Compare commits

..

9 Commits

Author SHA1 Message Date
Gitea Actions
361028574e Update manifest.json for version 1.0.10 2026-01-11 09:06:37 +00:00
c81845c338 remove un-need test workflow
All checks were successful
🏗️ Build Plugin / build (push) Successful in 1m33s
🚀 Release Plugin / build-and-release (push) Successful in 1m38s
2026-01-11 10:03:25 +01:00
Gitea Actions
0348cb3d09 Update manifest.json for version 1.0.9 2026-01-11 09:02:21 +00:00
a3ba704882 ymf
Some checks failed
🧪 Test Plugin / test (push) Failing after 3m8s
🏗️ Build Plugin / build (push) Successful in 44s
🚀 Release Plugin / build-and-release (push) Successful in 1m38s
2026-01-11 09:56:44 +01:00
77bbc87a1a ymf
Some checks failed
🏗️ Build Plugin / build (push) Successful in 39s
🧪 Test Plugin / test (push) Successful in 1m5s
🚀 Release Plugin / build-and-release (push) Failing after 45s
2026-01-11 09:52:11 +01:00
d4842c2361 fixing new build system
Some checks failed
🏗️ Build Plugin / build (push) Successful in 48s
🧪 Test Plugin / test (push) Successful in 1m4s
🚀 Release Plugin / build-and-release (push) Failing after 46s
2026-01-11 09:43:51 +01:00
67619a4f56 impoving build system
Some checks failed
🏗️ Build Plugin / build (push) Successful in 57s
🧪 Test Plugin / test (push) Successful in 1m12s
🚀 Release Plugin / build-and-release (push) Failing after 39s
2026-01-11 09:40:18 +01:00
cdf53c5288 Add docker to simplify build
Some checks failed
🧪 Test Plugin / test (push) Successful in 1m10s
🏗️ Build Plugin / build (push) Failing after 20m0s
🚀 Release Plugin / build-and-release (push) Failing after 2m46s
2026-01-10 21:01:28 +01:00
Gitea Actions
6be05158d0 Update manifest.json for version 1.0.4 2026-01-10 18:48:09 +00:00
5 changed files with 56 additions and 83 deletions

View File

@ -15,15 +15,14 @@ on:
jobs: jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-22.04
container:
image: gitea.tourolle.paris/dtourolle/jellypod-builder:latest
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Verify .NET installation
run: dotnet --version
- name: Restore dependencies - name: Restore dependencies
run: dotnet restore Jellyfin.Plugin.Jellypod.sln run: dotnet restore Jellyfin.Plugin.Jellypod.sln
@ -36,10 +35,7 @@ jobs:
- name: Build Jellyfin Plugin - name: Build Jellyfin Plugin
id: jprm id: jprm
run: | run: |
# Create artifacts directory for JPRM output
mkdir -p artifacts mkdir -p artifacts
# Build plugin using JPRM
jprm --verbosity=debug plugin build . jprm --verbosity=debug plugin build .
# Find the generated zip file # Find the generated zip file

View File

@ -13,15 +13,14 @@ on:
jobs: jobs:
build-and-release: build-and-release:
runs-on: ubuntu-latest runs-on: ubuntu-22.04
container:
image: gitea.tourolle.paris/dtourolle/jellypod-builder:latest
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Verify .NET installation
run: dotnet --version
- name: Get version - name: Get version
id: get_version id: get_version
run: | run: |
@ -52,10 +51,7 @@ jobs:
- name: Build Jellyfin Plugin - name: Build Jellyfin Plugin
id: jprm id: jprm
run: | run: |
# Create artifacts directory for JPRM output
mkdir -p artifacts mkdir -p artifacts
# Build plugin using JPRM
jprm --verbosity=debug plugin build ./ jprm --verbosity=debug plugin build ./
# Find the generated zip file # Find the generated zip file
@ -82,22 +78,13 @@ jobs:
REPO_NAME="${{ github.event.repository.name }}" REPO_NAME="${{ github.event.repository.name }}"
GITEA_URL="${{ github.server_url }}" GITEA_URL="${{ github.server_url }}"
# Prepare release body
RELEASE_BODY="Jellypod Jellyfin Plugin ${{ steps.get_version.outputs.version }}\n\nSee attached files for plugin installation.\n\nTo install, add this repository URL to Jellyfin:\n\`${GITEA_URL}/${REPO_OWNER}/${REPO_NAME}/raw/branch/master/manifest.json\`"
RELEASE_BODY_JSON=$(echo -n "${RELEASE_BODY}" | jq -Rs .)
# Create release using Gitea API # Create release using Gitea API
VERSION="${{ steps.get_version.outputs.version }}"
RESPONSE=$(curl -s -w "\n%{http_code}" -X POST \ RESPONSE=$(curl -s -w "\n%{http_code}" -X POST \
-H "Authorization: token ${GITEA_TOKEN}" \ -H "Authorization: token ${GITEA_TOKEN}" \
-H "Content-Type: application/json" \ -H "Content-Type: application/json" \
"${GITEA_URL}/api/v1/repos/${REPO_OWNER}/${REPO_NAME}/releases" \ "${GITEA_URL}/api/v1/repos/${REPO_OWNER}/${REPO_NAME}/releases" \
-d "{ -d "$(jq -n --arg tag "$VERSION" --arg name "Release $VERSION" --arg body "Jellypod Jellyfin Plugin. See attached files for plugin installation." '{tag_name: $tag, name: $name, body: $body, draft: false, prerelease: false}')")
\"tag_name\": \"${{ steps.get_version.outputs.version }}\",
\"name\": \"Release ${{ steps.get_version.outputs.version }}\",
\"body\": ${RELEASE_BODY_JSON},
\"draft\": false,
\"prerelease\": false
}")
HTTP_CODE=$(echo "$RESPONSE" | tail -n1) HTTP_CODE=$(echo "$RESPONSE" | tail -n1)
BODY=$(echo "$RESPONSE" | sed '$d') BODY=$(echo "$RESPONSE" | sed '$d')
@ -152,21 +139,15 @@ jobs:
git fetch origin master git fetch origin master
git checkout master git checkout master
# Create new version entry
NEW_VERSION=$(cat <<EOF
{
"version": "${VERSION}",
"changelog": "Release ${VERSION}",
"targetAbi": "10.9.0.0",
"sourceUrl": "${DOWNLOAD_URL}",
"checksum": "${CHECKSUM}",
"timestamp": "${TIMESTAMP}"
}
EOF
)
# Update manifest.json - prepend new version to versions array # Update manifest.json - prepend new version to versions array
jq --argjson newver "${NEW_VERSION}" '.[0].versions = [$newver] + .[0].versions' manifest.json > manifest.tmp && mv manifest.tmp manifest.json jq --arg ver "${VERSION}" \
--arg changelog "Release ${VERSION}" \
--arg abi "10.9.0.0" \
--arg url "${DOWNLOAD_URL}" \
--arg checksum "${CHECKSUM}" \
--arg ts "${TIMESTAMP}" \
'.[0].versions = [{version: $ver, changelog: $changelog, targetAbi: $abi, sourceUrl: $url, checksum: $checksum, timestamp: $ts}] + .[0].versions' \
manifest.json > manifest.tmp && mv manifest.tmp manifest.json
# Commit and push # Commit and push
git add manifest.json git add manifest.json

View File

@ -1,44 +0,0 @@
name: '🧪 Test Plugin'
on:
push:
branches:
- master
- develop
paths-ignore:
- '**/*.md'
pull_request:
branches:
- master
- develop
paths-ignore:
- '**/*.md'
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Verify .NET installation
run: dotnet --version
- name: Restore dependencies
run: dotnet restore Jellyfin.Plugin.Jellypod.sln
- name: Build solution
run: dotnet build Jellyfin.Plugin.Jellypod.sln --configuration Debug --no-restore --no-self-contained
- name: Run tests
run: dotnet test Jellyfin.Plugin.Jellypod.sln --no-build --configuration Debug --verbosity normal --logger "trx;LogFileName=test-results.trx"
- name: Upload test results
if: always()
uses: actions/upload-artifact@v3
with:
name: test-results
path: '**/test-results.trx'
retention-days: 7

16
Dockerfile.build Normal file
View File

@ -0,0 +1,16 @@
FROM mcr.microsoft.com/dotnet/sdk:8.0
# Install Python, Node.js, and tools
RUN apt-get update && apt-get install -y \
python3 \
python3-pip \
jq \
git \
nodejs \
npm \
&& rm -rf /var/lib/apt/lists/*
# Install JPRM
RUN pip install --break-system-packages jprm
WORKDIR /src

View File

@ -8,6 +8,30 @@
"category": "General", "category": "General",
"imageUrl": "https://gitea.tourolle.paris/dtourolle/jellypod/raw/branch/master/Jellyfin.Plugin.Jellypod/Images/channel-icon.jpg", "imageUrl": "https://gitea.tourolle.paris/dtourolle/jellypod/raw/branch/master/Jellyfin.Plugin.Jellypod/Images/channel-icon.jpg",
"versions": [ "versions": [
{
"version": "1.0.10",
"changelog": "Release 1.0.10",
"targetAbi": "10.9.0.0",
"sourceUrl": "https://gitea.tourolle.paris/dtourolle/jellypod/releases/download/v1.0.10/jellypod_1.0.10.0.zip",
"checksum": "37509ee316e5731b7dcfef394099ac53",
"timestamp": "2026-01-11T09:06:37Z"
},
{
"version": "1.0.9",
"changelog": "Release 1.0.9",
"targetAbi": "10.9.0.0",
"sourceUrl": "https://gitea.tourolle.paris/dtourolle/jellypod/releases/download/v1.0.9/jellypod_1.0.9.0.zip",
"checksum": "f1f4ade3fc5483118d1171e636b67007",
"timestamp": "2026-01-11T09:02:21Z"
},
{
"version": "1.0.4",
"changelog": "Release 1.0.4",
"targetAbi": "10.9.0.0",
"sourceUrl": "https://gitea.tourolle.paris/dtourolle/jellypod/releases/download/v1.0.4/jellypod_1.0.4.0.zip",
"checksum": "0e0c134e6584581a8498cb17dfda334b",
"timestamp": "2026-01-10T18:48:08Z"
},
{ {
"version": "1.0.2", "version": "1.0.2",
"changelog": "Release 1.0.2", "changelog": "Release 1.0.2",