Compare commits

..

No commits in common. "master" and "v1.0.8" have entirely different histories.

3 changed files with 76 additions and 27 deletions

View File

@ -78,13 +78,28 @@ jobs:
REPO_NAME="${{ github.event.repository.name }}"
GITEA_URL="${{ github.server_url }}"
# Create release using Gitea API
VERSION="${{ steps.get_version.outputs.version }}"
# Prepare release body in a file to avoid escaping issues
MANIFEST_URL="${GITEA_URL}/${REPO_OWNER}/${REPO_NAME}/raw/branch/master/manifest.json"
cat > /tmp/release_body.txt << EOF
Jellypod Jellyfin Plugin ${{ steps.get_version.outputs.version }}
See attached files for plugin installation.
To install, add this repository URL to Jellyfin:
${MANIFEST_URL}
EOF
# Create release using Gitea API with jq for proper JSON
RESPONSE=$(curl -s -w "\n%{http_code}" -X POST \
-H "Authorization: token ${GITEA_TOKEN}" \
-H "Content-Type: application/json" \
"${GITEA_URL}/api/v1/repos/${REPO_OWNER}/${REPO_NAME}/releases" \
-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}')")
-d "$(jq -n \
--arg tag "${{ steps.get_version.outputs.version }}" \
--arg name "Release ${{ steps.get_version.outputs.version }}" \
--rawfile body /tmp/release_body.txt \
'{tag_name: $tag, name: $name, body: $body, draft: false, prerelease: false}'
)")
HTTP_CODE=$(echo "$RESPONSE" | tail -n1)
BODY=$(echo "$RESPONSE" | sed '$d')
@ -139,15 +154,21 @@ jobs:
git fetch origin 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
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
jq --argjson newver "${NEW_VERSION}" '.[0].versions = [$newver] + .[0].versions' manifest.json > manifest.tmp && mv manifest.tmp manifest.json
# Commit and push
git add manifest.json

View File

@ -0,0 +1,44 @@
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

View File

@ -8,22 +8,6 @@
"category": "General",
"imageUrl": "https://gitea.tourolle.paris/dtourolle/jellypod/raw/branch/master/Jellyfin.Plugin.Jellypod/Images/channel-icon.jpg",
"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",