mirror of
https://github.com/linuxserver/docker-ffmpeg.git
synced 2026-02-20 04:56:23 +08:00
Compare commits
25 Commits
8.0-cli-ls
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f35f0c9720 | ||
|
|
d424516bec | ||
|
|
7100fa33c6 | ||
|
|
7b414e7bd9 | ||
|
|
118ea9dee1 | ||
|
|
3d3a0f3fdf | ||
|
|
37bfd69cfb | ||
|
|
ab5fede4d2 | ||
|
|
c52f067a11 | ||
|
|
839170000d | ||
|
|
79cbc25e01 | ||
|
|
77ad03e76c | ||
|
|
237805303e | ||
|
|
c01a2f7787 | ||
|
|
5803a9b64f | ||
|
|
c6a0f2b929 | ||
|
|
91b626f2c2 | ||
|
|
80b1900f78 | ||
|
|
259227e5dd | ||
|
|
eee4a1436a | ||
|
|
33269ab474 | ||
|
|
306cf13333 | ||
|
|
2f3d26d118 | ||
|
|
1272de2b43 | ||
|
|
8492517284 |
2
.github/workflows/external_trigger.yml
vendored
2
.github/workflows/external_trigger.yml
vendored
@ -29,7 +29,7 @@ jobs:
|
||||
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "> External trigger running off of master branch. To disable this trigger, add \`ffmpeg_master\` into the Github organizational variable \`SKIP_EXTERNAL_TRIGGER\`." >> $GITHUB_STEP_SUMMARY
|
||||
printf "\n## Retrieving external version\n\n" >> $GITHUB_STEP_SUMMARY
|
||||
EXT_RELEASE=$(echo 8.0-cli)
|
||||
EXT_RELEASE=$(echo 8.0.1-cli)
|
||||
echo "Type is \`custom_version_command\`" >> $GITHUB_STEP_SUMMARY
|
||||
if grep -q "^ffmpeg_master_${EXT_RELEASE}" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
|
||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||
|
||||
43
Dockerfile
43
Dockerfile
@ -15,47 +15,47 @@ ENV \
|
||||
|
||||
# versions
|
||||
ENV \
|
||||
AOM=v3.12.1 \
|
||||
AOM=v3.13.1 \
|
||||
FDKAAC=2.0.3 \
|
||||
FFMPEG_HARD=8.0 \
|
||||
FFMPEG_HARD=8.0.1 \
|
||||
FONTCONFIG=2.16.0 \
|
||||
FREETYPE=2.13.3 \
|
||||
FREETYPE=2.14.1 \
|
||||
FRIBIDI=1.0.16 \
|
||||
GMMLIB=22.8.0 \
|
||||
HARFBUZZ=11.4.3 \
|
||||
IHD=25.2.6 \
|
||||
KVAZAAR=2.3.1 \
|
||||
GMMLIB=22.8.2 \
|
||||
HARFBUZZ=12.3.0 \
|
||||
IHD=25.3.4 \
|
||||
KVAZAAR=2.3.2 \
|
||||
LAME=3.100 \
|
||||
LIBASS=0.17.4 \
|
||||
LIBDAV1D=1.5.1 \
|
||||
LIBDAV1D=1.5.3 \
|
||||
LIBDOVI=2.3.1 \
|
||||
LIBDRM=2.4.125 \
|
||||
LIBDRM=2.4.131 \
|
||||
LIBGL=1.7.0 \
|
||||
LIBLC3=1.1.3 \
|
||||
LIBMFX=22.5.4 \
|
||||
LIBPLACEBO=7.351.0 \
|
||||
LIBPNG=1.6.50 \
|
||||
LIBVA=2.22.0 \
|
||||
LIBPNG=1.6.53 \
|
||||
LIBVA=2.23.0 \
|
||||
LIBVDPAU=1.5 \
|
||||
LIBVIDSTAB=1.1.1 \
|
||||
LIBVMAF=3.0.0 \
|
||||
LIBVPL=2.15.0 \
|
||||
MESA=25.2.1 \
|
||||
LIBVPL=2.16.0 \
|
||||
MESA=25.3.3 \
|
||||
NVCODEC=n13.0.19.0 \
|
||||
OGG=1.3.6 \
|
||||
OPENCOREAMR=0.1.6 \
|
||||
OPENJPEG=2.5.3 \
|
||||
OPUS=1.5.2 \
|
||||
OPENJPEG=2.5.4 \
|
||||
OPUS=1.6 \
|
||||
RAV1E=0.8.1 \
|
||||
RIST=0.2.11 \
|
||||
SHADERC=v2025.3 \
|
||||
SHADERC=v2025.5 \
|
||||
SRT=1.5.4 \
|
||||
SVTAV1=3.1.1 \
|
||||
SVTAV1=3.1.2 \
|
||||
THEORA=1.2.0 \
|
||||
VORBIS=1.3.7 \
|
||||
VPLGPURT=25.2.6 \
|
||||
VPLGPURT=25.3.4 \
|
||||
VPX=1.15.2 \
|
||||
VULKANSDK=vulkan-sdk-1.4.321.0 \
|
||||
VULKANSDK=vulkan-sdk-1.4.335.0 \
|
||||
VVENC=1.13.1 \
|
||||
WEBP=1.6.0 \
|
||||
X265=4.1 \
|
||||
@ -961,7 +961,6 @@ RUN \
|
||||
/buildout/usr/local/lib/libmfx-gen \
|
||||
/buildout/usr/local/lib/mfx \
|
||||
/buildout/usr/local/lib/x86_64-linux-gnu/dri \
|
||||
/buildout/usr/local/lib/x86_64-linux-gnu/vdpau \
|
||||
/buildout/usr/local/share/vulkan \
|
||||
/buildout/usr/share/fonts \
|
||||
/buildout/usr/share/libdrm \
|
||||
@ -990,9 +989,6 @@ RUN \
|
||||
cp -a \
|
||||
/usr/local/lib/x86_64-linux-gnu/dri/*.so \
|
||||
/buildout/usr/local/lib/x86_64-linux-gnu/dri/ && \
|
||||
cp -a \
|
||||
/usr/local/lib/x86_64-linux-gnu/vdpau/*.so \
|
||||
/buildout/usr/local/lib/x86_64-linux-gnu/vdpau/ && \
|
||||
cp -a \
|
||||
/usr/lib/x86_64-linux-gnu/dri/i965* \
|
||||
/buildout/usr/local/lib/x86_64-linux-gnu/dri/ && \
|
||||
@ -1060,6 +1056,7 @@ RUN \
|
||||
libxshmfence1 \
|
||||
libxml2 \
|
||||
ocl-icd-libopencl1 && \
|
||||
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
|
||||
echo "**** clean up ****" && \
|
||||
rm -rf \
|
||||
/var/lib/apt/lists/* \
|
||||
|
||||
@ -15,34 +15,33 @@ ENV \
|
||||
|
||||
# versions
|
||||
ENV \
|
||||
AOM=v3.12.1 \
|
||||
AOM=v3.13.1 \
|
||||
FDKAAC=2.0.3 \
|
||||
FFMPEG_HARD=8.0 \
|
||||
FFMPEG_HARD=8.0.1 \
|
||||
FONTCONFIG=2.16.0 \
|
||||
FREETYPE=2.13.3 \
|
||||
FREETYPE=2.14.1 \
|
||||
FRIBIDI=1.0.16 \
|
||||
HARFBUZZ=11.4.3 \
|
||||
KVAZAAR=2.3.1 \
|
||||
HARFBUZZ=12.3.0 \
|
||||
KVAZAAR=2.3.2 \
|
||||
LAME=3.100 \
|
||||
LIBASS=0.17.4 \
|
||||
LIBDAV1D=1.5.1 \
|
||||
LIBDRM=2.4.125 \
|
||||
LIBDAV1D=1.5.3 \
|
||||
LIBDRM=2.4.131 \
|
||||
LIBLC3=1.1.3 \
|
||||
LIBPNG=1.6.50 \
|
||||
LIBVA=2.22.0 \
|
||||
LIBPNG=1.6.53 \
|
||||
LIBVA=2.23.0 \
|
||||
LIBVDPAU=1.5 \
|
||||
LIBVIDSTAB=1.1.1 \
|
||||
LIBVMAF=3.0.0 \
|
||||
MPP=1.0.9 \
|
||||
NVCODEC=n13.0.19.0 \
|
||||
OGG=1.3.6 \
|
||||
OPENCOREAMR=0.1.6 \
|
||||
OPENJPEG=2.5.3 \
|
||||
OPUS=1.5.2 \
|
||||
OPENJPEG=2.5.4 \
|
||||
OPUS=1.6 \
|
||||
RAV1E=0.8.1 \
|
||||
RIST=0.2.11 \
|
||||
SRT=1.5.4 \
|
||||
SVTAV1=3.1.1 \
|
||||
SVTAV1=3.1.2 \
|
||||
THEORA=1.2.0 \
|
||||
VORBIS=1.3.7 \
|
||||
VPX=1.15.2 \
|
||||
@ -323,22 +322,6 @@ RUN \
|
||||
build && \
|
||||
ninja -vC build && \
|
||||
ninja -vC build install
|
||||
RUN \
|
||||
echo "**** grabbing mpp ****" && \
|
||||
mkdir -p /tmp/mpp && \
|
||||
curl -Lf \
|
||||
https://github.com/rockchip-linux/mpp/archive/refs/tags/${MPP}.tar.gz | \
|
||||
tar -zx --strip-components=1 -C /tmp/mpp
|
||||
RUN \
|
||||
echo "**** compiling mpp ****" && \
|
||||
cd /tmp/mpp && \
|
||||
cmake \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DTOOLCHAIN=aarch64-linux-gnu- \
|
||||
-G "Unix Makefiles" \
|
||||
. && \
|
||||
cmake --build . -j && \
|
||||
make install
|
||||
RUN \
|
||||
echo "**** grabbing ogg ****" && \
|
||||
mkdir -p /tmp/ogg && \
|
||||
@ -690,7 +673,6 @@ RUN \
|
||||
--enable-nvdec \
|
||||
--enable-nvenc \
|
||||
--enable-openssl \
|
||||
--enable-rkmpp \
|
||||
--enable-stripping \
|
||||
--enable-version3 \
|
||||
&& \
|
||||
@ -758,6 +740,7 @@ RUN \
|
||||
libxext6 \
|
||||
libxml2 \
|
||||
ocl-icd-libopencl1 && \
|
||||
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
|
||||
echo "**** clean up ****" && \
|
||||
rm -rf \
|
||||
/var/lib/apt/lists/* \
|
||||
|
||||
112
Jenkinsfile
vendored
112
Jenkinsfile
vendored
@ -140,7 +140,7 @@ pipeline {
|
||||
steps{
|
||||
script{
|
||||
env.EXT_RELEASE = sh(
|
||||
script: ''' echo 8.0-cli ''',
|
||||
script: ''' echo 8.0.1-cli ''',
|
||||
returnStdout: true).trim()
|
||||
env.RELEASE_LINK = 'custom_command'
|
||||
}
|
||||
@ -201,6 +201,7 @@ pipeline {
|
||||
env.META_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
|
||||
env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache'
|
||||
env.CITEST_IMAGETAG = 'latest'
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -226,6 +227,7 @@ pipeline {
|
||||
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
|
||||
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DEV_DOCKERHUB_IMAGE + '/tags/'
|
||||
env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache'
|
||||
env.CITEST_IMAGETAG = 'develop'
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -251,6 +253,7 @@ pipeline {
|
||||
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/pull/' + env.PULL_REQUEST
|
||||
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.PR_DOCKERHUB_IMAGE + '/tags/'
|
||||
env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache'
|
||||
env.CITEST_IMAGETAG = 'develop'
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -273,7 +276,7 @@ pipeline {
|
||||
-v ${WORKSPACE}:/mnt \
|
||||
-e AWS_ACCESS_KEY_ID=\"${S3_KEY}\" \
|
||||
-e AWS_SECRET_ACCESS_KEY=\"${S3_SECRET}\" \
|
||||
ghcr.io/linuxserver/baseimage-alpine:3.20 s6-envdir -fn -- /var/run/s6/container_environment /bin/bash -c "\
|
||||
ghcr.io/linuxserver/baseimage-alpine:3.23 s6-envdir -fn -- /var/run/s6/container_environment /bin/bash -c "\
|
||||
apk add --no-cache python3 && \
|
||||
python3 -m venv /lsiopy && \
|
||||
pip install --no-cache-dir -U pip && \
|
||||
@ -545,13 +548,16 @@ pipeline {
|
||||
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
|
||||
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
|
||||
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
|
||||
|
||||
if [[ "${PACKAGE_CHECK}" != "true" ]]; then
|
||||
declare -A pids
|
||||
IFS=',' read -ra CACHE <<< "$BUILDCACHE"
|
||||
for i in "${CACHE[@]}"; do
|
||||
docker push ${i}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} &
|
||||
pids[$!]="$i"
|
||||
done
|
||||
for p in $(jobs -p); do
|
||||
wait "$p" || { echo "job $p failed" >&2; exit 1; }
|
||||
for p in "${!pids[@]}"; do
|
||||
wait "$p" || { [[ "${pids[$p]}" != *"quay.io"* ]] && exit 1; }
|
||||
done
|
||||
fi
|
||||
'''
|
||||
@ -611,13 +617,16 @@ pipeline {
|
||||
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
|
||||
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
|
||||
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
|
||||
|
||||
if [[ "${PACKAGE_CHECK}" != "true" ]]; then
|
||||
declare -A pids
|
||||
IFS=',' read -ra CACHE <<< "$BUILDCACHE"
|
||||
for i in "${CACHE[@]}"; do
|
||||
docker push ${i}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} &
|
||||
pids[$!]="$i"
|
||||
done
|
||||
for p in $(jobs -p); do
|
||||
wait "$p" || { echo "job $p failed" >&2; exit 1; }
|
||||
for p in "${!pids[@]}"; do
|
||||
wait "$p" || { [[ "${pids[$p]}" != *"quay.io"* ]] && exit 1; }
|
||||
done
|
||||
fi
|
||||
'''
|
||||
@ -671,12 +680,14 @@ pipeline {
|
||||
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
|
||||
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
|
||||
if [[ "${PACKAGE_CHECK}" != "true" ]]; then
|
||||
declare -A pids
|
||||
IFS=',' read -ra CACHE <<< "$BUILDCACHE"
|
||||
for i in "${CACHE[@]}"; do
|
||||
docker push ${i}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} &
|
||||
pids[$!]="$i"
|
||||
done
|
||||
for p in $(jobs -p); do
|
||||
wait "$p" || { echo "job $p failed" >&2; exit 1; }
|
||||
for p in "${!pids[@]}"; do
|
||||
wait "$p" || { [[ "${pids[$p]}" != *"quay.io"* ]] && exit 1; }
|
||||
done
|
||||
fi
|
||||
'''
|
||||
@ -801,7 +812,7 @@ pipeline {
|
||||
CI_DOCKERENV="LSIO_FIRST_PARTY=true"
|
||||
fi
|
||||
fi
|
||||
docker pull ghcr.io/linuxserver/ci:latest
|
||||
docker pull ghcr.io/linuxserver/ci:${CITEST_IMAGETAG}
|
||||
if [ "${MULTIARCH}" == "true" ]; then
|
||||
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} --platform=arm64
|
||||
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
|
||||
@ -824,7 +835,9 @@ pipeline {
|
||||
-e WEB_PATH=\"${CI_WEBPATH}\" \
|
||||
-e NODE_NAME=\"${NODE_NAME}\" \
|
||||
-e SYFT_IMAGE_TAG=\"${CI_SYFT_IMAGE_TAG:-${SYFT_IMAGE_TAG}}\" \
|
||||
-t ghcr.io/linuxserver/ci:latest \
|
||||
-e COMMIT_SHA=\"${COMMIT_SHA}\" \
|
||||
-e BUILD_NUMBER=\"${BUILD_NUMBER}\" \
|
||||
-t ghcr.io/linuxserver/ci:${CITEST_IMAGETAG} \
|
||||
python3 test_build.py'''
|
||||
}
|
||||
}
|
||||
@ -850,9 +863,11 @@ pipeline {
|
||||
CACHEIMAGE=${i}
|
||||
fi
|
||||
done
|
||||
docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${META_TAG} -t ${PUSHIMAGE}:latest -t ${PUSHIMAGE}:${EXT_RELEASE_TAG} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||
docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${META_TAG} -t ${PUSHIMAGE}:latest -t ${PUSHIMAGE}:${EXT_RELEASE_TAG} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
|
||||
{ if [[ "${PUSHIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
|
||||
if [ -n "${SEMVER}" ]; then
|
||||
docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||
docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
|
||||
{ if [[ "${PUSHIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
|
||||
fi
|
||||
done
|
||||
'''
|
||||
@ -877,20 +892,27 @@ pipeline {
|
||||
CACHEIMAGE=${i}
|
||||
fi
|
||||
done
|
||||
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:amd64-${META_TAG} -t ${MANIFESTIMAGE}:amd64-latest -t ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:arm64v8-${META_TAG} -t ${MANIFESTIMAGE}:arm64v8-latest -t ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} ${CACHEIMAGE}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:amd64-${META_TAG} -t ${MANIFESTIMAGE}:amd64-latest -t ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
|
||||
{ if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
|
||||
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:arm64v8-${META_TAG} -t ${MANIFESTIMAGE}:arm64v8-latest -t ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} ${CACHEIMAGE}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || \
|
||||
{ if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
|
||||
if [ -n "${SEMVER}" ]; then
|
||||
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:amd64-${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:arm64v8-${SEMVER} ${CACHEIMAGE}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:amd64-${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
|
||||
{ if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
|
||||
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:arm64v8-${SEMVER} ${CACHEIMAGE}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || \
|
||||
{ if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
|
||||
fi
|
||||
done
|
||||
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
|
||||
docker buildx imagetools create -t ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm64v8-latest
|
||||
docker buildx imagetools create -t ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
||||
|
||||
docker buildx imagetools create -t ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
||||
docker buildx imagetools create -t ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm64v8-latest || \
|
||||
{ if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
|
||||
docker buildx imagetools create -t ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} || \
|
||||
{ if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
|
||||
docker buildx imagetools create -t ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} || \
|
||||
{ if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
|
||||
if [ -n "${SEMVER}" ]; then
|
||||
docker buildx imagetools create -t ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
|
||||
docker buildx imagetools create -t ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} || \
|
||||
{ if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
|
||||
fi
|
||||
done
|
||||
'''
|
||||
@ -908,23 +930,41 @@ pipeline {
|
||||
environment name: 'EXIT_STATUS', value: ''
|
||||
}
|
||||
steps {
|
||||
echo "Pushing New tag for current commit ${META_TAG}"
|
||||
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
|
||||
-d '{"tag":"'${META_TAG}'",\
|
||||
"object": "'${COMMIT_SHA}'",\
|
||||
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to master",\
|
||||
"type": "commit",\
|
||||
"tagger": {"name": "LinuxServer-CI","email": "ci@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
|
||||
echo "Pushing New release for Tag"
|
||||
sh '''#! /bin/bash
|
||||
echo "Auto-generating release notes"
|
||||
if [ "$(git tag --points-at HEAD)" != "" ]; then
|
||||
echo "Existing tag points to current commit, suggesting no new LS changes"
|
||||
AUTO_RELEASE_NOTES="No changes"
|
||||
else
|
||||
AUTO_RELEASE_NOTES=$(curl -fsL -H "Authorization: token ${GITHUB_TOKEN}" -H "Accept: application/vnd.github+json" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases/generate-notes \
|
||||
-d '{"tag_name":"'${META_TAG}'",\
|
||||
"target_commitish": "master"}' \
|
||||
| jq -r '.body' | sed 's|## What.s Changed||')
|
||||
fi
|
||||
echo "Pushing New tag for current commit ${META_TAG}"
|
||||
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
|
||||
-d '{"tag":"'${META_TAG}'",\
|
||||
"object": "'${COMMIT_SHA}'",\
|
||||
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to master",\
|
||||
"type": "commit",\
|
||||
"tagger": {"name": "LinuxServer-CI","email": "ci@linuxserver.io","date": "'${GITHUB_DATE}'"}}'
|
||||
echo "Pushing New release for Tag"
|
||||
echo "Updating to ${EXT_RELEASE_CLEAN}" > releasebody.json
|
||||
echo '{"tag_name":"'${META_TAG}'",\
|
||||
"target_commitish": "master",\
|
||||
"name": "'${META_TAG}'",\
|
||||
"body": "**CI Report:**\\n\\n'${CI_URL:-N/A}'\\n\\n**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n\\n**Remote Changes:**\\n\\n' > start
|
||||
printf '","draft": false,"prerelease": false}' >> releasebody.json
|
||||
paste -d'\\0' start releasebody.json > releasebody.json.done
|
||||
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''
|
||||
jq -n \
|
||||
--arg tag_name "$META_TAG" \
|
||||
--arg target_commitish "master" \
|
||||
--arg ci_url "${CI_URL:-N/A}" \
|
||||
--arg ls_notes "$AUTO_RELEASE_NOTES" \
|
||||
--arg remote_notes "$(cat releasebody.json)" \
|
||||
'{
|
||||
"tag_name": $tag_name,
|
||||
"target_commitish": $target_commitish,
|
||||
"name": $tag_name,
|
||||
"body": ("**CI Report:**\\n\\n" + $ci_url + "\\n\\n**LinuxServer Changes:**\\n\\n" + $ls_notes + "\\n\\n**Remote Changes:**\\n\\n" + $remote_notes),
|
||||
"draft": false,
|
||||
"prerelease": false }' > releasebody.json.done
|
||||
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done
|
||||
'''
|
||||
}
|
||||
}
|
||||
// Add protection to the release branch
|
||||
|
||||
@ -183,6 +183,9 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
||||
|
||||
## Versions
|
||||
|
||||
* **06.01.26:** - Remove mpp from aarch64 build due to upstream DMCA removal. Bump harfbuzz, libdav1d, libdrm, libpng, libva, libvpl, mesa, opus, shaderc and vulkan-sdk.
|
||||
* **01.12.25:** - Bump ffmpeg to 8.0.1.
|
||||
* **19.11.25:** - Bump aom, freetype, harfbuzz, Intel drivers and libs, kvazaar, libdav1d, libdrm, mesa, mpp, openjpeg, shaderc, svt-av1 and vulkan-sdk.
|
||||
* **23.08.25:** - Bump ffmpeg to 8.0. Bump harfbuzz, Intel drivers and libs, libdovi, libdrm, libpng, mesa, ogg, rav1e, shaderc, svt-av1, vulkan-sdk, webp and zimg.
|
||||
* **06.08.25:** - Bump svt-av1.
|
||||
* **07.06.25:** - Bump harfbuzz, libass, libdovi, libplacebo, libpng, mesa, rav1e, shaderc, libvpx and vulkan-sdk.
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
# jenkins variables
|
||||
project_name: docker-ffmpeg
|
||||
external_type: na
|
||||
custom_version_command: "echo 8.0-cli"
|
||||
custom_version_command: "echo 8.0.1-cli"
|
||||
release_type: stable
|
||||
release_tag: latest
|
||||
ls_branch: master
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
NAME VERSION TYPE
|
||||
adduser 3.137ubuntu1 deb
|
||||
alsa-topology-conf 1.2.5.1-2 deb
|
||||
alsa-ucm-conf 1.2.10-1ubuntu5.7 deb
|
||||
alsa-ucm-conf 1.2.10-1ubuntu5.9 deb
|
||||
apt 2.8.3 deb
|
||||
apt-utils 2.8.3 deb
|
||||
base-files 13ubuntu10.3 deb
|
||||
base-files 13ubuntu10.4 deb
|
||||
base-passwd 3.6.3build1 deb
|
||||
bash 5.2.21-2ubuntu4 deb
|
||||
bsdutils 1:2.39.3-9ubuntu6.3 deb
|
||||
bsdutils 1:2.39.3-9ubuntu6.4 deb
|
||||
ca-certificates 20240203 deb
|
||||
catatonit 0.1.7-1 deb
|
||||
coreutils 9.4-3ubuntu6.1 deb
|
||||
@ -18,26 +18,26 @@ dash 0.5.12-6ubuntu5 deb
|
||||
debconf 1.5.86ubuntu1 deb
|
||||
debianutils 5.17build1 deb
|
||||
diffutils 1:3.10-1build1 deb
|
||||
dirmngr 2.4.4-2ubuntu17.3 deb
|
||||
dpkg 1.22.6ubuntu6.2 deb
|
||||
dirmngr 2.4.4-2ubuntu17.4 deb
|
||||
dpkg 1.22.6ubuntu6.5 deb
|
||||
e2fsprogs 1.47.0-2.4~exp1ubuntu4.1 deb
|
||||
findutils 4.9.0-5build1 deb
|
||||
gcc-14-base 14.2.0-4ubuntu2~24.04 deb
|
||||
gnupg 2.4.4-2ubuntu17.3 deb
|
||||
gnupg-l10n 2.4.4-2ubuntu17.3 deb
|
||||
gnupg-utils 2.4.4-2ubuntu17.3 deb
|
||||
gpg 2.4.4-2ubuntu17.3 deb
|
||||
gpg-agent 2.4.4-2ubuntu17.3 deb
|
||||
gpg-wks-client 2.4.4-2ubuntu17.3 deb
|
||||
gpgconf 2.4.4-2ubuntu17.3 deb
|
||||
gpgsm 2.4.4-2ubuntu17.3 deb
|
||||
gpgv 2.4.4-2ubuntu17.3 deb
|
||||
gnupg 2.4.4-2ubuntu17.4 deb
|
||||
gnupg-l10n 2.4.4-2ubuntu17.4 deb
|
||||
gnupg-utils 2.4.4-2ubuntu17.4 deb
|
||||
gpg 2.4.4-2ubuntu17.4 deb
|
||||
gpg-agent 2.4.4-2ubuntu17.4 deb
|
||||
gpg-wks-client 2.4.4-2ubuntu17.4 deb
|
||||
gpgconf 2.4.4-2ubuntu17.4 deb
|
||||
gpgsm 2.4.4-2ubuntu17.4 deb
|
||||
gpgv 2.4.4-2ubuntu17.4 deb
|
||||
grep 3.11-4build1 deb
|
||||
gzip 1.12-1ubuntu3.1 deb
|
||||
hostname 3.23+nmu2ubuntu2 deb
|
||||
init-system-helpers 1.66ubuntu1 deb
|
||||
jq 1.7.1-3ubuntu0.24.04.1 deb
|
||||
keyboxd 2.4.4-2ubuntu17.3 deb
|
||||
keyboxd 2.4.4-2ubuntu17.4 deb
|
||||
krb5-locales 1.20.1-6ubuntu2.6 deb
|
||||
libacl1 2.3.2-1build1.1 deb
|
||||
libapt-pkg6.0t64 2.8.3 deb
|
||||
@ -47,12 +47,12 @@ libassuan0 2.5.6-1build1 deb
|
||||
libattr1 1:2.5.2-1build1.1 deb
|
||||
libaudit-common 1:3.1.2-2.1build1.1 deb
|
||||
libaudit1 1:3.1.2-2.1build1.1 deb
|
||||
libblkid1 2.39.3-9ubuntu6.3 deb
|
||||
libblkid1 2.39.3-9ubuntu6.4 deb
|
||||
libbrotli1 1.1.0-2build2 deb
|
||||
libbsd0 0.12.1-1build1.1 deb
|
||||
libbz2-1.0 1.0.8-5.1build0.1 deb
|
||||
libc-bin 2.39-0ubuntu8.6 deb
|
||||
libc6 2.39-0ubuntu8.6 deb
|
||||
libc-bin 2.39-0ubuntu8.7 deb
|
||||
libc6 2.39-0ubuntu8.7 deb
|
||||
libcap-ng0 0.8.4-2build2 deb
|
||||
libcap2 1:2.66-5ubuntu2.2 deb
|
||||
libcom-err2 1.47.0-2.4~exp1ubuntu4.1 deb
|
||||
@ -67,8 +67,8 @@ libext2fs2t64 1.47.0-2.4~exp1ubuntu4.1 deb
|
||||
libffi8 3.4.6-1build1 deb
|
||||
libgcc-s1 14.2.0-4ubuntu2~24.04 deb
|
||||
libgcrypt20 1.10.3-2build1 deb
|
||||
libglib2.0-0t64 2.80.0-6ubuntu3.4 deb
|
||||
libglib2.0-data 2.80.0-6ubuntu3.4 deb
|
||||
libglib2.0-0t64 2.80.0-6ubuntu3.8 deb
|
||||
libglib2.0-data 2.80.0-6ubuntu3.8 deb
|
||||
libgmp10 2:6.3.0+dfsg-2ubuntu6.1 deb
|
||||
libgnutls30t64 3.8.3-1.1ubuntu3.4 deb
|
||||
libgomp1 14.2.0-4ubuntu2~24.04 deb
|
||||
@ -85,13 +85,13 @@ libkeyutils1 1.6.3-3build1 deb
|
||||
libkrb5-3 1.20.1-6ubuntu2.6 deb
|
||||
libkrb5support0 1.20.1-6ubuntu2.6 deb
|
||||
libksba8 1.6.6-1build1 deb
|
||||
libldap-common 2.6.7+dfsg-1~exp1ubuntu8.2 deb
|
||||
libldap2 2.6.7+dfsg-1~exp1ubuntu8.2 deb
|
||||
libldap-common 2.6.10+dfsg-0ubuntu0.24.04.1 deb
|
||||
libldap2 2.6.10+dfsg-0ubuntu0.24.04.1 deb
|
||||
libllvm18 1:18.1.3-1ubuntu1 deb
|
||||
liblz4-1 1.9.4-1build1.1 deb
|
||||
liblzma5 5.6.1+really5.4.5-1ubuntu0.2 deb
|
||||
libmd0 1.1.0-2build1.1 deb
|
||||
libmount1 2.39.3-9ubuntu6.3 deb
|
||||
libmount1 2.39.3-9ubuntu6.4 deb
|
||||
libncursesw6 6.4+20240113-1ubuntu2 deb
|
||||
libnettle8t64 3.9.1-2.2build1.1 deb
|
||||
libnghttp2-14 1.59.0-1ubuntu0.2 deb
|
||||
@ -116,18 +116,18 @@ libselinux1 3.5-2ubuntu2.1 deb
|
||||
libsemanage-common 3.5-1build5 deb
|
||||
libsemanage2 3.5-1build5 deb
|
||||
libsepol2 3.5-2build1 deb
|
||||
libsmartcols1 2.39.3-9ubuntu6.3 deb
|
||||
libsmartcols1 2.39.3-9ubuntu6.4 deb
|
||||
libsqlite3-0 3.45.1-1ubuntu2.5 deb
|
||||
libss2 1.47.0-2.4~exp1ubuntu4.1 deb
|
||||
libssh-4 0.10.6-2ubuntu0.1 deb
|
||||
libssl3t64 3.0.13-0ubuntu3.5 deb
|
||||
libssh-4 0.10.6-2ubuntu0.2 deb
|
||||
libssl3t64 3.0.13-0ubuntu3.7 deb
|
||||
libstdc++6 14.2.0-4ubuntu2~24.04 deb
|
||||
libsystemd0 255.4-1ubuntu8.10 deb
|
||||
libtasn1-6 4.19.0-3ubuntu0.24.04.1 deb
|
||||
libsystemd0 255.4-1ubuntu8.12 deb
|
||||
libtasn1-6 4.19.0-3ubuntu0.24.04.2 deb
|
||||
libtinfo6 6.4+20240113-1ubuntu2 deb
|
||||
libudev1 255.4-1ubuntu8.10 deb
|
||||
libudev1 255.4-1ubuntu8.12 deb
|
||||
libunistring5 1.1-2build1.1 deb
|
||||
libuuid1 2.39.3-9ubuntu6.3 deb
|
||||
libuuid1 2.39.3-9ubuntu6.4 deb
|
||||
libv4l-0t64 1.26.1-4build3 deb
|
||||
libv4lconvert0t64 1.26.1-4build3 deb
|
||||
libwayland-client0 1.22.0-2.1build1 deb
|
||||
@ -147,20 +147,20 @@ libxcb1 1.15-1ubuntu2 deb
|
||||
libxdmcp6 1:1.1.3-0ubuntu6 deb
|
||||
libxext6 2:1.3.4-1build2 deb
|
||||
libxfixes3 1:6.0.0-2build1 deb
|
||||
libxml2 2.9.14+dfsg-1.3ubuntu3.5 deb
|
||||
libxml2 2.9.14+dfsg-1.3ubuntu3.7 deb
|
||||
libxshmfence1 1.3-1build5 deb
|
||||
libxxhash0 0.8.2-2build1 deb
|
||||
libzstd1 1.5.5+dfsg2-2build1.1 deb
|
||||
locales 2.39-0ubuntu8.6 deb
|
||||
locales 2.39-0ubuntu8.7 deb
|
||||
login 1:4.13+dfsg1-4ubuntu3.2 deb
|
||||
logsave 1.47.0-2.4~exp1ubuntu4.1 deb
|
||||
mawk 1.3.4.20240123-1build1 deb
|
||||
mount 2.39.3-9ubuntu6.3 deb
|
||||
mount 2.39.3-9ubuntu6.4 deb
|
||||
ncurses-base 6.4+20240113-1ubuntu2 deb
|
||||
ncurses-bin 6.4+20240113-1ubuntu2 deb
|
||||
netcat-openbsd 1.226-1ubuntu2 deb
|
||||
ocl-icd-libopencl1 2.3.2-1build1 deb
|
||||
openssl 3.0.13-0ubuntu3.5 deb
|
||||
openssl 3.0.13-0ubuntu3.7 deb
|
||||
passwd 1:4.13+dfsg1-4ubuntu3.2 deb
|
||||
perl-base 5.38.2-3.2ubuntu0.2 deb
|
||||
pinentry-curses 1.2.1-3ubuntu5 deb
|
||||
@ -170,12 +170,12 @@ readline-common 8.2-4build1 deb
|
||||
sed 4.9-2build1 deb
|
||||
sensible-utils 0.0.22 deb
|
||||
shared-mime-info 2.4-4 deb
|
||||
systemd-standalone-sysusers 255.4-1ubuntu8.10 deb
|
||||
systemd-standalone-sysusers 255.4-1ubuntu8.12 deb
|
||||
sysvinit-utils 3.08-6ubuntu3 deb
|
||||
tar 1.35+dfsg-3build1 deb
|
||||
tzdata 2025b-0ubuntu0.24.04.1 deb
|
||||
ubuntu-keyring 2023.11.28.1 deb
|
||||
unminimize 0.2.1 deb
|
||||
util-linux 2.39.3-9ubuntu6.3 deb
|
||||
util-linux 2.39.3-9ubuntu6.4 deb
|
||||
xdg-user-dirs 0.18-1build1 deb
|
||||
zlib1g 1:1.3.dfsg-3.1ubuntu2.1 deb
|
||||
|
||||
@ -190,6 +190,9 @@ full_custom_readme: |
|
||||
|
||||
## Versions
|
||||
|
||||
* **06.01.26:** - Remove mpp from aarch64 build due to upstream DMCA removal. Bump harfbuzz, libdav1d, libdrm, libpng, libva, libvpl, mesa, opus, shaderc and vulkan-sdk.
|
||||
* **01.12.25:** - Bump ffmpeg to 8.0.1.
|
||||
* **19.11.25:** - Bump aom, freetype, harfbuzz, Intel drivers and libs, kvazaar, libdav1d, libdrm, mesa, mpp, openjpeg, shaderc, svt-av1 and vulkan-sdk.
|
||||
* **23.08.25:** - Bump ffmpeg to 8.0. Bump harfbuzz, Intel drivers and libs, libdovi, libdrm, libpng, mesa, ogg, rav1e, shaderc, svt-av1, vulkan-sdk, webp and zimg.
|
||||
* **06.08.25:** - Bump svt-av1.
|
||||
* **07.06.25:** - Bump harfbuzz, libass, libdovi, libplacebo, libpng, mesa, rav1e, shaderc, libvpx and vulkan-sdk.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user