6 Commits

Author SHA1 Message Date
sleeps da9739060d Publish Facial Recognition 0.1.0.2 2026-10-15 19:23:18 +01:00
sleeps 486dc2d8e9 Publish Facial Recognition 0.1.0.1 2026-10-15 19:21:05 +01:00
sleeps b5fd15c25f Publish Facial Recognition 0.1.0.0 2026-10-15 19:02:05 +01:00
sleeps 7036ff7917 Publish Facial Recognition 0.1.0.0 2026-10-15 18:52:28 +01:00
sleeps 2494152a39 Update .gitea/workflows/publish.yml 2026-10-15 18:51:42 +01:00
sleeps 225305bf14 Publish Scene Search 0.1.5.0 2026-10-15 17:41:20 +01:00
2 changed files with 70 additions and 48 deletions
+16 -48
View File
@@ -1,75 +1,43 @@
name: Publish Scene Search Jellyfin Plugin
name: Publish Facial Recognition to Jellyfin
on:
workflow_dispatch:
inputs:
release_tag:
description: "Scene Search version tag, e.g. v0.1.5.0"
required: true
default: "v0.1.5.0"
jobs:
publish:
runs-on: ubuntu-latest
container:
image: node:20-bookworm
options: --add-host=git.trufflemonkey.co.uk:51.195.138.163
steps:
- name: Check out Gitea distribution repository
uses: actions/checkout@v4
- name: Set up SSH for private GitHub source
- name: Configure read-only GitHub SSH access
env:
SOURCE_DEPLOY_KEY: ${{ secrets.SCENE_SEARCH_DEPLOY_KEY }}
DEPLOY_KEY: ${{ secrets.FACIAL_RECOGNITION_DEPLOY_KEY }}
run: |
set -eu
test -n "$SOURCE_DEPLOY_KEY" || { echo "Missing SCENE_SEARCH_DEPLOY_KEY"; exit 1; }
install -d -m 700 ~/.ssh
printf '%s\n' "$SOURCE_DEPLOY_KEY" > ~/.ssh/id_ed25519
test -n "$DEPLOY_KEY" || { echo "Missing FACIAL_RECOGNITION_DEPLOY_KEY"; exit 1; }
mkdir -p ~/.ssh
chmod 700 ~/.ssh
printf '%s\n' "$DEPLOY_KEY" > ~/.ssh/id_ed25519
chmod 600 ~/.ssh/id_ed25519
ssh-keyscan -H github.com >> ~/.ssh/known_hosts
chmod 600 ~/.ssh/known_hosts
- name: Clone private Scene Search at release tag
- name: Clone private Facial Recognition source
env:
RELEASE_TAG: ${{ inputs.release_tag }}
GIT_SSH_COMMAND: "ssh -i ~/.ssh/id_ed25519 -o IdentitiesOnly=yes -o StrictHostKeyChecking=yes"
run: |
set -eu
git clone --filter=blob:none git@github.com:MrSleeps/jellyfin-scene-search.git source
cd source
git fetch origin "refs/tags/$RELEASE_TAG:refs/tags/$RELEASE_TAG"
git checkout --detach "$RELEASE_TAG"
git clone --depth 1 git@github.com:MrSleeps/jellyfin-facial-recognition.git facial-recognition
- name: Install .NET 10 SDK
- name: Set up .NET 10 SDK
uses: actions/setup-dotnet@v4
with:
dotnet-version: '10.0.x'
dotnet-version: "10.0.x"
- name: Test Gitea API connectivity
run: |
echo "DNS resolution:"
getent ahosts git.trufflemonkey.co.uk || true
echo "Testing Gitea API:"
for i in 1 2 3 4 5; do
echo "Attempt $i"
curl -4 -v \
--connect-timeout 5 \
--max-time 15 \
https://git.trufflemonkey.co.uk/api/v1/version
echo
done
- name: Build and publish
- name: Build and publish Facial Recognition
env:
RELEASE_TAG: ${{ inputs.release_tag }}
GITEA_URL: https://git.trufflemonkey.co.uk
GITEA_REPO: sleeps/jellyfin-plugins
GITEA_TOKEN: ${{ secrets.SCENE_SEARCH_RELEASE_TOKEN }}
run: |
set -eu
test -n "$GITEA_TOKEN" || { echo "Missing SCENE_SEARCH_RELEASE_TOKEN"; exit 1; }
cd source
dotnet build jellyfin-plugin/Jellyfin.Plugin.SceneSearch/Jellyfin.Plugin.SceneSearch.csproj -c Release --nologo
python3 scripts/publish-jellyfin-plugin.py --publish
test -n "$GITEA_TOKEN" || { echo "Missing Gitea release token"; exit 1; }
cd facial-recognition
dotnet build jellyfin-plugin/Jellyfin.Plugin.FacialRecognition/Jellyfin.Plugin.FacialRecognition.csproj --configuration Release --nologo
python3 scripts/publish-gitea-plugin.py
+54
View File
@@ -0,0 +1,54 @@
[
{
"guid": "2d8d1bb5-3f0c-4d5a-9d59-934463c06d35",
"name": "Scene Search",
"description": "Find scenes within your Jellyfin libraries using semantic search.",
"overview": "Jellyfin integration for the separately hosted Scene Search service.",
"owner": "MrSleeps",
"category": "General",
"versions": [
{
"version": "0.1.5.0",
"changelog": "Scene Search 0.1.5.0",
"targetAbi": "12.0.0.0",
"sourceUrl": "https://git.trufflemonkey.co.uk/attachments/c7ce3a81-054e-4b06-9cae-029c955e3121",
"checksum": "9b4a103c9d08a2bb0dfec65e070fb8e0",
"timestamp": "2026-10-15T16:41:20Z"
}
]
},
{
"guid": "bc8771b0-5ad9-4c87-9f37-6c6e5658c425",
"name": "Facial Recognition",
"description": "Manage face review and scheduled new-face scanning from Jellyfin.",
"overview": "Review and name people inside Jellyfin.",
"owner": "MrSleeps",
"category": "General",
"versions": [
{
"version": "0.1.0.2",
"changelog": "Align the .NET plugin assembly version with the Jellyfin catalogue version.",
"targetAbi": "12.0.0.0",
"sourceUrl": "https://git.trufflemonkey.co.uk/sleeps/jellyfin-plugins/releases/download/facial-recognition-v0.1.0.2/FacialRecognition-0.1.0.2.zip",
"checksum": "86a0bc4feacff7324ea2c55f972c42ba",
"timestamp": "2026-10-15T19:00:00Z"
},
{
"version": "0.1.0.1",
"changelog": "Fix the Jellyfin configuration page JavaScript syntax and settings controls.",
"targetAbi": "12.0.0.0",
"sourceUrl": "https://git.trufflemonkey.co.uk/sleeps/jellyfin-plugins/releases/download/facial-recognition-v0.1.0.1/FacialRecognition-0.1.0.1.zip",
"checksum": "8cce6ca2e1fad6ceca937b1b3939952a",
"timestamp": "2026-10-15T18:55:00Z"
},
{
"version": "0.1.0.0",
"changelog": "Initial Jellyfin facial recognition dashboard and scheduled scan integration.",
"targetAbi": "12.0.0.0",
"sourceUrl": "https://git.trufflemonkey.co.uk/sleeps/jellyfin-plugins/releases/download/facial-recognition-v0.1.0.0/FacialRecognition-0.1.0.0.zip",
"checksum": "76619bf18e1150c854cf643902e30c89",
"timestamp": "2026-10-10T00:00:00Z"
}
]
}
]