build: debian trixie, CI/CD refactor (#107)
* debian trixie * run tests in docker * cleanup * test: reset golden * test: update golden files --------- Co-authored-by: cshum <293790+cshum@users.noreply.github.com>
This commit is contained in:
parent
3d8c391d67
commit
45f9255112
9 changed files with 40 additions and 131 deletions
29
Dockerfile
29
Dockerfile
|
|
@ -1,5 +1,5 @@
|
|||
ARG GOLANG_VERSION=1.25.0
|
||||
FROM golang:${GOLANG_VERSION}-bookworm as builder
|
||||
FROM golang:${GOLANG_VERSION}-trixie as builder
|
||||
|
||||
ARG FFMPEG_VERSION=7.1.1
|
||||
ARG VIPS_VERSION=8.17.1
|
||||
|
|
@ -8,9 +8,8 @@ ARG TARGETARCH
|
|||
ENV PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
|
||||
ENV MAKEFLAGS="-j8"
|
||||
|
||||
# Installs libvips + FFmpeg + required libraries including modern image formats
|
||||
RUN echo "deb http://deb.debian.org/debian bookworm-backports main" > /etc/apt/sources.list.d/backports.list && \
|
||||
DEBIAN_FRONTEND=noninteractive \
|
||||
# Installs libvips + FFmpeg + required libraries including modern image formats + ImageMagick
|
||||
RUN DEBIAN_FRONTEND=noninteractive \
|
||||
apt-get update && \
|
||||
apt-get install --no-install-recommends -y \
|
||||
ca-certificates \
|
||||
|
|
@ -20,10 +19,10 @@ RUN echo "deb http://deb.debian.org/debian bookworm-backports main" > /etc/apt/s
|
|||
libwebp-dev libtiff-dev libexif-dev libxml2-dev libpoppler-glib-dev \
|
||||
swig libpango1.0-dev libmatio-dev libopenslide-dev libcfitsio-dev libopenjp2-7-dev liblcms2-dev \
|
||||
libgsf-1-dev libfftw3-dev liborc-0.4-dev librsvg2-dev libimagequant-dev libaom-dev \
|
||||
libspng-dev libcgif-dev libmagickwand-dev \
|
||||
libspng-dev libcgif-dev libheif-dev libheif-plugin-x265 libheif-plugin-aomenc libjxl-dev libavif-dev \
|
||||
libmagickwand-dev \
|
||||
yasm libx264-dev libx265-dev libnuma-dev libvpx-dev libtheora-dev \
|
||||
librtmp-dev libvorbis-dev libdav1d-dev && \
|
||||
apt-get install --no-install-recommends -y -t bookworm-backports libheif-dev libheif-plugin-x265 libheif-plugin-aomenc libjxl-dev && \
|
||||
cd /tmp && \
|
||||
curl -fsSLO https://github.com/libvips/libvips/releases/download/v${VIPS_VERSION}/vips-${VIPS_VERSION}.tar.xz && \
|
||||
tar xf vips-${VIPS_VERSION}.tar.xz && \
|
||||
|
|
@ -75,27 +74,25 @@ RUN go mod download
|
|||
|
||||
COPY . .
|
||||
|
||||
RUN if [ "$TARGETARCH" = "amd64" ]; then go test ./...; fi
|
||||
RUN go build -o ${GOPATH}/bin/imagorvideo ./cmd/imagorvideo/main.go
|
||||
|
||||
FROM debian:bookworm-slim as runtime
|
||||
FROM debian:trixie-slim as runtime
|
||||
LABEL maintainer="adrian@cshum.com"
|
||||
|
||||
COPY --from=builder /usr/local/lib /usr/local/lib
|
||||
COPY --from=builder /etc/ssl/certs /etc/ssl/certs
|
||||
|
||||
# Install runtime dependencies including modern image formats and ImageMagick
|
||||
RUN echo "deb http://deb.debian.org/debian bookworm-backports main" > /etc/apt/sources.list.d/backports.list && \
|
||||
DEBIAN_FRONTEND=noninteractive \
|
||||
RUN DEBIAN_FRONTEND=noninteractive \
|
||||
apt-get update && \
|
||||
apt-get install --no-install-recommends -y \
|
||||
procps curl libglib2.0-0 libjpeg62-turbo libpng16-16 libopenexr-3-1-30 \
|
||||
libwebp7 libwebpmux3 libwebpdemux2 libtiff6 libexif12 libxml2 libpoppler-glib8 \
|
||||
libpango1.0-0 libmatio11 libopenslide0 libopenjp2-7 libjemalloc2 \
|
||||
libgsf-1-114 libfftw3-bin liborc-0.4-0 librsvg2-2 libcfitsio10 libimagequant0 libaom3 \
|
||||
libspng0 libcgif0 libdav1d6 libmagickwand-6.q16-6 \
|
||||
libx264-dev libx265-dev libnuma-dev libvpx7 libtheora0 libvorbis-dev && \
|
||||
apt-get install --no-install-recommends -y -t bookworm-backports libheif1 libheif-plugin-x265 libheif-plugin-aomenc libjxl0.7 && \
|
||||
libwebp7 libwebpmux3 libwebpdemux2 libtiff6 libexif12 libxml2 libpoppler-glib8t64 \
|
||||
libpango-1.0-0 libmatio13 libopenslide0 libopenjp2-7 libjemalloc2 \
|
||||
libgsf-1-114 libfftw3-bin liborc-0.4-0 librsvg2-2 libcfitsio10t64 libimagequant0 libaom3 \
|
||||
libspng0 libcgif0 libheif1 libheif-plugin-x265 libheif-plugin-aomenc libjxl0.11 libavif-dev \
|
||||
libmagickwand-7.q16-10 \
|
||||
libdav1d7 libx264-dev libx265-dev libnuma-dev libvpx9 libtheora0 libvorbis-dev && \
|
||||
ln -s /usr/lib/$(uname -m)-linux-gnu/libjemalloc.so.2 /usr/local/lib/libjemalloc.so && \
|
||||
apt-get autoremove -y && \
|
||||
apt-get autoclean && \
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue