Switch bullseye for alpine images, use graph and temporary cache
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
DataHoarder 2022-07-26 08:42:37 +02:00
parent 62ee2b9f2b
commit 1ba15ccf52
Signed by: DataHoarder
SSH key fingerprint: SHA256:OLTRf6Fl87G52SiR7sWLGNzlJt4WOX+tfI2yxo0z7xk

View file

@ -1,12 +1,13 @@
---
kind: pipeline
type: docker
name: build-from-repo-amd64
name: from-repo-amd64
platform:
os: linux
arch: amd64
environment:
GOARCH: amd64
GOAMD64: v3
GOOS: linux
CFLAGS: "-march=native -Ofast"
@ -20,31 +21,36 @@ steps:
- git lfs pull
- git submodule update --init --recursive
- rm -rf .git/modules/resources/samples/
- name: build-repo
image: golang:1.18-bullseye
- name: test-repo-cgo-full
image: golang:1.18-alpine
depends_on:
- submodules/LFS
commands:
- sed -i -e "s/ main[[:space:]]*\$/ main contrib non-free/" /etc/apt/sources.list
- DEBIAN_FRONTEND=noninteractive apt update
- DEBIAN_FRONTEND=noninteractive apt install -y git build-essential autoconf automake libtool libflac-dev libopus-dev libopusfile-dev libsamplerate0-dev libmp3lame-dev libebur128-dev libfdk-aac-dev
- git clone --depth 1 https://gitlab.xiph.org/xiph/libopusenc.git && cd libopusenc && ./autogen.sh && ./configure --prefix /usr && make && make install && cd ..
- apk update
- apk add --no-cache git gcc g++ musl-dev bash autoconf automake cmake make libtool gettext openssl-dev flac-dev opus-dev opusfile-dev libopusenc-dev libsamplerate-dev lame-dev libebur128-dev fdk-aac-dev --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community
- git clone --depth 1 https://git.gammaspectra.live/S.O.N.G/alac.git && cd alac && autoreconf -fi && ./configure --prefix /usr && make && make install && cd ..
- go test -p 1 -failfast -timeout 20m -cover -gcflags=-d=checkptr -v ./...
- go test -p 1 -failfast -timeout 20m -cover -gcflags=-d=checkptr -v -tags=disable_codec_libfdk_aac,disable_codec_lame,disable_codec_tta,disable_codec_libflac ./...
- go test -p 1 -failfast -timeout 20m -cover -gcflags=-d=checkptr -v -tags=disable_format_aac,disable_format_alac,disable_format_mp3,disable_format_opus,disable_format_tta,disable_format_vorbis ./...
- CGO_ENABLED=0 go test -p 1 -failfast -timeout 20m -cover -gcflags=-d=checkptr -v ./...
---
kind: pipeline
type: docker
name: build-from-source-amd64
name: from-source-amd64
platform:
os: linux
arch: amd64
environment:
GOARCH: amd64
GOAMD64: v3
GOOS: linux
CFLAGS: "-march=native -Ofast"
LDFLAGS: "-flto"
PKG_CONFIG_PATH: "/drone/src/build_deps/lib/pkgconfig"
LD_LIBRARY_PATH: "/drone/src/build_deps/lib"
CGO_CFLAGS: "-I/drone/src/build_deps/include"
CGO_LDFLAGS: "-L/drone/src/build_deps/lib"
workspace:
path: /drone/src
steps:
- name: submodules/LFS
@ -53,38 +59,79 @@ steps:
- apk update && apk add --no-cache git-lfs && git lfs install
- git lfs pull
- git submodule update --init --recursive
- name: build-repo
image: golang:1.18-bullseye
- rm -rf .git/modules/resources/samples/
- name: build-sources
image: alpine
commands:
- DEBIAN_FRONTEND=noninteractive apt update
- DEBIAN_FRONTEND=noninteractive apt install -y git build-essential autoconf automake make cmake libtool libtool-bin gettext wget pkg-config libssl-dev
- git clone --depth 1 --branch v1.2.6 https://github.com/jiixyj/libebur128.git && cd libebur128 && mkdir build && cd build && cmake .. -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX:PATH=/usr && make -j$(nproc) && make install && cd ../..
- git clone --depth 1 --branch 0.2.2 https://github.com/libsndfile/libsamplerate.git && cd libsamplerate && ./autogen.sh && ./configure --prefix /usr && make && make install && cd ..
- wget https://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz -O lame-3.100.tar.gz && tar -xzvf lame-3.100.tar.gz && cd lame-3.100 && ./configure --prefix /usr && make && make install && cd ..
- git clone --depth 1 --branch v1.3.5 https://github.com/xiph/ogg.git && cd ogg && ./autogen.sh && ./configure --prefix /usr && make && make install && cd ..
- git clone --branch master https://github.com/xiph/opus.git && cd opus && ./autogen.sh && ./configure --enable-float-approx --prefix /usr && make && make install && cd ..
- git clone --depth 1 --branch v0.12 https://github.com/xiph/opusfile.git && cd opusfile && ./autogen.sh && ./configure --prefix /usr && make && make install && cd ..
- git clone --depth 1 --branch 1.3.4 https://github.com/xiph/flac.git && cd flac && ./autogen.sh && ./configure --prefix /usr && make && make install && cd ..
- git clone --depth 1 https://gitlab.xiph.org/xiph/libopusenc.git && cd libopusenc && ./autogen.sh && ./configure --prefix /usr && make && make install && cd ..
- git clone --depth 1 https://github.com/mstorsjo/fdk-aac.git && cd fdk-aac && ./autogen.sh && ./configure --prefix /usr && make -j$(nproc) && make install && cd ..
- git clone --depth 1 https://git.gammaspectra.live/S.O.N.G/alac.git && cd alac && autoreconf -fi && ./configure --prefix /usr && make && make install && cd ..
- apk update
- apk add --no-cache git gcc g++ musl-dev bash autoconf automake cmake make libtool gettext openssl-dev
- cd /tmp
- git clone --depth 1 --branch v1.2.6 https://github.com/jiixyj/libebur128.git && cd libebur128 && mkdir build && cd build && cmake .. -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX:PATH=/drone/src/build_deps && make -j$(nproc) && make install && cd ../..
- git clone --depth 1 --branch 0.2.2 https://github.com/libsndfile/libsamplerate.git && cd libsamplerate && ./autogen.sh && ./configure --prefix /drone/src/build_deps && make && make install && cd ..
- wget https://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz -O lame-3.100.tar.gz && tar -xzvf lame-3.100.tar.gz && cd lame-3.100 && ./configure --prefix /drone/src/build_deps && make && make install && cd ..
- git clone --depth 1 --branch v1.3.5 https://gitlab.xiph.org/xiph/ogg.git && cd ogg && ./autogen.sh && ./configure --prefix /drone/src/build_deps && make && make install && cd ..
- git clone --branch master https://gitlab.xiph.org/xiph/opus.git && cd opus && ./autogen.sh && ./configure --enable-float-approx --prefix /drone/src/build_deps && make && make install && cd ..
- git clone --depth 1 --branch v0.12 https://gitlab.xiph.org/xiph/opusfile.git && cd opusfile && ./autogen.sh && ./configure --prefix /drone/src/build_deps && make && make install && cd ..
- git clone --depth 1 --branch 1.3.4 https://gitlab.xiph.org/xiph/flac.git && cd flac && ./autogen.sh && ./configure --prefix /drone/src/build_deps && make && make install && cd ..
- git clone --depth 1 https://gitlab.xiph.org/xiph/libopusenc.git && cd libopusenc && ./autogen.sh && ./configure --prefix /drone/src/build_deps && make && make install && cd ..
- git clone --depth 1 https://github.com/mstorsjo/fdk-aac.git && cd fdk-aac && ./autogen.sh && ./configure --prefix /drone/src/build_deps && make -j$(nproc) && make install && cd ..
- git clone --depth 1 https://git.gammaspectra.live/S.O.N.G/alac.git && cd alac && autoreconf -fi && ./configure --prefix /drone/src/build_deps && make && make install && cd ..
- name: test-cgo-full
image: golang:1.18-alpine
depends_on:
- submodules/LFS
- build-sources
commands:
- apk update
- apk add --no-cache git gcc musl-dev pkgconfig
- go test -p 1 -failfast -timeout 20m -cover -gcflags=-d=checkptr -v ./...
- name: test-cgo-disable-codecs
image: golang:1.18-alpine
depends_on:
- submodules/LFS
- build-sources
commands:
- apk update
- apk add --no-cache git gcc musl-dev pkgconfig
- go test -p 1 -failfast -timeout 20m -cover -gcflags=-d=checkptr -v -tags=disable_codec_libfdk_aac,disable_codec_lame,disable_codec_tta,disable_codec_libflac ./...
- name: test-cgo-disable-formats
image: golang:1.18-alpine
volumes:
- name: deps
path: /drone/src/build_deps
depends_on:
- submodules/LFS
- build-sources
commands:
- apk update
- apk add --no-cache git gcc musl-dev pkgconfig
- go test -p 1 -failfast -timeout 20m -cover -gcflags=-d=checkptr -v -tags=disable_format_aac,disable_format_alac,disable_format_mp3,disable_format_opus,disable_format_tta,disable_format_vorbis ./...
- name: test-nocgo
image: golang:1.18-alpine
depends_on:
- submodules/LFS
commands:
- CGO_ENABLED=0 go test -p 1 -failfast -timeout 20m -cover -gcflags=-d=checkptr -v ./...
---
kind: pipeline
type: docker
name: build-from-source-arm64
name: from-source-arm64
platform:
os: linux
arch: arm64
environment:
GOARM: 7
GOARCH: arm64
GOOS: linux
CFLAGS: "-march=native -Ofast"
LDFLAGS: "-flto"
PKG_CONFIG_PATH: "/drone/src/build_deps/lib/pkgconfig"
LD_LIBRARY_PATH: "/drone/src/build_deps/lib"
CGO_CFLAGS: "-I/drone/src/build_deps/include"
CGO_LDFLAGS: "-L/drone/src/build_deps/lib"
workspace:
path: /drone/src
steps:
- name: submodules/LFS
@ -93,24 +140,67 @@ steps:
- apk update && apk add --no-cache git-lfs && git lfs install
- git lfs pull
- git submodule update --init --recursive
- name: build-repo
image: golang:1.18-bullseye
- rm -rf .git/modules/resources/samples/
- name: build-sources
image: alpine
volumes:
- name: deps
path: /drone/src/build_deps
commands:
- DEBIAN_FRONTEND=noninteractive apt update
- DEBIAN_FRONTEND=noninteractive apt install -y git build-essential autoconf automake make cmake libtool libtool-bin gettext wget pkg-config libssl-dev
- git clone --depth 1 --branch v1.2.6 https://github.com/jiixyj/libebur128.git && cd libebur128 && mkdir build && cd build && cmake .. -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX:PATH=/usr && make -j$(nproc) && make install && cd ../..
- git clone --depth 1 --branch 0.2.2 https://github.com/libsndfile/libsamplerate.git && cd libsamplerate && ./autogen.sh && ./configure --prefix /usr && make && make install && cd ..
- wget https://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz -O lame-3.100.tar.gz && tar -xzvf lame-3.100.tar.gz && cd lame-3.100 && ./configure --prefix /usr && make && make install && cd ..
- git clone --depth 1 --branch v1.3.5 https://github.com/xiph/ogg.git && cd ogg && ./autogen.sh && ./configure --prefix /usr && make && make install && cd ..
- git clone --branch master https://github.com/xiph/opus.git && cd opus && ./autogen.sh && ./configure --enable-float-approx --prefix /usr && make && make install && cd ..
- git clone --depth 1 --branch v0.12 https://github.com/xiph/opusfile.git && cd opusfile && ./autogen.sh && ./configure --prefix /usr && make && make install && cd ..
- git clone --depth 1 --branch 1.3.4 https://github.com/xiph/flac.git && cd flac && ./autogen.sh && ./configure --prefix /usr && make && make install && cd ..
- git clone --depth 1 https://gitlab.xiph.org/xiph/libopusenc.git && cd libopusenc && ./autogen.sh && ./configure --prefix /usr && make && make install && cd ..
- git clone --depth 1 https://github.com/mstorsjo/fdk-aac.git && cd fdk-aac && ./autogen.sh && ./configure --prefix /usr && make -j$(nproc) && make install && cd ..
- git clone --depth 1 https://git.gammaspectra.live/S.O.N.G/alac.git && cd alac && autoreconf -fi && ./configure --prefix /usr && make && make install && cd ..
- apk update
- apk add --no-cache git gcc g++ musl-dev bash autoconf automake cmake make libtool gettext openssl-dev
- cd /tmp
- git clone --depth 1 --branch v1.2.6 https://github.com/jiixyj/libebur128.git && cd libebur128 && mkdir build && cd build && cmake .. -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX:PATH=/drone/src/build_deps && make -j$(nproc) && make install && cd ../..
- git clone --depth 1 --branch 0.2.2 https://github.com/libsndfile/libsamplerate.git && cd libsamplerate && ./autogen.sh && ./configure --prefix /drone/src/build_deps && make && make install && cd ..
- wget https://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz -O lame-3.100.tar.gz && tar -xzvf lame-3.100.tar.gz && cd lame-3.100 && ./configure --prefix /drone/src/build_deps && make && make install && cd ..
- git clone --depth 1 --branch v1.3.5 https://gitlab.xiph.org/xiph/ogg.git && cd ogg && ./autogen.sh && ./configure --prefix /drone/src/build_deps && make && make install && cd ..
- git clone --branch master https://gitlab.xiph.org/xiph/opus.git && cd opus && ./autogen.sh && ./configure --enable-float-approx --prefix /drone/src/build_deps && make && make install && cd ..
- git clone --depth 1 --branch v0.12 https://gitlab.xiph.org/xiph/opusfile.git && cd opusfile && ./autogen.sh && ./configure --prefix /drone/src/build_deps && make && make install && cd ..
- git clone --depth 1 --branch 1.3.4 https://gitlab.xiph.org/xiph/flac.git && cd flac && ./autogen.sh && ./configure --prefix /drone/src/build_deps && make && make install && cd ..
- git clone --depth 1 https://gitlab.xiph.org/xiph/libopusenc.git && cd libopusenc && ./autogen.sh && ./configure --prefix /drone/src/build_deps && make && make install && cd ..
- git clone --depth 1 https://github.com/mstorsjo/fdk-aac.git && cd fdk-aac && ./autogen.sh && ./configure --prefix /drone/src/build_deps && make -j$(nproc) && make install && cd ..
- git clone --depth 1 https://git.gammaspectra.live/S.O.N.G/alac.git && cd alac && autoreconf -fi && ./configure --prefix /drone/src/build_deps && make && make install && cd ..
- name: test-cgo-full
image: golang:1.18-alpine
volumes:
- name: deps
path: /drone/src/build_deps
depends_on:
- submodules/LFS
- build-sources
commands:
- apk update
- apk add --no-cache git gcc musl-dev pkgconfig
- go test -p 1 -failfast -timeout 20m -cover -gcflags=-d=checkptr -v ./...
- name: test-cgo-disable-codecs
image: golang:1.18-alpine
volumes:
- name: deps
path: /drone/src/build_deps
depends_on:
- submodules/LFS
- build-sources
commands:
- apk update
- apk add --no-cache git gcc musl-dev pkgconfig
- go test -p 1 -failfast -timeout 20m -cover -gcflags=-d=checkptr -v -tags=disable_codec_libfdk_aac,disable_codec_lame,disable_codec_tta,disable_codec_libflac ./...
- name: test-cgo-disable-formats
image: golang:1.18-alpine
volumes:
- name: deps
path: /drone/src/build_deps
depends_on:
- submodules/LFS
- build-sources
commands:
- apk update
- apk add --no-cache git gcc musl-dev pkgconfig
- go test -p 1 -failfast -timeout 20m -cover -gcflags=-d=checkptr -v -tags=disable_format_aac,disable_format_alac,disable_format_mp3,disable_format_opus,disable_format_tta,disable_format_vorbis ./...
- name: test-nocgo
image: golang:1.18-alpine
depends_on:
- submodules/LFS
commands:
- CGO_ENABLED=0 go test -p 1 -failfast -timeout 20m -cover -gcflags=-d=checkptr -v ./...
...