aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/release-build.yaml876
1 files changed, 438 insertions, 438 deletions
diff --git a/.github/workflows/release-build.yaml b/.github/workflows/release-build.yaml
index 3fc0896..42a1518 100644
--- a/.github/workflows/release-build.yaml
+++ b/.github/workflows/release-build.yaml
@@ -56,441 +56,441 @@ jobs:
run: |-
sudo ./build.py ${{ env.JELLYFIN_VERSION }} docker
- Debian:
- runs-on: ubuntu-22.04
- strategy:
- matrix:
- release:
- - bullseye
- - bookworm
- arch:
- - amd64
- - arm64
- - armhf
- continue-on-error: false # true in prod, false for testing
- steps:
- - name: "Set dated version for unstable builds"
- id: version
- run: |-
- if grep --silent --extended-regexp '^v[0-9]+' <<< "${{ inputs.version }}"; then
- echo "JELLYFIN_VERSION=${{ inputs.version }}" >> $GITHUB_ENV
- echo "JELLYFIN_RELEASE_TYPE=stable" >> $GITHUB_ENV
- else
- echo "JELLYFIN_VERSION=$(date +'%Y%m%d%H')" >> $GITHUB_ENV
- echo "JELLYFIN_RELEASE_TYPE=unstable" >> $GITHUB_ENV
- fi
-
- - name: "Install dependencies"
- run: |-
- sudo apt-get install --yes python3-git python3-yaml
-
- - name: "Checkout repository"
- uses: actions/checkout@v3
-
- - name: "Prepare repository"
- run: |-
- ./checkout.py ${{ inputs.version }}
-
- - name: "Run builder for ${{ matrix.version }} ${{ matrix.arch }}"
- run: |-
- sudo ./build.py ${{ env.JELLYFIN_VERSION }} debian ${{ matrix.arch }} ${{ matrix.release }}
-
- - name: "Upload artifacts to repository server"
- uses: appleboy/scp-action@v0.1.7
- with:
- host: "${{ secrets.REPO_HOST }}"
- username: "${{ secrets.REPO_USER }}"
- key: "${{ secrets.REPO_KEY }}"
- source: "out/debian/*"
- strip_components: 2
- target: "/srv/incoming/${{ env.JELLYFIN_VERSION }}/debian/${{ matrix.arch }}/${{ matrix.release }}"
-
- - name: "Import artifacts into reprepro -V"
- uses: appleboy/ssh-action@v1.0.3
- with:
- host: "${{ secrets.REPO_HOST }}"
- username: "${{ secrets.REPO_USER }}"
- key: "${{ secrets.REPO_KEY }}"
- debug: false
- script_stop: false
- script: |
- set -o xtrace
- if [[ ${{ env.JELLYFIN_RELEASE_TYPE }} == "stable" ]]; then
- COMPONENT="main"
- else
- COMPONENT="unstable"
- fi
- # Only include the architecture-dependent deb here, as the others are done only for amd64
- sudo reprepro -V --waitforlock 30 --basedir /srv/debian --component ${COMPONENT} includedeb ${{ matrix.release }} /srv/incoming/${{ env.JELLYFIN_VERSION }}/debian/${{ matrix.arch }}/${{ matrix.release }}/*_${{ matrix.arch }}.deb || exit 1
- if [[ ${{ matrix.arch }} == "amd64" ]]; then
- # Only include the architecture-independent packages for amd64; the other architectures are the same and conflict
- sudo reprepro -V --waitforlock 30 --basedir /srv/debian --component ${COMPONENT} includedeb ${{ matrix.release }} /srv/incoming/${{ env.JELLYFIN_VERSION }}/debian/${{ matrix.arch }}/${{ matrix.release }}/*_all.deb || exit 1
- # Only include the source DSC for amd64; the other architectures are the same and conflict
- sudo reprepro -V --waitforlock 30 --basedir /srv/debian --component ${COMPONENT} includedsc ${{ matrix.release }} /srv/incoming/${{ env.JELLYFIN_VERSION }}/debian/${{ matrix.arch }}/${{ matrix.release }}/*.dsc || exit 1
- fi
-
- - name: "Move artifacts into repository"
- uses: appleboy/ssh-action@v1.0.3
- with:
- host: "${{ secrets.REPO_HOST }}"
- username: "${{ secrets.REPO_USER }}"
- key: "${{ secrets.REPO_KEY }}"
- debug: false
- script_stop: false
- script: |
- export BASEDIR="/srv/repository/main/server/debian"
- sudo mkdir -p ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }}/${{ matrix.arch }} || exit 1
- sudo mv -t ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }}/${{ matrix.arch }}/ /srv/incoming/${{ env.JELLYFIN_VERSION }}/debian/${{ matrix.arch }}/${{ matrix.release }}/* || exit 1
- sudo rm ${BASEDIR}/latest-${{ env.JELLYFIN_RELEASE_TYPE }} || true
- sudo ln -sf ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }} ${BASEDIR}/latest-${{ env.JELLYFIN_RELEASE_TYPE }} || exit 1
- if [[ ${{ env.JELLYFIN_RELEASE_TYPE }} == "stable" ]]; then
- sudo rm ${BASEDIR}/latest || true
- sudo ln -sf ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }} ${BASEDIR}/latest || exit 1
- fi
-
- Ubuntu:
- runs-on: ubuntu-22.04
- strategy:
- matrix:
- release:
- - focal
- - jammy
- # - noble
- arch:
- - amd64
- - arm64
- - armhf
- continue-on-error: false # true in prod, false for testing
- steps:
- - name: "Set dated version for unstable builds"
- id: version
- run: |-
- if grep --silent --extended-regexp '^v[0-9]+' <<< "${{ inputs.version }}"; then
- echo "JELLYFIN_VERSION=${{ inputs.version }}" >> $GITHUB_ENV
- echo "JELLYFIN_RELEASE_TYPE=stable" >> $GITHUB_ENV
- else
- echo "JELLYFIN_VERSION=$(date +'%Y%m%d%H')" >> $GITHUB_ENV
- echo "JELLYFIN_RELEASE_TYPE=unstable" >> $GITHUB_ENV
- fi
-
- - name: "Install dependencies"
- run: |-
- sudo apt-get install --yes python3-git python3-yaml
-
- - name: "Checkout repository"
- uses: actions/checkout@v3
-
- - name: "Prepare repository"
- run: |-
- ./checkout.py ${{ inputs.version }}
-
- - name: "Run builder for ${{ matrix.version }} ${{ matrix.arch }}"
- run: |-
- sudo ./build.py ${{ env.JELLYFIN_VERSION }} ubuntu ${{ matrix.arch }} ${{ matrix.release }}
-
- - name: "Upload artifacts to repository server"
- uses: appleboy/scp-action@v0.1.7
- with:
- host: "${{ secrets.REPO_HOST }}"
- username: "${{ secrets.REPO_USER }}"
- key: "${{ secrets.REPO_KEY }}"
- source: "out/ubuntu/*"
- strip_components: 2
- target: "/srv/incoming/${{ env.JELLYFIN_VERSION }}/ubuntu/${{ matrix.arch }}/${{ matrix.release }}"
-
- - name: "Import artifacts into reprepro -V"
- uses: appleboy/ssh-action@v1.0.3
- with:
- host: "${{ secrets.REPO_HOST }}"
- username: "${{ secrets.REPO_USER }}"
- key: "${{ secrets.REPO_KEY }}"
- debug: false
- script_stop: false
- script: |
- set -o xtrace
- if [[ ${{ env.JELLYFIN_RELEASE_TYPE }} == "stable" ]]; then
- COMPONENT="main"
- else
- COMPONENT="unstable"
- fi
- # Only include the architecture-dependent deb here, as the others are done only for amd64
- sudo reprepro -V --waitforlock 30 --basedir /srv/ubuntu --component ${COMPONENT} includedeb ${{ matrix.release }} /srv/incoming/${{ env.JELLYFIN_VERSION }}/ubuntu/${{ matrix.arch }}/${{ matrix.release }}/*_${{ matrix.arch }}.deb || exit 1
- if [[ ${{ matrix.arch }} == "amd64" ]]; then
- # Only include the architecture-independent packages for amd64; the other architectures are the same and conflict
- sudo reprepro -V --waitforlock 30 --basedir /srv/ubuntu --component ${COMPONENT} includedeb ${{ matrix.release }} /srv/incoming/${{ env.JELLYFIN_VERSION }}/ubuntu/${{ matrix.arch }}/${{ matrix.release }}/*_all.deb || exit 1
- # Only include the source DSC for amd64; the other architectures are the same and conflict
- sudo reprepro -V --waitforlock 30 --basedir /srv/ubuntu --component ${COMPONENT} includedsc ${{ matrix.release }} /srv/incoming/${{ env.JELLYFIN_VERSION }}/ubuntu/${{ matrix.arch }}/${{ matrix.release }}/*.dsc || exit 1
- fi
-
- - name: "Move artifacts into repository"
- uses: appleboy/ssh-action@v1.0.3
- with:
- host: "${{ secrets.REPO_HOST }}"
- username: "${{ secrets.REPO_USER }}"
- key: "${{ secrets.REPO_KEY }}"
- debug: false
- script_stop: false
- script: |
- export BASEDIR="/srv/repository/main/server/ubuntu"
- sudo mkdir -p ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }}/${{ matrix.arch }} || exit 1
- sudo mv -t ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }}/${{ matrix.arch }}/ /srv/incoming/${{ env.JELLYFIN_VERSION }}/ubuntu/${{ matrix.arch }}/${{ matrix.release }}/* || exit 1
- sudo rm ${BASEDIR}/latest-${{ env.JELLYFIN_RELEASE_TYPE }} || true
- sudo ln -sf ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }} ${BASEDIR}/latest-${{ env.JELLYFIN_RELEASE_TYPE }} || exit 1
- if [[ ${{ env.JELLYFIN_RELEASE_TYPE }} == "stable" ]]; then
- sudo rm ${BASEDIR}/latest || true
- sudo ln -sf ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }} ${BASEDIR}/latest || exit 1
- fi
-
- Linux:
- runs-on: ubuntu-22.04
- strategy:
- matrix:
- arch:
- - amd64
- - amd64-musl
- - arm64
- - arm64-musl
- - armhf
- continue-on-error: false # true in prod, false for testing
- steps:
- - name: "Set dated version for unstable builds"
- id: version
- run: |-
- if grep --silent --extended-regexp '^v[0-9]+' <<< "${{ inputs.version }}"; then
- echo "JELLYFIN_VERSION=${{ inputs.version }}" >> $GITHUB_ENV
- echo "JELLYFIN_RELEASE_TYPE=stable" >> $GITHUB_ENV
- else
- echo "JELLYFIN_VERSION=$(date +'%Y%m%d%H')" >> $GITHUB_ENV
- echo "JELLYFIN_RELEASE_TYPE=unstable" >> $GITHUB_ENV
- fi
-
- - name: "Install dependencies"
- run: |-
- sudo apt-get install --yes python3-git python3-yaml
-
- - name: "Checkout repository"
- uses: actions/checkout@v3
-
- - name: "Prepare repository"
- run: |-
- ./checkout.py ${{ inputs.version }}
-
- - name: "Run builder for ${{ matrix.arch }}"
- run: |-
- sudo ./build.py ${{ env.JELLYFIN_VERSION }} linux ${{ matrix.arch }}
-
- - name: "Upload artifacts to repository server"
- uses: appleboy/scp-action@v0.1.7
- with:
- host: "${{ secrets.REPO_HOST }}"
- username: "${{ secrets.REPO_USER }}"
- key: "${{ secrets.REPO_KEY }}"
- source: "out/linux/*"
- strip_components: 2
- target: "/srv/incoming/${{ env.JELLYFIN_VERSION }}/linux/${{ matrix.arch }}"
-
- - name: "Move artifacts into repository"
- uses: appleboy/ssh-action@v1.0.3
- with:
- host: "${{ secrets.REPO_HOST }}"
- username: "${{ secrets.REPO_USER }}"
- key: "${{ secrets.REPO_KEY }}"
- debug: false
- script_stop: true
- script: |
- export BASEDIR="/srv/repository/main/server/linux"
- sudo mkdir -p ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }}/${{ matrix.arch }} || exit 1
- sudo mv -t ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }}/${{ matrix.arch }}/ /srv/incoming/${{ env.JELLYFIN_VERSION }}/linux/${{ matrix.arch }}/${{ matrix.release }}/* || exit 1
- sudo rm ${BASEDIR}/latest-${{ env.JELLYFIN_RELEASE_TYPE }} || true
- sudo ln -sf ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }} ${BASEDIR}/latest-${{ env.JELLYFIN_RELEASE_TYPE }} || exit 1
- if [[ ${{ env.JELLYFIN_RELEASE_TYPE }} == "stable" ]]; then
- sudo rm ${BASEDIR}/latest || true
- sudo ln -sf ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }} ${BASEDIR}/latest || exit 1
- fi
-
- Windows:
- runs-on: ubuntu-22.04
- strategy:
- matrix:
- arch:
- - amd64
- - arm64
- continue-on-error: false # true in prod, false for testing
- steps:
- - name: "Set dated version for unstable builds"
- id: version
- run: |-
- if grep --silent --extended-regexp '^v[0-9]+' <<< "${{ inputs.version }}"; then
- echo "JELLYFIN_VERSION=${{ inputs.version }}" >> $GITHUB_ENV
- echo "JELLYFIN_RELEASE_TYPE=stable" >> $GITHUB_ENV
- else
- echo "JELLYFIN_VERSION=$(date +'%Y%m%d%H')" >> $GITHUB_ENV
- echo "JELLYFIN_RELEASE_TYPE=unstable" >> $GITHUB_ENV
- fi
-
- - name: "Install dependencies"
- run: |-
- sudo apt-get install --yes python3-git python3-yaml
-
- - name: "Checkout repository"
- uses: actions/checkout@v3
-
- - name: "Prepare repository"
- run: |-
- ./checkout.py ${{ inputs.version }}
-
- - name: "Run builder for ${{ matrix.arch }}"
- run: |-
- sudo ./build.py ${{ env.JELLYFIN_VERSION }} windows ${{ matrix.arch }}
-
- - name: "Upload artifacts to repository server"
- uses: appleboy/scp-action@v0.1.7
- with:
- host: "${{ secrets.REPO_HOST }}"
- username: "${{ secrets.REPO_USER }}"
- key: "${{ secrets.REPO_KEY }}"
- source: "out/windows/*"
- strip_components: 2
- target: "/srv/incoming/${{ env.JELLYFIN_VERSION }}/windows/${{ matrix.arch }}"
-
- - name: "Move artifacts into repository"
- uses: appleboy/ssh-action@v1.0.3
- with:
- host: "${{ secrets.REPO_HOST }}"
- username: "${{ secrets.REPO_USER }}"
- key: "${{ secrets.REPO_KEY }}"
- debug: false
- script_stop: true
- script: |
- export BASEDIR="/srv/repository/main/server/windows"
- sudo mkdir -p ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }}/${{ matrix.arch }} || exit 1
- sudo mv -t ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }}/${{ matrix.arch }}/ /srv/incoming/${{ env.JELLYFIN_VERSION }}/windows/${{ matrix.arch }}/${{ matrix.release }}/* || exit 1
- sudo rm ${BASEDIR}/latest-${{ env.JELLYFIN_RELEASE_TYPE }} || true
- sudo ln -sf ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }} ${BASEDIR}/latest-${{ env.JELLYFIN_RELEASE_TYPE }} || exit 1
- if [[ ${{ env.JELLYFIN_RELEASE_TYPE }} == "stable" ]]; then
- sudo rm ${BASEDIR}/latest || true
- sudo ln -sf ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }} ${BASEDIR}/latest || exit 1
- fi
-
- MacOS:
- runs-on: ubuntu-22.04
- strategy:
- matrix:
- arch:
- - amd64
- - arm64
- continue-on-error: false # true in prod, false for testing
- steps:
- - name: "Set dated version for unstable builds"
- id: version
- run: |-
- if grep --silent --extended-regexp '^v[0-9]+' <<< "${{ inputs.version }}"; then
- echo "JELLYFIN_VERSION=${{ inputs.version }}" >> $GITHUB_ENV
- echo "JELLYFIN_RELEASE_TYPE=stable" >> $GITHUB_ENV
- else
- echo "JELLYFIN_VERSION=$(date +'%Y%m%d%H')" >> $GITHUB_ENV
- echo "JELLYFIN_RELEASE_TYPE=unstable" >> $GITHUB_ENV
- fi
-
- - name: "Install dependencies"
- run: |-
- sudo apt-get install --yes python3-git python3-yaml
-
- - name: "Checkout repository"
- uses: actions/checkout@v3
-
- - name: "Prepare repository"
- run: |-
- ./checkout.py ${{ inputs.version }}
-
- - name: "Run builder for ${{ matrix.version }} ${{ matrix.arch }}"
- run: |-
- sudo ./build.py ${{ env.JELLYFIN_VERSION }} macos ${{ matrix.arch }}
-
- - name: "Upload artifacts to repository server"
- uses: appleboy/scp-action@v0.1.7
- with:
- host: "${{ secrets.REPO_HOST }}"
- username: "${{ secrets.REPO_USER }}"
- key: "${{ secrets.REPO_KEY }}"
- source: "out/macos/*"
- strip_components: 2
- target: "/srv/incoming/${{ env.JELLYFIN_VERSION }}/macos/${{ matrix.arch }}"
-
- - name: "Move artifacts into repository"
- uses: appleboy/ssh-action@v1.0.3
- with:
- host: "${{ secrets.REPO_HOST }}"
- username: "${{ secrets.REPO_USER }}"
- key: "${{ secrets.REPO_KEY }}"
- debug: false
- script_stop: true
- script: |
- export BASEDIR="/srv/repository/main/server/macos"
- sudo mkdir -p ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }}/${{ matrix.arch }} || exit 1
- sudo mv -t ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }}/${{ matrix.arch }}/ /srv/incoming/${{ env.JELLYFIN_VERSION }}/macos/${{ matrix.arch }}/${{ matrix.release }}/* || exit 1
- sudo rm ${BASEDIR}/latest-${{ env.JELLYFIN_RELEASE_TYPE }} || true
- sudo ln -sf ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }} ${BASEDIR}/latest-${{ env.JELLYFIN_RELEASE_TYPE }} || exit 1
- if [[ ${{ env.JELLYFIN_RELEASE_TYPE }} == "stable" ]]; then
- sudo rm ${BASEDIR}/latest || true
- sudo ln -sf ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }} ${BASEDIR}/latest || exit 1
- fi
-
- Portable:
- runs-on: ubuntu-22.04
- continue-on-error: false # true in prod, false for testing
- steps:
- - name: "Set dated version for unstable builds"
- id: version
- run: |-
- if grep --silent --extended-regexp '^v[0-9]+' <<< "${{ inputs.version }}"; then
- echo "JELLYFIN_VERSION=${{ inputs.version }}" >> $GITHUB_ENV
- echo "JELLYFIN_RELEASE_TYPE=stable" >> $GITHUB_ENV
- else
- echo "JELLYFIN_VERSION=$(date +'%Y%m%d%H')" >> $GITHUB_ENV
- echo "JELLYFIN_RELEASE_TYPE=unstable" >> $GITHUB_ENV
- fi
-
- - name: "Install dependencies"
- run: |-
- sudo apt-get install --yes python3-git python3-yaml
-
- - name: "Checkout repository"
- uses: actions/checkout@v3
-
- - name: "Prepare repository"
- run: |-
- ./checkout.py ${{ inputs.version }}
-
- - name: "Run builder for Portable"
- run: |-
- sudo ./build.py ${{ env.JELLYFIN_VERSION }} portable
-
- - name: "Upload artifacts to repository server"
- uses: appleboy/scp-action@v0.1.7
- with:
- host: "${{ secrets.REPO_HOST }}"
- username: "${{ secrets.REPO_USER }}"
- key: "${{ secrets.REPO_KEY }}"
- source: "out/portable/*"
- strip_components: 2
- target: "/srv/incoming/${{ env.JELLYFIN_VERSION }}/portable"
-
- - name: "Move artifacts into repository"
- uses: appleboy/ssh-action@v1.0.3
- with:
- host: "${{ secrets.REPO_HOST }}"
- username: "${{ secrets.REPO_USER }}"
- key: "${{ secrets.REPO_KEY }}"
- debug: false
- script_stop: true
- script: |
- export BASEDIR="/srv/repository/main/server/portable"
- sudo mkdir -p ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }}/any || exit 1
- sudo mv -t ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }}/any/ /srv/incoming/${{ env.JELLYFIN_VERSION }}/portable/${{ matrix.release }}/* || exit 1
- sudo rm ${BASEDIR}/latest-${{ env.JELLYFIN_RELEASE_TYPE }} || true
- sudo ln -sf ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }} ${BASEDIR}/latest-${{ env.JELLYFIN_RELEASE_TYPE }} || exit 1
- if [[ ${{ env.JELLYFIN_RELEASE_TYPE }} == "stable" ]]; then
- sudo rm ${BASEDIR}/latest || true
- sudo ln -sf ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }} ${BASEDIR}/latest || exit 1
- fi
+# Debian:
+# runs-on: ubuntu-22.04
+# strategy:
+# matrix:
+# release:
+# - bullseye
+# - bookworm
+# arch:
+# - amd64
+# - arm64
+# - armhf
+# continue-on-error: false # true in prod, false for testing
+# steps:
+# - name: "Set dated version for unstable builds"
+# id: version
+# run: |-
+# if grep --silent --extended-regexp '^v[0-9]+' <<< "${{ inputs.version }}"; then
+# echo "JELLYFIN_VERSION=${{ inputs.version }}" >> $GITHUB_ENV
+# echo "JELLYFIN_RELEASE_TYPE=stable" >> $GITHUB_ENV
+# else
+# echo "JELLYFIN_VERSION=$(date +'%Y%m%d%H')" >> $GITHUB_ENV
+# echo "JELLYFIN_RELEASE_TYPE=unstable" >> $GITHUB_ENV
+# fi
+#
+# - name: "Install dependencies"
+# run: |-
+# sudo apt-get install --yes python3-git python3-yaml
+#
+# - name: "Checkout repository"
+# uses: actions/checkout@v3
+#
+# - name: "Prepare repository"
+# run: |-
+# ./checkout.py ${{ inputs.version }}
+#
+# - name: "Run builder for ${{ matrix.version }} ${{ matrix.arch }}"
+# run: |-
+# sudo ./build.py ${{ env.JELLYFIN_VERSION }} debian ${{ matrix.arch }} ${{ matrix.release }}
+#
+# - name: "Upload artifacts to repository server"
+# uses: appleboy/scp-action@v0.1.7
+# with:
+# host: "${{ secrets.REPO_HOST }}"
+# username: "${{ secrets.REPO_USER }}"
+# key: "${{ secrets.REPO_KEY }}"
+# source: "out/debian/*"
+# strip_components: 2
+# target: "/srv/incoming/${{ env.JELLYFIN_VERSION }}/debian/${{ matrix.arch }}/${{ matrix.release }}"
+#
+# - name: "Import artifacts into reprepro -V"
+# uses: appleboy/ssh-action@v1.0.3
+# with:
+# host: "${{ secrets.REPO_HOST }}"
+# username: "${{ secrets.REPO_USER }}"
+# key: "${{ secrets.REPO_KEY }}"
+# debug: false
+# script_stop: false
+# script: |
+# set -o xtrace
+# if [[ ${{ env.JELLYFIN_RELEASE_TYPE }} == "stable" ]]; then
+# COMPONENT="main"
+# else
+# COMPONENT="unstable"
+# fi
+# # Only include the architecture-dependent deb here, as the others are done only for amd64
+# sudo reprepro -V --waitforlock 30 --basedir /srv/debian --component ${COMPONENT} includedeb ${{ matrix.release }} /srv/incoming/${{ env.JELLYFIN_VERSION }}/debian/${{ matrix.arch }}/${{ matrix.release }}/*_${{ matrix.arch }}.deb || exit 1
+# if [[ ${{ matrix.arch }} == "amd64" ]]; then
+# # Only include the architecture-independent packages for amd64; the other architectures are the same and conflict
+# sudo reprepro -V --waitforlock 30 --basedir /srv/debian --component ${COMPONENT} includedeb ${{ matrix.release }} /srv/incoming/${{ env.JELLYFIN_VERSION }}/debian/${{ matrix.arch }}/${{ matrix.release }}/*_all.deb || exit 1
+# # Only include the source DSC for amd64; the other architectures are the same and conflict
+# sudo reprepro -V --waitforlock 30 --basedir /srv/debian --component ${COMPONENT} includedsc ${{ matrix.release }} /srv/incoming/${{ env.JELLYFIN_VERSION }}/debian/${{ matrix.arch }}/${{ matrix.release }}/*.dsc || exit 1
+# fi
+#
+# - name: "Move artifacts into repository"
+# uses: appleboy/ssh-action@v1.0.3
+# with:
+# host: "${{ secrets.REPO_HOST }}"
+# username: "${{ secrets.REPO_USER }}"
+# key: "${{ secrets.REPO_KEY }}"
+# debug: false
+# script_stop: false
+# script: |
+# export BASEDIR="/srv/repository/main/server/debian"
+# sudo mkdir -p ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }}/${{ matrix.arch }} || exit 1
+# sudo mv -t ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }}/${{ matrix.arch }}/ /srv/incoming/${{ env.JELLYFIN_VERSION }}/debian/${{ matrix.arch }}/${{ matrix.release }}/* || exit 1
+# sudo rm ${BASEDIR}/latest-${{ env.JELLYFIN_RELEASE_TYPE }} || true
+# sudo ln -sf ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }} ${BASEDIR}/latest-${{ env.JELLYFIN_RELEASE_TYPE }} || exit 1
+# if [[ ${{ env.JELLYFIN_RELEASE_TYPE }} == "stable" ]]; then
+# sudo rm ${BASEDIR}/latest || true
+# sudo ln -sf ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }} ${BASEDIR}/latest || exit 1
+# fi
+#
+# Ubuntu:
+# runs-on: ubuntu-22.04
+# strategy:
+# matrix:
+# release:
+# - focal
+# - jammy
+# # - noble
+# arch:
+# - amd64
+# - arm64
+# - armhf
+# continue-on-error: false # true in prod, false for testing
+# steps:
+# - name: "Set dated version for unstable builds"
+# id: version
+# run: |-
+# if grep --silent --extended-regexp '^v[0-9]+' <<< "${{ inputs.version }}"; then
+# echo "JELLYFIN_VERSION=${{ inputs.version }}" >> $GITHUB_ENV
+# echo "JELLYFIN_RELEASE_TYPE=stable" >> $GITHUB_ENV
+# else
+# echo "JELLYFIN_VERSION=$(date +'%Y%m%d%H')" >> $GITHUB_ENV
+# echo "JELLYFIN_RELEASE_TYPE=unstable" >> $GITHUB_ENV
+# fi
+#
+# - name: "Install dependencies"
+# run: |-
+# sudo apt-get install --yes python3-git python3-yaml
+#
+# - name: "Checkout repository"
+# uses: actions/checkout@v3
+#
+# - name: "Prepare repository"
+# run: |-
+# ./checkout.py ${{ inputs.version }}
+#
+# - name: "Run builder for ${{ matrix.version }} ${{ matrix.arch }}"
+# run: |-
+# sudo ./build.py ${{ env.JELLYFIN_VERSION }} ubuntu ${{ matrix.arch }} ${{ matrix.release }}
+#
+# - name: "Upload artifacts to repository server"
+# uses: appleboy/scp-action@v0.1.7
+# with:
+# host: "${{ secrets.REPO_HOST }}"
+# username: "${{ secrets.REPO_USER }}"
+# key: "${{ secrets.REPO_KEY }}"
+# source: "out/ubuntu/*"
+# strip_components: 2
+# target: "/srv/incoming/${{ env.JELLYFIN_VERSION }}/ubuntu/${{ matrix.arch }}/${{ matrix.release }}"
+#
+# - name: "Import artifacts into reprepro -V"
+# uses: appleboy/ssh-action@v1.0.3
+# with:
+# host: "${{ secrets.REPO_HOST }}"
+# username: "${{ secrets.REPO_USER }}"
+# key: "${{ secrets.REPO_KEY }}"
+# debug: false
+# script_stop: false
+# script: |
+# set -o xtrace
+# if [[ ${{ env.JELLYFIN_RELEASE_TYPE }} == "stable" ]]; then
+# COMPONENT="main"
+# else
+# COMPONENT="unstable"
+# fi
+# # Only include the architecture-dependent deb here, as the others are done only for amd64
+# sudo reprepro -V --waitforlock 30 --basedir /srv/ubuntu --component ${COMPONENT} includedeb ${{ matrix.release }} /srv/incoming/${{ env.JELLYFIN_VERSION }}/ubuntu/${{ matrix.arch }}/${{ matrix.release }}/*_${{ matrix.arch }}.deb || exit 1
+# if [[ ${{ matrix.arch }} == "amd64" ]]; then
+# # Only include the architecture-independent packages for amd64; the other architectures are the same and conflict
+# sudo reprepro -V --waitforlock 30 --basedir /srv/ubuntu --component ${COMPONENT} includedeb ${{ matrix.release }} /srv/incoming/${{ env.JELLYFIN_VERSION }}/ubuntu/${{ matrix.arch }}/${{ matrix.release }}/*_all.deb || exit 1
+# # Only include the source DSC for amd64; the other architectures are the same and conflict
+# sudo reprepro -V --waitforlock 30 --basedir /srv/ubuntu --component ${COMPONENT} includedsc ${{ matrix.release }} /srv/incoming/${{ env.JELLYFIN_VERSION }}/ubuntu/${{ matrix.arch }}/${{ matrix.release }}/*.dsc || exit 1
+# fi
+#
+# - name: "Move artifacts into repository"
+# uses: appleboy/ssh-action@v1.0.3
+# with:
+# host: "${{ secrets.REPO_HOST }}"
+# username: "${{ secrets.REPO_USER }}"
+# key: "${{ secrets.REPO_KEY }}"
+# debug: false
+# script_stop: false
+# script: |
+# export BASEDIR="/srv/repository/main/server/ubuntu"
+# sudo mkdir -p ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }}/${{ matrix.arch }} || exit 1
+# sudo mv -t ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }}/${{ matrix.arch }}/ /srv/incoming/${{ env.JELLYFIN_VERSION }}/ubuntu/${{ matrix.arch }}/${{ matrix.release }}/* || exit 1
+# sudo rm ${BASEDIR}/latest-${{ env.JELLYFIN_RELEASE_TYPE }} || true
+# sudo ln -sf ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }} ${BASEDIR}/latest-${{ env.JELLYFIN_RELEASE_TYPE }} || exit 1
+# if [[ ${{ env.JELLYFIN_RELEASE_TYPE }} == "stable" ]]; then
+# sudo rm ${BASEDIR}/latest || true
+# sudo ln -sf ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }} ${BASEDIR}/latest || exit 1
+# fi
+#
+# Linux:
+# runs-on: ubuntu-22.04
+# strategy:
+# matrix:
+# arch:
+# - amd64
+# - amd64-musl
+# - arm64
+# - arm64-musl
+# - armhf
+# continue-on-error: false # true in prod, false for testing
+# steps:
+# - name: "Set dated version for unstable builds"
+# id: version
+# run: |-
+# if grep --silent --extended-regexp '^v[0-9]+' <<< "${{ inputs.version }}"; then
+# echo "JELLYFIN_VERSION=${{ inputs.version }}" >> $GITHUB_ENV
+# echo "JELLYFIN_RELEASE_TYPE=stable" >> $GITHUB_ENV
+# else
+# echo "JELLYFIN_VERSION=$(date +'%Y%m%d%H')" >> $GITHUB_ENV
+# echo "JELLYFIN_RELEASE_TYPE=unstable" >> $GITHUB_ENV
+# fi
+#
+# - name: "Install dependencies"
+# run: |-
+# sudo apt-get install --yes python3-git python3-yaml
+#
+# - name: "Checkout repository"
+# uses: actions/checkout@v3
+#
+# - name: "Prepare repository"
+# run: |-
+# ./checkout.py ${{ inputs.version }}
+#
+# - name: "Run builder for ${{ matrix.arch }}"
+# run: |-
+# sudo ./build.py ${{ env.JELLYFIN_VERSION }} linux ${{ matrix.arch }}
+#
+# - name: "Upload artifacts to repository server"
+# uses: appleboy/scp-action@v0.1.7
+# with:
+# host: "${{ secrets.REPO_HOST }}"
+# username: "${{ secrets.REPO_USER }}"
+# key: "${{ secrets.REPO_KEY }}"
+# source: "out/linux/*"
+# strip_components: 2
+# target: "/srv/incoming/${{ env.JELLYFIN_VERSION }}/linux/${{ matrix.arch }}"
+#
+# - name: "Move artifacts into repository"
+# uses: appleboy/ssh-action@v1.0.3
+# with:
+# host: "${{ secrets.REPO_HOST }}"
+# username: "${{ secrets.REPO_USER }}"
+# key: "${{ secrets.REPO_KEY }}"
+# debug: false
+# script_stop: true
+# script: |
+# export BASEDIR="/srv/repository/main/server/linux"
+# sudo mkdir -p ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }}/${{ matrix.arch }} || exit 1
+# sudo mv -t ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }}/${{ matrix.arch }}/ /srv/incoming/${{ env.JELLYFIN_VERSION }}/linux/${{ matrix.arch }}/${{ matrix.release }}/* || exit 1
+# sudo rm ${BASEDIR}/latest-${{ env.JELLYFIN_RELEASE_TYPE }} || true
+# sudo ln -sf ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }} ${BASEDIR}/latest-${{ env.JELLYFIN_RELEASE_TYPE }} || exit 1
+# if [[ ${{ env.JELLYFIN_RELEASE_TYPE }} == "stable" ]]; then
+# sudo rm ${BASEDIR}/latest || true
+# sudo ln -sf ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }} ${BASEDIR}/latest || exit 1
+# fi
+#
+# Windows:
+# runs-on: ubuntu-22.04
+# strategy:
+# matrix:
+# arch:
+# - amd64
+# - arm64
+# continue-on-error: false # true in prod, false for testing
+# steps:
+# - name: "Set dated version for unstable builds"
+# id: version
+# run: |-
+# if grep --silent --extended-regexp '^v[0-9]+' <<< "${{ inputs.version }}"; then
+# echo "JELLYFIN_VERSION=${{ inputs.version }}" >> $GITHUB_ENV
+# echo "JELLYFIN_RELEASE_TYPE=stable" >> $GITHUB_ENV
+# else
+# echo "JELLYFIN_VERSION=$(date +'%Y%m%d%H')" >> $GITHUB_ENV
+# echo "JELLYFIN_RELEASE_TYPE=unstable" >> $GITHUB_ENV
+# fi
+#
+# - name: "Install dependencies"
+# run: |-
+# sudo apt-get install --yes python3-git python3-yaml
+#
+# - name: "Checkout repository"
+# uses: actions/checkout@v3
+#
+# - name: "Prepare repository"
+# run: |-
+# ./checkout.py ${{ inputs.version }}
+#
+# - name: "Run builder for ${{ matrix.arch }}"
+# run: |-
+# sudo ./build.py ${{ env.JELLYFIN_VERSION }} windows ${{ matrix.arch }}
+#
+# - name: "Upload artifacts to repository server"
+# uses: appleboy/scp-action@v0.1.7
+# with:
+# host: "${{ secrets.REPO_HOST }}"
+# username: "${{ secrets.REPO_USER }}"
+# key: "${{ secrets.REPO_KEY }}"
+# source: "out/windows/*"
+# strip_components: 2
+# target: "/srv/incoming/${{ env.JELLYFIN_VERSION }}/windows/${{ matrix.arch }}"
+#
+# - name: "Move artifacts into repository"
+# uses: appleboy/ssh-action@v1.0.3
+# with:
+# host: "${{ secrets.REPO_HOST }}"
+# username: "${{ secrets.REPO_USER }}"
+# key: "${{ secrets.REPO_KEY }}"
+# debug: false
+# script_stop: true
+# script: |
+# export BASEDIR="/srv/repository/main/server/windows"
+# sudo mkdir -p ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }}/${{ matrix.arch }} || exit 1
+# sudo mv -t ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }}/${{ matrix.arch }}/ /srv/incoming/${{ env.JELLYFIN_VERSION }}/windows/${{ matrix.arch }}/${{ matrix.release }}/* || exit 1
+# sudo rm ${BASEDIR}/latest-${{ env.JELLYFIN_RELEASE_TYPE }} || true
+# sudo ln -sf ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }} ${BASEDIR}/latest-${{ env.JELLYFIN_RELEASE_TYPE }} || exit 1
+# if [[ ${{ env.JELLYFIN_RELEASE_TYPE }} == "stable" ]]; then
+# sudo rm ${BASEDIR}/latest || true
+# sudo ln -sf ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }} ${BASEDIR}/latest || exit 1
+# fi
+#
+# MacOS:
+# runs-on: ubuntu-22.04
+# strategy:
+# matrix:
+# arch:
+# - amd64
+# - arm64
+# continue-on-error: false # true in prod, false for testing
+# steps:
+# - name: "Set dated version for unstable builds"
+# id: version
+# run: |-
+# if grep --silent --extended-regexp '^v[0-9]+' <<< "${{ inputs.version }}"; then
+# echo "JELLYFIN_VERSION=${{ inputs.version }}" >> $GITHUB_ENV
+# echo "JELLYFIN_RELEASE_TYPE=stable" >> $GITHUB_ENV
+# else
+# echo "JELLYFIN_VERSION=$(date +'%Y%m%d%H')" >> $GITHUB_ENV
+# echo "JELLYFIN_RELEASE_TYPE=unstable" >> $GITHUB_ENV
+# fi
+#
+# - name: "Install dependencies"
+# run: |-
+# sudo apt-get install --yes python3-git python3-yaml
+#
+# - name: "Checkout repository"
+# uses: actions/checkout@v3
+#
+# - name: "Prepare repository"
+# run: |-
+# ./checkout.py ${{ inputs.version }}
+#
+# - name: "Run builder for ${{ matrix.version }} ${{ matrix.arch }}"
+# run: |-
+# sudo ./build.py ${{ env.JELLYFIN_VERSION }} macos ${{ matrix.arch }}
+#
+# - name: "Upload artifacts to repository server"
+# uses: appleboy/scp-action@v0.1.7
+# with:
+# host: "${{ secrets.REPO_HOST }}"
+# username: "${{ secrets.REPO_USER }}"
+# key: "${{ secrets.REPO_KEY }}"
+# source: "out/macos/*"
+# strip_components: 2
+# target: "/srv/incoming/${{ env.JELLYFIN_VERSION }}/macos/${{ matrix.arch }}"
+#
+# - name: "Move artifacts into repository"
+# uses: appleboy/ssh-action@v1.0.3
+# with:
+# host: "${{ secrets.REPO_HOST }}"
+# username: "${{ secrets.REPO_USER }}"
+# key: "${{ secrets.REPO_KEY }}"
+# debug: false
+# script_stop: true
+# script: |
+# export BASEDIR="/srv/repository/main/server/macos"
+# sudo mkdir -p ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }}/${{ matrix.arch }} || exit 1
+# sudo mv -t ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }}/${{ matrix.arch }}/ /srv/incoming/${{ env.JELLYFIN_VERSION }}/macos/${{ matrix.arch }}/${{ matrix.release }}/* || exit 1
+# sudo rm ${BASEDIR}/latest-${{ env.JELLYFIN_RELEASE_TYPE }} || true
+# sudo ln -sf ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }} ${BASEDIR}/latest-${{ env.JELLYFIN_RELEASE_TYPE }} || exit 1
+# if [[ ${{ env.JELLYFIN_RELEASE_TYPE }} == "stable" ]]; then
+# sudo rm ${BASEDIR}/latest || true
+# sudo ln -sf ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }} ${BASEDIR}/latest || exit 1
+# fi
+#
+# Portable:
+# runs-on: ubuntu-22.04
+# continue-on-error: false # true in prod, false for testing
+# steps:
+# - name: "Set dated version for unstable builds"
+# id: version
+# run: |-
+# if grep --silent --extended-regexp '^v[0-9]+' <<< "${{ inputs.version }}"; then
+# echo "JELLYFIN_VERSION=${{ inputs.version }}" >> $GITHUB_ENV
+# echo "JELLYFIN_RELEASE_TYPE=stable" >> $GITHUB_ENV
+# else
+# echo "JELLYFIN_VERSION=$(date +'%Y%m%d%H')" >> $GITHUB_ENV
+# echo "JELLYFIN_RELEASE_TYPE=unstable" >> $GITHUB_ENV
+# fi
+#
+# - name: "Install dependencies"
+# run: |-
+# sudo apt-get install --yes python3-git python3-yaml
+#
+# - name: "Checkout repository"
+# uses: actions/checkout@v3
+#
+# - name: "Prepare repository"
+# run: |-
+# ./checkout.py ${{ inputs.version }}
+#
+# - name: "Run builder for Portable"
+# run: |-
+# sudo ./build.py ${{ env.JELLYFIN_VERSION }} portable
+#
+# - name: "Upload artifacts to repository server"
+# uses: appleboy/scp-action@v0.1.7
+# with:
+# host: "${{ secrets.REPO_HOST }}"
+# username: "${{ secrets.REPO_USER }}"
+# key: "${{ secrets.REPO_KEY }}"
+# source: "out/portable/*"
+# strip_components: 2
+# target: "/srv/incoming/${{ env.JELLYFIN_VERSION }}/portable"
+#
+# - name: "Move artifacts into repository"
+# uses: appleboy/ssh-action@v1.0.3
+# with:
+# host: "${{ secrets.REPO_HOST }}"
+# username: "${{ secrets.REPO_USER }}"
+# key: "${{ secrets.REPO_KEY }}"
+# debug: false
+# script_stop: true
+# script: |
+# export BASEDIR="/srv/repository/main/server/portable"
+# sudo mkdir -p ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }}/any || exit 1
+# sudo mv -t ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }}/any/ /srv/incoming/${{ env.JELLYFIN_VERSION }}/portable/${{ matrix.release }}/* || exit 1
+# sudo rm ${BASEDIR}/latest-${{ env.JELLYFIN_RELEASE_TYPE }} || true
+# sudo ln -sf ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }} ${BASEDIR}/latest-${{ env.JELLYFIN_RELEASE_TYPE }} || exit 1
+# if [[ ${{ env.JELLYFIN_RELEASE_TYPE }} == "stable" ]]; then
+# sudo rm ${BASEDIR}/latest || true
+# sudo ln -sf ${BASEDIR}/${{ env.JELLYFIN_RELEASE_TYPE }}/${{ env.JELLYFIN_VERSION }} ${BASEDIR}/latest || exit 1
+# fi
bgstack15