Merge pull request #12 from chincheta0815/docker_ubuntu

make ubuntu a docker build for ffmpeg5
This commit is contained in:
CraigD 2024-02-22 17:37:47 +00:00 committed by GitHub
commit a880fff993
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 64 additions and 31 deletions

View File

@ -33,34 +33,23 @@ jobs:
name: bliss-analyser-linux-x86-ffmpeg4
path: releases/
# Linux ffmpeg5 builds used a ppa which is now paywalled. Therefore until there is a github runner-image
# Of 24.04 (which should have ffmpeg5?) then these builds are disabled. :(
#
# Linux_ffmpeg5:
# runs-on: ubuntu-24.04
#
# steps:
# - name: Checkout
# uses: actions/checkout@v1
#
# - name: Packages
# run: sudo apt-get update && sudo apt-get install build-essential yasm libavutil-dev libavcodec-dev libavformat-dev libavfilter-dev libavdevice-dev libswresample-dev libfftw3-dev ffmpeg -y
#
# - name: Build
# run: |
# cargo build --release
# strip target/release/bliss-analyser
# mkdir releases
# cp target/release/bliss-analyser releases/bliss-analyser
# cp UserGuide.md releases/README.md
# cp LICENSE releases/
# cp configs/linux.ini releases/config.ini
#
# - name: Upload artifacts
# uses: actions/upload-artifact@v2
# with:
# name: bliss-analyser-linux-x86-ffmpeg5
# path: releases/
Linux_ffmpeg5:
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build ffmpeg5 version with Docker
run: |
docker build -t bliss-analyser-linux-x86-ffmpeg5 - < docker/Dockerfile_Ubuntu
docker run --rm -v $PWD/target:/build -v $PWD:/src bliss-analyser-linux-x86-ffmpeg5
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: bliss-analyser-linux-x86-ffmpeg5
path: releases/
Linux_ARM:

View File

@ -10,7 +10,7 @@ keywords = ["audio", "song", "similarity"]
readme = "README.md"
[dependencies]
bliss-audio = { version = "0.6.9", features = [] }
bliss-audio = { version = "0.6.11", features = [] }
argparse = "0.2.2"
anyhow = "1.0.40"
rusqlite = { version = "0.25.0", features = ["bundled"] }

View File

@ -34,5 +34,5 @@ ENV CARGO_HOME /build/cache
RUN mkdir /src
WORKDIR /src
CMD ["/src/docker/docker-build.sh"]
CMD ["/src/docker/docker-build-arm.sh"]

View File

@ -32,5 +32,5 @@ ENV CARGO_HOME /build/cache
RUN mkdir /src
WORKDIR /src
CMD ["/src/docker/docker-build.sh"]
CMD ["/src/docker/docker-build-arm.sh"]

25
docker/Dockerfile_Ubuntu Normal file
View File

@ -0,0 +1,25 @@
# Cross compilation environment for bliss-mixer
FROM ubuntu:24.04
RUN apt-get update
RUN apt-get install -y curl git pkg-config
RUN apt-get install -y build-essential yasm clang
RUN apt-get install -y libavutil-dev libavcodec-dev libavformat-dev \
libavfilter-dev libavdevice-dev libswresample-dev libfftw3-dev \
ffmpeg
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y
ENV PATH="/root/.cargo/bin/:${PATH}"
RUN mkdir /build
ENV CARGO_TARGET_DIR /build
ENV CARGO_HOME /build/cache
RUN mkdir /src
WORKDIR /src
CMD ["/src/docker/docker-build-x86.sh"]

19
docker/docker-build-x86.sh Executable file
View File

@ -0,0 +1,19 @@
#!/bin/bash
## #!/usr/bin/env bash
set -eux
uname -a
DESTDIR=/src/releases
mkdir -p $DESTDIR/bin
rm -rf $DESTDIR/bin/*
export RUST_BACKTRACE=full
cargo build --release
strip /build/release/bliss-analyser && cp /build/release/bliss-analyser $DESTDIR/bliss-analyser-x86-ffmpeg5
cp UserGuide.md $DESTDIR/README.md
cp LICENSE $DESTDIR/
cp configs/linux.ini $DESTDIR/config.ini
cp scripts/bliss-analyser-arm $DESTDIR/bliss-analyser