Compare commits
No commits in common. "main" and "2.6.3" have entirely different histories.
12 changed files with 449 additions and 0 deletions
83
.github/ISSUE_TEMPLATE/bug-report.yaml
vendored
Normal file
83
.github/ISSUE_TEMPLATE/bug-report.yaml
vendored
Normal file
|
|
@ -0,0 +1,83 @@
|
||||||
|
name: Bug report
|
||||||
|
description: Create a bug report
|
||||||
|
labels: [ bug ]
|
||||||
|
body:
|
||||||
|
- type: textarea
|
||||||
|
id: description
|
||||||
|
attributes:
|
||||||
|
label: Describe the bug
|
||||||
|
description: |
|
||||||
|
A clear and concise description of the bug, including steps to reproduce it and the normally expected behavior.
|
||||||
|
You can also attach screenshots or screen recordings to help explain your issue.
|
||||||
|
placeholder: |
|
||||||
|
1. Go to …
|
||||||
|
2. Click on …
|
||||||
|
3. Scroll down to …
|
||||||
|
4. See error / the app crashes
|
||||||
|
|
||||||
|
Instead, I expect …
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: logs
|
||||||
|
attributes:
|
||||||
|
label: Logs
|
||||||
|
description: |
|
||||||
|
Please paste your client logs (logcat) here, *NOT* server logs (in most cases).
|
||||||
|
Learn how to capture those logcats [here](https://wiki.lineageos.org/logcat.html).
|
||||||
|
Make sure that they don't contain any sensitive information like server URL, auth tokens or passwords.
|
||||||
|
placeholder: Paste logs…
|
||||||
|
render: shell
|
||||||
|
- type: input
|
||||||
|
id: app-version
|
||||||
|
attributes:
|
||||||
|
label: Application version
|
||||||
|
description: The version of the installed Jellyfin Android app.
|
||||||
|
placeholder: 2.3.0
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: dropdown
|
||||||
|
id: installation-source
|
||||||
|
attributes:
|
||||||
|
label: Where did you install the app from?
|
||||||
|
description: Choose the appropriate app store or installation method.
|
||||||
|
options:
|
||||||
|
- Google Play
|
||||||
|
- F-Droid
|
||||||
|
- Amazon Appstore
|
||||||
|
- Sideloaded APK (libre build)
|
||||||
|
- Sideloaded APK (proprietary build)
|
||||||
|
- type: input
|
||||||
|
id: device-info
|
||||||
|
attributes:
|
||||||
|
label: Device information
|
||||||
|
description: Manufacturer, model
|
||||||
|
placeholder: Google Pixel 5, Samsung Galaxy S21
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: input
|
||||||
|
id: android-version
|
||||||
|
attributes:
|
||||||
|
label: Android version
|
||||||
|
description: Version of the OS and other information (e.g. custom ROM / OEM skin)
|
||||||
|
placeholder: Android 11, LineageOS 18.1
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: input
|
||||||
|
id: server-version
|
||||||
|
attributes:
|
||||||
|
label: Jellyfin server version
|
||||||
|
description: If on unstable, please specify the commit hash.
|
||||||
|
placeholder: 10.7.6
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: checkboxes
|
||||||
|
id: video-player
|
||||||
|
attributes:
|
||||||
|
label: Which video player implementations does this bug apply to?
|
||||||
|
description: |
|
||||||
|
*If applicable.* Video player can be switched in the client settings of the app.
|
||||||
|
options:
|
||||||
|
- label: Web player (default)
|
||||||
|
- label: Integrated player (ExoPlayer)
|
||||||
|
- label: External player (VLC, mpv, MX Player)
|
||||||
5
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
5
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
blank_issues_enabled: true
|
||||||
|
contact_links:
|
||||||
|
- name: Jellyfin documentation
|
||||||
|
url: https://jellyfin.org/docs/getting-help.html
|
||||||
|
about: Our documentation contains lots of help for common issues
|
||||||
13
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
13
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
---
|
||||||
|
name: Feature Request
|
||||||
|
about: Request a new feature
|
||||||
|
title: ''
|
||||||
|
labels: enhancement
|
||||||
|
assignees: ''
|
||||||
|
---
|
||||||
|
|
||||||
|
**Describe the feature you'd like**
|
||||||
|
<!-- A clear and concise description of what you want to happen. -->
|
||||||
|
|
||||||
|
**Additional context**
|
||||||
|
<!-- Add any other context or screenshots about the feature request here. -->
|
||||||
11
.github/pull_request_template.md
vendored
Normal file
11
.github/pull_request_template.md
vendored
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
<!--
|
||||||
|
Ensure your title is short, descriptive, and in the imperative mood (Fix X, Change Y, instead of Fixed X, Changed Y).
|
||||||
|
For a good inspiration of what to write in commit messages and PRs please review https://chris.beams.io/posts/git-commit/ and our https://docs.jellyfin.org/general/contributing/issues.html page.
|
||||||
|
-->
|
||||||
|
|
||||||
|
**Changes**
|
||||||
|
<!-- Describe your changes here in 1-5 sentences. -->
|
||||||
|
|
||||||
|
**Issues**
|
||||||
|
<!-- Tag any issues that this PR solves here.
|
||||||
|
ex. Fixes # -->
|
||||||
36
.github/workflows/app-build.yaml
vendored
Normal file
36
.github/workflows/app-build.yaml
vendored
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
name: App / Build
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||||
|
- name: Setup Java
|
||||||
|
uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1
|
||||||
|
with:
|
||||||
|
distribution: temurin
|
||||||
|
java-version: 17
|
||||||
|
- name: Setup Gradle
|
||||||
|
uses: gradle/actions/setup-gradle@dbbdc275be76ac10734476cc723d82dfe7ec6eda # v3.4.2
|
||||||
|
- name: Assemble debug APKs
|
||||||
|
run: ./gradlew assembleDebug
|
||||||
|
- name: Create publish bundle
|
||||||
|
run: mkdir -p build/gh-app-publish/; find app/build/ -iname "*.apk" -exec mv "{}" build/gh-app-publish/ \;
|
||||||
|
- name: Upload artifacts
|
||||||
|
uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4
|
||||||
|
with:
|
||||||
|
name: build-artifacts
|
||||||
|
retention-days: 14
|
||||||
|
if-no-files-found: error
|
||||||
|
path: build/gh-app-publish/
|
||||||
38
.github/workflows/app-lint.yaml
vendored
Normal file
38
.github/workflows/app-lint.yaml
vendored
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
name: App / Lint
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
- release-*
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
security-events: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lint:
|
||||||
|
name: Lint
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
continue-on-error: true
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
task: [ detekt, lint ]
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||||
|
- name: Setup Java
|
||||||
|
uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1
|
||||||
|
with:
|
||||||
|
distribution: temurin
|
||||||
|
java-version: 17
|
||||||
|
- name: Setup Gradle
|
||||||
|
uses: gradle/actions/setup-gradle@dbbdc275be76ac10734476cc723d82dfe7ec6eda # v3.4.2
|
||||||
|
- name: Run ${{ matrix.task }} task
|
||||||
|
run: ./gradlew ${{ matrix.task }}
|
||||||
|
- name: Upload SARIF files
|
||||||
|
uses: github/codeql-action/upload-sarif@b611370bb5703a7efb587f9d136a52ea24c5c38c # v3.25.11
|
||||||
|
if: ${{ always() }}
|
||||||
|
with:
|
||||||
|
sarif_file: .
|
||||||
102
.github/workflows/app-publish.yaml
vendored
Normal file
102
.github/workflows/app-publish.yaml
vendored
Normal file
|
|
@ -0,0 +1,102 @@
|
||||||
|
name: App / Publish
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- v*
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
publish:
|
||||||
|
name: Publish
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
if: ${{ contains(github.repository_owner, 'jellyfin') }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||||
|
- name: Setup Java
|
||||||
|
uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1
|
||||||
|
with:
|
||||||
|
distribution: temurin
|
||||||
|
java-version: 17
|
||||||
|
- name: Setup Gradle
|
||||||
|
uses: gradle/actions/setup-gradle@dbbdc275be76ac10734476cc723d82dfe7ec6eda # v3.4.2
|
||||||
|
- name: Set JELLYFIN_VERSION
|
||||||
|
run: echo "JELLYFIN_VERSION=$(echo ${GITHUB_REF#refs/tags/v} | tr / -)" >> $GITHUB_ENV
|
||||||
|
- name: Assemble release files
|
||||||
|
run: ./gradlew assemble bundleProprietaryRelease versionTxt
|
||||||
|
- name: Sign libre APK
|
||||||
|
id: libreSign
|
||||||
|
uses: r0adkll/sign-android-release@349ebdef58775b1e0d8099458af0816dc79b6407 # tag=v1
|
||||||
|
env:
|
||||||
|
BUILD_TOOLS_VERSION: "34.0.0"
|
||||||
|
with:
|
||||||
|
releaseDirectory: app/build/outputs/apk/libre/release
|
||||||
|
signingKeyBase64: ${{ secrets.KEYSTORE }}
|
||||||
|
keyStorePassword: ${{ secrets.KEYSTORE_PASSWORD }}
|
||||||
|
alias: ${{ secrets.KEY_ALIAS }}
|
||||||
|
keyPassword: ${{ secrets.KEY_PASSWORD }}
|
||||||
|
- name: Sign proprietary APK
|
||||||
|
id: proprietarySign
|
||||||
|
uses: r0adkll/sign-android-release@349ebdef58775b1e0d8099458af0816dc79b6407 # tag=v1
|
||||||
|
env:
|
||||||
|
BUILD_TOOLS_VERSION: "34.0.0"
|
||||||
|
with:
|
||||||
|
releaseDirectory: app/build/outputs/apk/proprietary/release
|
||||||
|
signingKeyBase64: ${{ secrets.KEYSTORE }}
|
||||||
|
keyStorePassword: ${{ secrets.KEYSTORE_PASSWORD }}
|
||||||
|
alias: ${{ secrets.KEY_ALIAS }}
|
||||||
|
keyPassword: ${{ secrets.KEY_PASSWORD }}
|
||||||
|
- name: Sign proprietary app bundle
|
||||||
|
id: proprietaryBundleSign
|
||||||
|
uses: r0adkll/sign-android-release@349ebdef58775b1e0d8099458af0816dc79b6407 # tag=v1
|
||||||
|
env:
|
||||||
|
BUILD_TOOLS_VERSION: "34.0.0"
|
||||||
|
with:
|
||||||
|
releaseDirectory: app/build/outputs/bundle/proprietaryRelease
|
||||||
|
signingKeyBase64: ${{ secrets.KEYSTORE }}
|
||||||
|
keyStorePassword: ${{ secrets.KEYSTORE_PASSWORD }}
|
||||||
|
alias: ${{ secrets.KEY_ALIAS }}
|
||||||
|
keyPassword: ${{ secrets.KEY_PASSWORD }}
|
||||||
|
- name: Prepare release archive
|
||||||
|
run: |
|
||||||
|
mkdir -p build/jellyfin-publish
|
||||||
|
mv app/build/outputs/apk/*/*/jellyfin-android-*-libre-debug.apk build/jellyfin-publish/
|
||||||
|
mv app/build/outputs/apk/*/*/jellyfin-android-*-proprietary-debug.apk build/jellyfin-publish/
|
||||||
|
mv app/build/outputs/apk/*/*/jellyfin-android-*-libre-release-unsigned.apk build/jellyfin-publish/
|
||||||
|
mv app/build/outputs/apk/*/*/jellyfin-android-*-proprietary-release-unsigned.apk build/jellyfin-publish/
|
||||||
|
mv ${{ steps.libreSign.outputs.signedReleaseFile }} build/jellyfin-publish/jellyfin-android-v${{ env.JELLYFIN_VERSION }}-libre-release.apk
|
||||||
|
mv ${{ steps.proprietarySign.outputs.signedReleaseFile }} build/jellyfin-publish/jellyfin-android-v${{ env.JELLYFIN_VERSION }}-proprietary-release.apk
|
||||||
|
mv ${{ steps.proprietaryBundleSign.outputs.signedReleaseFile }} build/jellyfin-publish/jellyfin-android-v${{ env.JELLYFIN_VERSION }}-proprietary-release.aab
|
||||||
|
mv app/build/version.txt build/jellyfin-publish/
|
||||||
|
- name: Upload release archive to GitHub release
|
||||||
|
uses: alexellis/upload-assets@13926a61cdb2cb35f5fdef1c06b8b591523236d3 # 0.4.1
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.JF_BOT_TOKEN }}
|
||||||
|
with:
|
||||||
|
asset_paths: '["build/jellyfin-publish/*"]'
|
||||||
|
- name: Upload release archive to repo.jellyfin.org
|
||||||
|
uses: burnett01/rsync-deployments@796cf0d5e4b535745ce49d7429f77cf39e25ef39 # 7.0.1
|
||||||
|
with:
|
||||||
|
switches: -vrptz
|
||||||
|
path: build/jellyfin-publish/
|
||||||
|
remote_path: /srv/incoming/android/v${{ env.JELLYFIN_VERSION }}/
|
||||||
|
remote_host: ${{ secrets.REPO_HOST }}
|
||||||
|
remote_user: ${{ secrets.REPO_USER }}
|
||||||
|
remote_key: ${{ secrets.REPO_KEY }}
|
||||||
|
- name: Update repo.jellyfin.org symlinks
|
||||||
|
uses: appleboy/ssh-action@029f5b4aeeeb58fdfe1410a5d17f967dacf36262 # v1.0.3
|
||||||
|
with:
|
||||||
|
host: ${{ secrets.REPO_HOST }}
|
||||||
|
username: ${{ secrets.REPO_USER }}
|
||||||
|
key: ${{ secrets.REPO_KEY }}
|
||||||
|
envs: JELLYFIN_VERSION
|
||||||
|
script_stop: true
|
||||||
|
script: |
|
||||||
|
if [ -d "/srv/repository/main/client/android/versions/v${{ env.JELLYFIN_VERSION }}" ] && [ -n "${{ env.JELLYFIN_VERSION }}" ]; then
|
||||||
|
sudo rm -r /srv/repository/main/client/android/versions/v${{ env.JELLYFIN_VERSION }}
|
||||||
|
fi
|
||||||
|
sudo mv /srv/incoming/android/v${{ env.JELLYFIN_VERSION }} /srv/repository/main/client/android/versions/v${{ env.JELLYFIN_VERSION }}
|
||||||
|
cd /srv/repository/main/client/android;
|
||||||
|
sudo rm -rf *.apk version.txt;
|
||||||
|
sudo ln -s versions/v${JELLYFIN_VERSION}/jellyfin-android-v${JELLYFIN_VERSION}-*.apk .;
|
||||||
|
sudo ln -s versions/v${JELLYFIN_VERSION}/version.txt .;
|
||||||
28
.github/workflows/app-test.yaml
vendored
Normal file
28
.github/workflows/app-test.yaml
vendored
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
name: App / Test
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
- release-*
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
name: Test
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||||
|
- name: Setup Java
|
||||||
|
uses: actions/setup-java@99b8673ff64fbf99d8d325f52d9a5bdedb8483e9 # v4.2.1
|
||||||
|
with:
|
||||||
|
distribution: temurin
|
||||||
|
java-version: 17
|
||||||
|
- name: Setup Gradle
|
||||||
|
uses: gradle/actions/setup-gradle@dbbdc275be76ac10734476cc723d82dfe7ec6eda # v3.4.2
|
||||||
|
- name: Run test task
|
||||||
|
run: ./gradlew test
|
||||||
22
.github/workflows/gradlew-validate.yaml
vendored
Normal file
22
.github/workflows/gradlew-validate.yaml
vendored
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
name: Gradle / Validate wrapper
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- '**/gradlе-wrapper.jar'
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
validate:
|
||||||
|
name: Validate
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
||||||
|
- name: Validate Gradle Wrapper
|
||||||
|
uses: gradle/actions/wrapper-validation@dbbdc275be76ac10734476cc723d82dfe7ec6eda # v3.4.2
|
||||||
18
.github/workflows/repo-merge-conflict.yaml
vendored
Normal file
18
.github/workflows/repo-merge-conflict.yaml
vendored
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
name: Repo / Label merge conflict
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
pull_request_target:
|
||||||
|
types:
|
||||||
|
- synchronize
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
triage:
|
||||||
|
name: Triage
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
if: ${{ contains(github.repository_owner, 'jellyfin') }}
|
||||||
|
steps:
|
||||||
|
- uses: eps1lon/actions-label-merge-conflict@1b1b1fcde06a9b3d089f3464c96417961dde1168 # v3.0.2
|
||||||
|
with:
|
||||||
|
dirtyLabel: merge conflict
|
||||||
|
repoToken: ${{ secrets.JF_BOT_TOKEN }}
|
||||||
61
.github/workflows/repo-milestone.yaml
vendored
Normal file
61
.github/workflows/repo-milestone.yaml
vendored
Normal file
|
|
@ -0,0 +1,61 @@
|
||||||
|
name: Repo / Auto-apply milestone
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request_target:
|
||||||
|
types:
|
||||||
|
- opened
|
||||||
|
- reopened
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
milestone:
|
||||||
|
name: Apply milestone
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
if: ${{ contains(github.repository_owner, 'jellyfin') }}
|
||||||
|
steps:
|
||||||
|
- uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.JF_BOT_TOKEN }}
|
||||||
|
script: |
|
||||||
|
const owner = context.repo.owner;
|
||||||
|
const repo = context.repo.repo;
|
||||||
|
const pr_id = context.issue.number;
|
||||||
|
|
||||||
|
let response = await github.rest.issues.get({
|
||||||
|
owner,
|
||||||
|
repo,
|
||||||
|
issue_number: pr_id,
|
||||||
|
});
|
||||||
|
const pr = response.data;
|
||||||
|
|
||||||
|
if (pr.milestone !== null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
response = await github.rest.issues.listMilestones({
|
||||||
|
owner,
|
||||||
|
repo,
|
||||||
|
state: 'open',
|
||||||
|
});
|
||||||
|
const milestones = response.data;
|
||||||
|
|
||||||
|
// Find first open milestone
|
||||||
|
const milestone = milestones.reduce(
|
||||||
|
(prev, current) => prev?.number < current.number ? prev : current,
|
||||||
|
null,
|
||||||
|
);
|
||||||
|
|
||||||
|
if (milestone === null) {
|
||||||
|
console.warn('No suitable milestone found, aborting.');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log(`Found milestone to apply: ${milestone.title}`);
|
||||||
|
|
||||||
|
await github.rest.issues.update({
|
||||||
|
owner,
|
||||||
|
repo,
|
||||||
|
issue_number: pr_id,
|
||||||
|
milestone: milestone.number,
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log(`Successfully applied milestone ${milestone.title} to PR #${pr_id}`);
|
||||||
32
.github/workflows/repo-stale.yaml
vendored
Normal file
32
.github/workflows/repo-stale.yaml
vendored
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
name: Repo / Reply stale issue
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '30 3 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
issues: write
|
||||||
|
pull-requests: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
triage:
|
||||||
|
name: Triage
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
if: ${{ contains(github.repository_owner, 'jellyfin') }}
|
||||||
|
steps:
|
||||||
|
- uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e # v9.0.0
|
||||||
|
with:
|
||||||
|
repo-token: ${{ secrets.JF_BOT_TOKEN }}
|
||||||
|
days-before-stale: 120
|
||||||
|
days-before-pr-stale: -1
|
||||||
|
days-before-close: 21
|
||||||
|
days-before-pr-close: -1
|
||||||
|
exempt-issue-labels: enhancement,confirmed
|
||||||
|
stale-issue-label: stale
|
||||||
|
stale-issue-message: |-
|
||||||
|
This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.
|
||||||
|
|
||||||
|
If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.
|
||||||
|
|
||||||
|
This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on [Matrix or Social Media](https://docs.jellyfin.org/general/getting-help.html).
|
||||||
Loading…
Add table
Add a link
Reference in a new issue