Skip to content

Commit

Permalink
Merge pull request #1571 from Karry/docker-fixes
Browse files Browse the repository at this point in the history
Docker build fixes, add Ubuntu 24.04
  • Loading branch information
Framstag committed May 18, 2024
2 parents 04f1090 + 750790c commit df3ea48
Show file tree
Hide file tree
Showing 13 changed files with 151 additions and 4 deletions.
2 changes: 1 addition & 1 deletion ci/docker/archlinux_clang_cmake/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM archlinux:base
FROM archlinux:base-20231112.0.191179

RUN pacman --noconfirm --needed -Sy \
git \
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/archlinux_gcc_cmake/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM archlinux:base
FROM archlinux:base-20231112.0.191179

RUN pacman --noconfirm --needed -Sy \
git \
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/archlinux_gcc_meson/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM archlinux:base
FROM archlinux:base-20231112.0.191179

RUN pacman --noconfirm --needed -Sy \
git \
Expand Down
2 changes: 2 additions & 0 deletions ci/docker/buildAll.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,5 @@ set -xe
./ubuntu_22.04_gcc_cmake/build.sh
./ubuntu_22.04_gcc_meson_qt6/build.sh
./ubuntu_22.04_aarch64_gcc_cmake/build.sh
./ubuntu_24.04_gcc_cmake/build.sh
./ubuntu_24.04_gcc_meson_qt6/build.sh
16 changes: 15 additions & 1 deletion ci/docker/runAll.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,13 @@ RESULT_ubuntu_22_04_gcc_meson_qt6=$?
./ubuntu_22.04_aarch64_gcc_cmake/run.sh "$@"
RESULT_ubuntu_22_04_aarch64_gcc_cmake=$?

./ubuntu_24.04_gcc_cmake/run.sh "$@"
RESULT_ubuntu_24_04_gcc_cmake=$?

./ubuntu_24.04_gcc_meson_qt6/run.sh "$@"
RESULT_ubuntu_24_04_gcc_meson_qt6=$?


# print results
set +x
echo
Expand All @@ -48,7 +55,7 @@ if [ $RESULT_debian_buster_gcc_meson -eq 0 ] ; then echo "OK"; else echo "FA
echo -ne "debian_bullseye_gcc_meson "
if [ $RESULT_debian_bullseye_gcc_meson -eq 0 ] ; then echo "OK"; else echo "FAILURE"; fi

echo -ne "debian_bullseye_gcc_meson "
echo -ne "debian_bookworm_gcc_meson "
if [ $RESULT_debian_bookworm_gcc_meson -eq 0 ] ; then echo "OK"; else echo "FAILURE"; fi

echo -ne "ubuntu_22.04_gcc_cmake "
Expand All @@ -59,3 +66,10 @@ if [ $RESULT_ubuntu_22_04_gcc_meson_qt6 -eq 0 ] ; then echo "OK"; else echo "FA

echo -ne "ubuntu_22.04_aarch64_gcc_cmake "
if [ $RESULT_ubuntu_22_04_aarch64_gcc_cmake -eq 0 ] ; then echo "OK"; else echo "FAILURE"; fi

echo -ne "ubuntu_24.04_gcc_cmake "
if [ $RESULT_ubuntu_24_04_gcc_cmake -eq 0 ] ; then echo "OK"; else echo "FAILURE"; fi

echo -ne "ubuntu_24.04_gcc_meson_qt6 "
if [ $RESULT_ubuntu_24_04_gcc_meson_qt6 -eq 0 ] ; then echo "OK"; else echo "FAILURE"; fi

38 changes: 38 additions & 0 deletions ci/docker/ubuntu_24.04_gcc_cmake/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
FROM ubuntu:noble

# disable interactive functions
ENV DEBIAN_FRONTEND noninteractive

