Release 5.1.4-2 #57
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: '🚀 Build and Publish jellyfin-ffmpeg' | |
on: | |
release: | |
types: | |
- released | |
jobs: | |
build_publish_debian: | |
uses: ./.github/workflows/_meta.yaml | |
with: | |
distro: 'debian' | |
codenames: '["buster", "bullseye", "bookworm"]' | |
architectures: '["amd64", "arm64", "armhf"]' | |
release: true | |
secrets: | |
deploy-host: ${{ secrets.DEPLOY_HOST }} | |
deploy-user: ${{ secrets.DEPLOY_USER }} | |
deploy-key: ${{ secrets.DEPLOY_KEY }} | |
build_publish_ubuntu: | |
uses: ./.github/workflows/_meta.yaml | |
with: | |
distro: 'ubuntu' | |
codenames: '["bionic", "focal", "jammy", "lunar", "mantic"]' | |
architectures: '["amd64", "arm64", "armhf"]' | |
release: true | |
secrets: | |
deploy-host: ${{ secrets.DEPLOY_HOST }} | |
deploy-user: ${{ secrets.DEPLOY_USER }} | |
deploy-key: ${{ secrets.DEPLOY_KEY }} | |
build_publish_windows_portable: | |
uses: ./.github/workflows/_meta_portable.yaml | |
with: | |
os: 'windows' | |
architectures: '["win64"]' | |
release: true | |
secrets: | |
deploy-host: ${{ secrets.DEPLOY_HOST }} | |
deploy-user: ${{ secrets.DEPLOY_USER }} | |
deploy-key: ${{ secrets.DEPLOY_KEY }} | |
build_publish_linux_portable: | |
uses: ./.github/workflows/_meta_portable.yaml | |
with: | |
os: 'linux' | |
architectures: '["amd64", "arm64"]' | |
release: true | |
secrets: | |
deploy-host: ${{ secrets.DEPLOY_HOST }} | |
deploy-user: ${{ secrets.DEPLOY_USER }} | |
deploy-key: ${{ secrets.DEPLOY_KEY }} | |
maintain_repository: | |
name: Maintain Repository | |
runs-on: ubuntu-latest | |
needs: | |
- build_publish_debian | |
- build_publish_ubuntu | |
strategy: | |
fail-fast: true | |
max-parallel: 1 | |
matrix: | |
arrays: [ | |
{distro: 'debian', codename: 'buster'}, | |
{distro: 'debian', codename: 'bullseye'}, | |
{distro: 'debian', codename: 'bookworm'}, | |
{distro: 'ubuntu', codename: 'bionic'}, | |
{distro: 'ubuntu', codename: 'focal'}, | |
{distro: 'ubuntu', codename: 'jammy'}, | |
{distro: 'ubuntu', codename: 'lunar'}, | |
{distro: 'ubuntu', codename: 'mantic'} | |
] | |
steps: | |
- name: Sync mirrors and update symlinks | |
uses: appleboy/[email protected] | |
with: | |
host: ${{ secrets.DEPLOY_HOST }} | |
username: ${{ secrets.DEPLOY_USER }} | |
key: ${{ secrets.DEPLOY_KEY }} | |
script_stop: true | |
script: |- | |
set -o errexit | |
set -o xtrace | |
tag="${{ github.event.release.tag_name }}" | |
version="${tag#v}" | |
basename="jellyfin-ffmpeg*_${version}-${{ matrix.arrays.codename }}" | |
find /srv/repository/releases/server/${{ matrix.arrays.distro }}/ -type l -name "jellyfin-ffmpeg*_*" -exec rm {} \; | |
find /srv/repository/releases/server/${{ matrix.arrays.distro }}/versions/jellyfin-ffmpeg/${version} -type f -name "${basename}_*.deb" | while read file; do | |
reprepro -b /srv/repository/${{ matrix.arrays.distro }} --export=never --keepunreferencedfiles includedeb ${{ matrix.arrays.codename }} ${file} | |
done | |
find /srv/repository/releases/server/${{ matrix.arrays.distro }}/ -type l -name "${basename}_*" -exec rm {} \; | |
reprepro -b /srv/repository/${{ matrix.arrays.distro }} deleteunreferenced | |
reprepro -b /srv/repository/${{ matrix.arrays.distro }} export | |
rm -f /srv/repository/releases/server/${{ matrix.arrays.distro }}/ffmpeg | |
rm -f /srv/repository/releases/server/${{ matrix.arrays.distro }}/{stable,stable-pre,unstable}/ffmpeg | |
ln -fs /srv/repository/releases/server/${{ matrix.arrays.distro }}/versions/jellyfin-ffmpeg/${version} /srv/repository/releases/server/${{ matrix.arrays.distro }}/ffmpeg | |
ln -fs /srv/repository/releases/server/${{ matrix.arrays.distro }}/versions/jellyfin-ffmpeg/${version} /srv/repository/releases/server/${{ matrix.arrays.distro }}/stable/ffmpeg | |
ln -fs /srv/repository/releases/server/${{ matrix.arrays.distro }}/versions/jellyfin-ffmpeg/${version} /srv/repository/releases/server/${{ matrix.arrays.distro }}/stable-pre/ffmpeg | |
ln -fs /srv/repository/releases/server/${{ matrix.arrays.distro }}/versions/jellyfin-ffmpeg/${version} /srv/repository/releases/server/${{ matrix.arrays.distro }}/unstable/ffmpeg | |
maintain_repository_portable: | |
name: Maintain Repository (Portable) | |
runs-on: ubuntu-latest | |
needs: | |
- build_publish_windows_portable | |
strategy: | |
fail-fast: true | |
max-parallel: 1 | |
matrix: | |
arrays: [ | |
{distro: 'windows', codename: 'windows'}, | |
] | |
steps: | |
- name: Update symlinks | |
uses: appleboy/[email protected] | |
with: | |
host: ${{ secrets.DEPLOY_HOST }} | |
username: ${{ secrets.DEPLOY_USER }} | |
key: ${{ secrets.DEPLOY_KEY }} | |
script_stop: true | |
script: |- | |
set -o errexit | |
set -o xtrace | |
tag="${{ github.event.release.tag_name }}" | |
version="${tag#v}" | |
find /srv/repository/releases/server/${{ matrix.arrays.distro }}/ -type l -name "jellyfin-ffmpeg*_*" -exec rm {} \; | |
if [ "${{ matrix.arrays.distro }}" == "windows" ]; then | |
mkdir -p /srv/repository/releases/server/${{ matrix.arrays.distro }}/versions/jellyfin-ffmpeg/${version} | |
ln -fs /srv/repository/releases/ffmpeg/${version}/*.zip /srv/repository/releases/ffmpeg/${version}/jellyfin-ffmpeg-portable_win64.zip | |
ln -fs /srv/repository/releases/ffmpeg/${version}/*.zip /srv/repository/releases/server/${{ matrix.arrays.distro }}/versions/jellyfin-ffmpeg/${version}/ | |
ln -fs /srv/repository/releases/ffmpeg/${version}/*.zip.sha265sum /srv/repository/releases/server/${{ matrix.arrays.distro }}/versions/jellyfin-ffmpeg/${version}/ | |
fi | |
rm -f /srv/repository/releases/server/${{ matrix.arrays.distro }}/ffmpeg | |
rm -f /srv/repository/releases/server/${{ matrix.arrays.distro }}/{stable,stable-pre,unstable}/ffmpeg | |
ln -fs /srv/repository/releases/ffmpeg/${version} /srv/repository/releases/server/${{ matrix.arrays.distro }}/ffmpeg | |
ln -fs /srv/repository/releases/ffmpeg/${version} /srv/repository/releases/server/${{ matrix.arrays.distro }}/stable/ffmpeg | |
ln -fs /srv/repository/releases/ffmpeg/${version} /srv/repository/releases/server/${{ matrix.arrays.distro }}/stable-pre/ffmpeg | |
ln -fs /srv/repository/releases/ffmpeg/${version} /srv/repository/releases/server/${{ matrix.arrays.distro }}/unstable/ffmpeg |