mirror of
https://github.com/spritsail/plex-media-server.git
synced 2025-05-05 06:22:29 +00:00
Plex now provide a first-party musl Plex build that works without any external dependencies whatsoever. It's built with LLVM with many compiler and linker optimisations enabled: https://forums.plex.tv/t/plex-media-server-forum-preview-faster-and-smaller-builds-with-new-toolchain/699575 Changes for this release include: - Drop curl, OpenSSL and zlib; they're no longer required. libcurl and libssl/libcrypto are provided by Plex anyway. - Build `FROM spritsail/alpine` instead of `FROM debian` to ensure musl compatibility with all compiled binaries. Use `FROM scratch` for the resulting image. ld-musl is provided by Plex. - Build busybox, su-exec and tini as they're no longer provided by the base image. - Build binaries/libraries with standard hardening flags, including the popular -flto. Signed-off-by: Joe Groocock <me@frebib.net>
53 lines
887 B
YAML
53 lines
887 B
YAML
---
|
|
kind: pipeline
|
|
name: build-amd64
|
|
|
|
platform:
|
|
os: linux
|
|
arch: amd64
|
|
|
|
steps:
|
|
- name: build
|
|
pull: always
|
|
image: spritsail/docker-build
|
|
settings:
|
|
make: true
|
|
|
|
- name: test-bin
|
|
pull: always
|
|
image: spritsail/docker-test
|
|
settings:
|
|
run: |
|
|
busybox && \
|
|
xmlstarlet --version
|
|
|
|
- name: test
|
|
pull: always
|
|
image: spritsail/docker-test
|
|
settings:
|
|
curl: :32400/identity
|
|
delay: 5
|
|
pipe: |
|
|
xmlstarlet sel -t -v "/MediaContainer/@version" |
|
|
grep -qw "$(label io.spritsail.version.plex | cut -d- -f1)"
|
|
retry: 10
|
|
|
|
- name: publish
|
|
pull: always
|
|
image: spritsail/docker-publish
|
|
settings:
|
|
repo: spritsail/plex-media-server
|
|
tags:
|
|
- musl
|
|
login: {from_secret: docker_login}
|
|
when:
|
|
branch:
|
|
- musl
|
|
event:
|
|
- push
|
|
---
|
|
kind: signature
|
|
hmac: 63bede647ba8e4f4f0a69983c22535fbda0afa811b60830c31edb0fbbf0b8b86
|
|
|
|
...
|