RUN apt-get update && apt-get install -y \
git make libtool pkg-config \
libxml2-dev libprotobuf-dev protobuf-compiler \
libagg-dev \
libfreetype6-dev \
libcairo2-dev \
libpangocairo-1.0-0 libpango1.0-dev \
qtdeclarative5-dev libqt5svg5-dev \
qtlocation5-dev qtpositioning5-dev qttools5-dev-tools qttools5-dev qtmultimedia5-dev \
libglut3.12 libglut-dev \
libmarisa-dev \
doxygen \
swig openjdk-8-jdk \
locales \
&& rm -rf /var/lib/apt/lists/*

RUN locale-gen en_US.UTF-8
ENV LANG en_US.utf8
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/
ENV QT_QPA_PLATFORM offscreen

RUN apt-get update && apt-get install -y \
cmake \
g++ \
&& rm -rf /var/lib/apt/lists/*

RUN mkdir /work

COPY data/build.sh /work
RUN chmod +x /work/build.sh

WORKDIR /work
CMD ./build.sh
3 changes: 3 additions & 0 deletions ci/docker/ubuntu_24.04_gcc_cmake/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/sh
cd `dirname $0`
docker build -t libosmscout/ubuntu_22.04_gcc_cmake .
25 changes: 25 additions & 0 deletions ci/docker/ubuntu_24.04_gcc_cmake/data/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#!/bin/sh
set -e

if [ $# -ge 1 ] ; then
REPO="$1"
else
REPO="https://github.com/Framstag/libosmscout.git"
fi

if [ $# -ge 2 ] ; then
BRANCH="$2"
else
BRANCH="master"
fi

git clone -b "$BRANCH" "$REPO" libosmscout

export LANG=en_US.utf8
cd libosmscout
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=DEBUG -DOSMSCOUT_BUILD_BINDING_JAVA=OFF ..
make -j $(nproc) install
ctest --output-on-failure

3 changes: 3 additions & 0 deletions ci/docker/ubuntu_24.04_gcc_cmake/run.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/sh

docker run --rm=true -it libosmscout/ubuntu_22.04_gcc_cmake ./build.sh "$@"
32 changes: 32 additions & 0 deletions ci/docker/ubuntu_24.04_gcc_meson_qt6/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
FROM ubuntu:noble

# disable interactive functions
ENV DEBIAN_FRONTEND noninteractive

RUN apt-get update && apt-get install -y \
git make libtool pkg-config \
qmake6 libqt6svg6-dev libqt6core5compat6-dev qt6-declarative-dev qt6-positioning-dev qt6-tools-dev-tools \
qt6-l10n-tools qt6-tools-dev qt6-multimedia-dev \
libgl-dev \
locales \
meson ninja-build g++ \
&& rm -rf /var/lib/apt/lists/*

RUN locale-gen en_US.UTF-8
ENV LANG en_US.utf8
ENV QT_QPA_PLATFORM offscreen

# RUN apt-get update && apt-get install -y \
# g++ \
# python3-pip \
# && rm -rf /var/lib/apt/lists/*
#
# RUN pip install meson ninja

RUN mkdir /work

COPY data/build.sh /work
RUN chmod +x /work/build.sh

WORKDIR /work
CMD ./build.sh
3 changes: 3 additions & 0 deletions ci/docker/ubuntu_24.04_gcc_meson_qt6/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/sh
cd `dirname $0`
docker build -t libosmscout/ubuntu_22.04_gcc_meson_qt6 .
24 changes: 24 additions & 0 deletions ci/docker/ubuntu_24.04_gcc_meson_qt6/data/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/bin/sh
set -e

if [ $# -ge 1 ] ; then
REPO="$1"
else
REPO="https://github.com/Framstag/libosmscout.git"
fi

if [ $# -ge 2 ] ; then
BRANCH="$2"
else
BRANCH="master"
fi

git clone -b "$BRANCH" "$REPO" libosmscout

export LANG=en_US.utf8
cd libosmscout
mkdir debug
PATH=/usr/lib/qt6/bin:/usr/lib/qt6/libexec:$PATH meson setup --buildtype debugoptimized --unity on --wrap-mode=nofallback -D qtVersion=6 debug
ninja -C debug
meson test -C debug --print-errorlogs

3 changes: 3 additions & 0 deletions ci/docker/ubuntu_24.04_gcc_meson_qt6/run.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/sh

docker run --rm=true -it libosmscout/ubuntu_22.04_gcc_meson_qt6 ./build.sh "$@"

0 comments on commit df3ea48

Please sign in to comment.