mirror of
https://github.com/jellyfin/jellyfin-plugin-tvmaze.git
synced 2024-11-26 23:50:36 +00:00
Merge pull request #42 from jellyfin/ci
This commit is contained in:
commit
9684dc7bfc
37
.github/workflows/build-dotnet.yml
vendored
37
.github/workflows/build-dotnet.yml
vendored
@ -1,37 +0,0 @@
|
|||||||
name: Build Plugin
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: [ master ]
|
|
||||||
paths-ignore:
|
|
||||||
- '**/*.md'
|
|
||||||
pull_request:
|
|
||||||
branches: [ master ]
|
|
||||||
paths-ignore:
|
|
||||||
- '**/*.md'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Setup .NET Core
|
|
||||||
uses: actions/setup-dotnet@v1
|
|
||||||
with:
|
|
||||||
dotnet-version: 6.0.x
|
|
||||||
include-prerelease: true
|
|
||||||
|
|
||||||
- name: Build Jellyfin Plugin
|
|
||||||
uses: oddstr13/jellyfin-plugin-repository-manager@v0.4.2
|
|
||||||
id: jprm
|
|
||||||
with:
|
|
||||||
dotnet-target: net6.0
|
|
||||||
|
|
||||||
- name: Upload Artifact
|
|
||||||
uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: build-artifact
|
|
||||||
retention-days: 30
|
|
||||||
if-no-files-found: error
|
|
||||||
path: ${{ steps.jprm.outputs.artifact }}
|
|
18
.github/workflows/build.yaml
vendored
Normal file
18
.github/workflows/build.yaml
vendored
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
name: '🏗️ Build Plugin'
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
paths-ignore:
|
||||||
|
- '**/*.md'
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
paths-ignore:
|
||||||
|
- '**/*.md'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
call:
|
||||||
|
uses: jellyfin/jellyfin-meta-plugins/.github/workflows/build.yaml@master
|
14
.github/workflows/bump-version.yaml
vendored
Normal file
14
.github/workflows/bump-version.yaml
vendored
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
name: "🆙 Bump Version"
|
||||||
|
|
||||||
|
on:
|
||||||
|
release:
|
||||||
|
types:
|
||||||
|
- published
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
call:
|
||||||
|
uses: jellyfin/jellyfin-meta-plugins/.github/workflows/bump-version.yaml@master
|
||||||
|
with:
|
||||||
|
csproj-name: Jellyfin.Plugin.TvMaze
|
||||||
|
is-unstable: ${{ github.event.release.prerelease }}
|
20
.github/workflows/changelog.yaml
vendored
Normal file
20
.github/workflows/changelog.yaml
vendored
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
name: '📝 Create/Update Release Draft & Release Bump PR'
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
paths-ignore:
|
||||||
|
- build.yaml
|
||||||
|
workflow_dispatch:
|
||||||
|
repository_dispatch:
|
||||||
|
types:
|
||||||
|
- update-prep-command
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
call:
|
||||||
|
uses: jellyfin/jellyfin-meta-plugins/.github/workflows/changelog.yaml@master
|
||||||
|
with:
|
||||||
|
repository-name: jellyfin/jellyfin-plugin-tvmaze
|
||||||
|
secrets:
|
||||||
|
token: ${{ secrets.JF_BOT_TOKEN }}
|
46
.github/workflows/codeql-analysis.yml
vendored
46
.github/workflows/codeql-analysis.yml
vendored
@ -1,46 +0,0 @@
|
|||||||
name: Run CodeQL
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: [ master ]
|
|
||||||
paths-ignore:
|
|
||||||
- '**/*.md'
|
|
||||||
pull_request:
|
|
||||||
branches: [ master ]
|
|
||||||
paths-ignore:
|
|
||||||
- '**/*.md'
|
|
||||||
schedule:
|
|
||||||
- cron: '24 2 * * 4'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
analyze:
|
|
||||||
name: Analyze
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
if: github.repository == 'jellyfin/jellyfin-plugin-tvmaze'
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
language: [ 'csharp' ]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Setup .NET Core
|
|
||||||
uses: actions/setup-dotnet@v1
|
|
||||||
with:
|
|
||||||
dotnet-version: 6.0.x
|
|
||||||
include-prerelease: true
|
|
||||||
|
|
||||||
- name: Initialize CodeQL
|
|
||||||
uses: github/codeql-action/init@v1
|
|
||||||
with:
|
|
||||||
languages: ${{ matrix.language }}
|
|
||||||
queries: +security-and-quality
|
|
||||||
|
|
||||||
- name: Autobuild
|
|
||||||
uses: github/codeql-action/autobuild@v1
|
|
||||||
|
|
||||||
- name: Perform CodeQL Analysis
|
|
||||||
uses: github/codeql-action/analyze@v1
|
|
18
.github/workflows/command-dispatch.yaml
vendored
18
.github/workflows/command-dispatch.yaml
vendored
@ -1,5 +1,5 @@
|
|||||||
# Allows for the definition of PR and Issue /commands
|
# Allows for the definition of PR and Issue /commands
|
||||||
name: Slash Command Dispatcher
|
name: '📟 Slash Command Dispatcher'
|
||||||
|
|
||||||
on:
|
on:
|
||||||
issue_comment:
|
issue_comment:
|
||||||
@ -7,15 +7,7 @@ on:
|
|||||||
- created
|
- created
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
launcher:
|
call:
|
||||||
runs-on: ubuntu-latest
|
uses: jellyfin/jellyfin-meta-plugins/.github/workflows/command-dispatch.yaml@master
|
||||||
steps:
|
secrets:
|
||||||
- name: Command Dispatch
|
token: ${{ secrets.JF_BOT_TOKEN }}
|
||||||
uses: peter-evans/slash-command-dispatch@v2
|
|
||||||
with:
|
|
||||||
token: ${{ secrets.JF_BOT_TOKEN }}
|
|
||||||
permission: write
|
|
||||||
issue-type: pull-request
|
|
||||||
commands: |-
|
|
||||||
rebase
|
|
||||||
update-prep
|
|
||||||
|
36
.github/workflows/command-rebase.yaml
vendored
36
.github/workflows/command-rebase.yaml
vendored
@ -1,4 +1,4 @@
|
|||||||
name: PR Rebase Command
|
name: '🔀 PR Rebase Command'
|
||||||
|
|
||||||
on:
|
on:
|
||||||
repository_dispatch:
|
repository_dispatch:
|
||||||
@ -6,29 +6,11 @@ on:
|
|||||||
- rebase-command
|
- rebase-command
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
rebase:
|
call:
|
||||||
runs-on: ubuntu-latest
|
uses: jellyfin/jellyfin-meta-plugins/.github/workflows/command-rebase.yaml@master
|
||||||
steps:
|
with:
|
||||||
- name: Rebase PR
|
rebase-head: ${{ github.event.client_payload.pull_request.head.label }}
|
||||||
uses: peter-evans/rebase@v1
|
repository-full-name: ${{ github.event.client_payload.github.payload.repository.full_name }}
|
||||||
id: rebase
|
comment-id: ${{ github.event.client_payload.github.payload.comment.id }}
|
||||||
with:
|
secrets:
|
||||||
head: ${{ github.event.client_payload.pull_request.head.label }}
|
token: ${{ secrets.JF_BOT_TOKEN }}
|
||||||
|
|
||||||
- name: Add Success Reaction
|
|
||||||
if: ${{ steps.rebase.outputs.rebased-count == 1 }}
|
|
||||||
uses: peter-evans/create-or-update-comment@v1
|
|
||||||
with:
|
|
||||||
token: ${{ secrets.JF_BOT_TOKEN }}
|
|
||||||
repository: ${{ github.event.client_payload.github.payload.repository.full_name }}
|
|
||||||
comment-id: ${{ github.event.client_payload.github.payload.comment.id }}
|
|
||||||
reaction-type: hooray
|
|
||||||
|
|
||||||
- name: Add Failure Reaction
|
|
||||||
if: ${{ steps.rebase.outputs.rebased-count == 0 || failure() }}
|
|
||||||
uses: peter-evans/create-or-update-comment@v1
|
|
||||||
with:
|
|
||||||
token: ${{ secrets.JF_BOT_TOKEN }}
|
|
||||||
repository: ${{ github.event.client_payload.github.payload.repository.full_name }}
|
|
||||||
comment-id: ${{ github.event.client_payload.github.payload.comment.id }}
|
|
||||||
reaction-type: confused, -1
|
|
||||||
|
16
.github/workflows/label-sync.yml
vendored
16
.github/workflows/label-sync.yml
vendored
@ -1,16 +0,0 @@
|
|||||||
name: Sync labels
|
|
||||||
on:
|
|
||||||
schedule:
|
|
||||||
- cron: '0 0 1 * *'
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
labels:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: EndBug/label-sync@v2
|
|
||||||
with:
|
|
||||||
config-file: https://raw.githubusercontent.com/jellyfin/jellyfin-meta-plugins/master/.github/plugin-repo-labels.yaml
|
|
||||||
delete-other-labels: true
|
|
||||||
token: ${{ secrets.JF_BOT_TOKEN }}
|
|
18
.github/workflows/publish.yaml
vendored
Normal file
18
.github/workflows/publish.yaml
vendored
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
name: '🚀 Publish Plugin'
|
||||||
|
|
||||||
|
on:
|
||||||
|
release:
|
||||||
|
types:
|
||||||
|
- released
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
call:
|
||||||
|
uses: jellyfin/jellyfin-meta-plugins/.github/workflows/publish.yaml@master
|
||||||
|
with:
|
||||||
|
version: ${{ github.event.release.tag_name }}
|
||||||
|
is-unstable: ${{ github.event.release.prerelease }}
|
||||||
|
secrets:
|
||||||
|
deploy-host: ${{ secrets.DEPLOY_HOST }}
|
||||||
|
deploy-user: ${{ secrets.DEPLOY_USER }}
|
||||||
|
deploy-key: ${{ secrets.DEPLOY_KEY }}
|
12
.github/workflows/scan-codeql.yaml
vendored
Normal file
12
.github/workflows/scan-codeql.yaml
vendored
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
name: '🔬 Run CodeQL'
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
pull_request:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
call:
|
||||||
|
uses: jellyfin/jellyfin-meta-plugins/.github/workflows/scan-codeql.yaml@master
|
||||||
|
with:
|
||||||
|
repository-name: jellyfin/jellyfin-plugin-tvmaze
|
12
.github/workflows/sync-labels.yaml
vendored
Normal file
12
.github/workflows/sync-labels.yaml
vendored
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
name: '🏷️ Sync labels'
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 0 1 * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
call:
|
||||||
|
uses: jellyfin/jellyfin-meta-plugins/.github/workflows/sync-labels.yaml@master
|
||||||
|
secrets:
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
32
.github/workflows/test-dotnet.yml
vendored
32
.github/workflows/test-dotnet.yml
vendored
@ -1,32 +0,0 @@
|
|||||||
name: Test Plugin
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: [ master ]
|
|
||||||
paths-ignore:
|
|
||||||
- '**/*.md'
|
|
||||||
pull_request:
|
|
||||||
branches: [ master ]
|
|
||||||
paths-ignore:
|
|
||||||
- '**/*.md'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Setup .NET Core
|
|
||||||
uses: actions/setup-dotnet@v1
|
|
||||||
with:
|
|
||||||
dotnet-version: 6.0.x
|
|
||||||
include-prerelease: true
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: dotnet restore
|
|
||||||
|
|
||||||
- name: Build
|
|
||||||
run: dotnet build --configuration Release --no-restore
|
|
||||||
|
|
||||||
- name: Test
|
|
||||||
run: dotnet test --no-restore --verbosity normal
|
|
18
.github/workflows/test.yaml
vendored
Normal file
18
.github/workflows/test.yaml
vendored
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
name: '🧪 Test Plugin'
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
paths-ignore:
|
||||||
|
- '**/*.md'
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
paths-ignore:
|
||||||
|
- '**/*.md'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
call:
|
||||||
|
uses: jellyfin/jellyfin-meta-plugins/.github/workflows/test.yaml@master
|
83
.github/workflows/update-release-draft.yml
vendored
83
.github/workflows/update-release-draft.yml
vendored
@ -1,83 +0,0 @@
|
|||||||
# Automates creation of Release Drafts using Release Drafter
|
|
||||||
name: Update Release Draft & Create Release Bump PR
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
paths-ignore:
|
|
||||||
- build.yaml
|
|
||||||
workflow_dispatch:
|
|
||||||
repository_dispatch:
|
|
||||||
types:
|
|
||||||
- update-prep-command
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
update_release_draft:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
if: github.repository == 'jellyfin/jellyfin-plugin-tvmaze'
|
|
||||||
|
|
||||||
steps:
|
|
||||||
# Drafts your next Release notes as Pull Requests are merged into "master"
|
|
||||||
- name: Update Draft
|
|
||||||
uses: release-drafter/release-drafter@v5.15.0
|
|
||||||
id: draft
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.JF_BOT_TOKEN }}
|
|
||||||
|
|
||||||
- name: Setup YQ
|
|
||||||
uses: chrisdickinson/setup-yq@latest
|
|
||||||
with:
|
|
||||||
yq-version: v4.12.2
|
|
||||||
|
|
||||||
- name: Set-up Environment
|
|
||||||
run: |
|
|
||||||
TAG="${{ steps.draft.outputs.tag_name }}"
|
|
||||||
echo "VERSION=${TAG#v}" >> $GITHUB_ENV
|
|
||||||
|
|
||||||
cat << EOF | grep -P '^([*-] |###)' > cl.md
|
|
||||||
${{ steps.draft.outputs.body }}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
sed -i -r 's/^(#+) (:.*:)? *(.*)$/\n\1 \3 \1/' cl.md
|
|
||||||
sed -i -r 's/^\*/-/' cl.md
|
|
||||||
|
|
||||||
echo "CHANGELOG<<EOF" >> $GITHUB_ENV
|
|
||||||
cat cl.md >> $GITHUB_ENV
|
|
||||||
echo "EOF" >> $GITHUB_ENV
|
|
||||||
|
|
||||||
echo "HAS_CHANGES=$(grep -qie 'No changes$' cl.md && echo false || echo true)" >> $GITHUB_ENV
|
|
||||||
rm cl.md
|
|
||||||
|
|
||||||
echo "ABI_VERSION=$(curl -s https://api.jellyfin.org/openapi/jellyfin-openapi-stable.json | jq -r '.info.version').0" >> $GITHUB_ENV
|
|
||||||
|
|
||||||
- name: Checkout Repository
|
|
||||||
if: ${{ env.HAS_CHANGES == 'true' }}
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Update build.yaml
|
|
||||||
if: ${{ env.HAS_CHANGES == 'true' }}
|
|
||||||
run: |
|
|
||||||
yq eval '.version = env(VERSION) | .targetAbi = env(ABI_VERSION) | .changelog = strenv(CHANGELOG) | .changelog style="literal"' -i build.yaml
|
|
||||||
|
|
||||||
- name: Commit Changes
|
|
||||||
if: ${{ env.HAS_CHANGES == 'true' }}
|
|
||||||
run: |
|
|
||||||
git config user.name "jellyfin-bot"
|
|
||||||
git config user.email "team@jellyfin.org"
|
|
||||||
git checkout -b prepare-${{ env.VERSION }}
|
|
||||||
git commit -am "Bump version to ${{ env.VERSION }}"
|
|
||||||
git push -f origin prepare-${{ env.VERSION }}
|
|
||||||
|
|
||||||
- name: Create or Update PR
|
|
||||||
if: ${{ env.HAS_CHANGES == 'true' }}
|
|
||||||
uses: k3rnels-actions/pr-update@v1
|
|
||||||
with:
|
|
||||||
token: ${{ secrets.JF_BOT_TOKEN }}
|
|
||||||
pr_title: Prepare for release ${{ steps.draft.outputs.tag_name }}
|
|
||||||
pr_source: prepare-${{ env.VERSION }}
|
|
||||||
pr_labels: 'release-prep,skip-changelog'
|
|
||||||
pr_body: |
|
|
||||||
:robot: This is a generated PR to update version and changelog in `build.yaml`.
|
|
||||||
---
|
|
||||||
${{ env.CHANGELOG }}
|
|
@ -1,7 +1,7 @@
|
|||||||
name: "TVmaze"
|
name: "TVmaze"
|
||||||
guid: "A4A488D0-17A3-4919-8D82-7F3DE4F6B209"
|
guid: "A4A488D0-17A3-4919-8D82-7F3DE4F6B209"
|
||||||
imageUrl: "https://repo.jellyfin.org/releases/plugin/images/jellyfin-plugin-tvmaze.png"
|
imageUrl: "https://repo.jellyfin.org/releases/plugin/images/jellyfin-plugin-tvmaze.png"
|
||||||
version: "10"
|
version: "11"
|
||||||
targetAbi: "10.8.0.0"
|
targetAbi: "10.8.0.0"
|
||||||
framework: "net6.0"
|
framework: "net6.0"
|
||||||
owner: "jellyfin"
|
owner: "jellyfin"
|
||||||
|
Loading…
Reference in New Issue
Block a user