Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions .github/workflows/docker-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# .github/workflows/docker-build.yml
name: Build & Push Docker image

on:
push:
branches:
- main
- master

jobs:
build:
runs-on: ubuntu-latest
steps:
# 1. Check out your fork (and Dockerfile)
- uses: actions/checkout@v3

# 2. Log in to Docker Hub
- name: Log in to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

# 3. Build & push your image
- name: Build and push
uses: docker/build-push-action@v4
with:
context: .
file: Dockerfile
push: true
tags: oaziz05/bpp-arpip:latest
101 changes: 101 additions & 0 deletions dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
FROM ubuntu:22.04

ENV PATH=/DASM-arpip/.local/bin:$PATH \
LD_LIBRARY_PATH=/DASM-arpip/.local/lib:$LD_LIBRARY_PATH

# install basics
RUN apt-get update \
&& apt-get install -y \
g++ \
git \
wget \
make \
libssl-dev \
zlib1g-dev \
&& rm -rf /var/lib/apt/lists/*


WORKDIR /DASM-arpip

# build & install CMake locally
RUN wget https://cmake.org/files/v3.16/cmake-3.16.3.tar.gz \
&& tar zxvf cmake-3.16.3.tar.gz \
&& cd cmake-3.16.3 \
&& ./bootstrap --prefix=/DASM-arpip/.local \
&& make -j"$(nproc)" && make install \
&& cd .. \
&& rm -rf cmake-3.16.3 cmake-3.16.3.tar.gz


# bpp-core
RUN git clone https://github.com/BioPP/bpp-core \
&& cd bpp-core \
&& git checkout tags/v2.4.1 -b v241 \
\
# patch GlobalGraph.cpp: add <limits> and qualify numeric_limits
&& sed -i '1i#include <limits>' src/Bpp/Graph/GlobalGraph.cpp \
&& sed -i 's/numeric_limits</std::numeric_limits</g' src/Bpp/Graph/GlobalGraph.cpp \
\
&& mkdir build && cd build \
&& cmake .. -DCMAKE_INSTALL_PREFIX=../../.local \
&& make install \
&& cd ../..

# bpp-seq
RUN git clone https://github.com/BioPP/bpp-seq \
&& cd bpp-seq \
&& git checkout tags/v2.4.1 -b v241 \
&& mkdir build && cd build \
&& cmake .. -DCMAKE_INSTALL_PREFIX=../../.local \
&& make install \
&& cd ../..

# bpp-phyl
RUN git clone https://github.com/BioPP/bpp-phyl \
&& cd bpp-phyl \
&& git checkout tags/v2.4.1 -b v241 \
&& mkdir build && cd build \
&& cmake .. -DCMAKE_INSTALL_PREFIX=../../.local \
&& make install \
&& cd ../..

# Boost 1.79
RUN wget https://downloads.sourceforge.net/project/boost/boost/1.79.0/boost_1_79_0.tar.gz \
&& tar xvf boost_1_79_0.tar.gz \
&& cd boost_1_79_0 \
&& ./bootstrap.sh --prefix=/DASM-arpip/.local \
&& ./b2 && ./b2 install \
&& cd .. \
&& rm -rf boost_1_79_0 boost_1_79_0.tar.gz

# glog
RUN git clone -b v0.5.0 https://github.com/google/glog \
&& cd glog \
&& cmake -H. -Bbuild -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=../.local \
&& cmake --build build --target install \
&& cd ..


# install GoogleTest system‑wide so that -lgtest works
RUN git clone https://github.com/google/googletest.git -b release-1.11.0 \
&& cd googletest \
&& mkdir build && cd build \
&& cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local \
&& make -j"$(nproc)" install


# bpp-arpip
RUN git clone https://github.com/acg-team/bpp-arpip/ \
&& cd bpp-arpip \
&& mkdir build && cd build \
&& cmake .. \
-DCMAKE_BUILD_TYPE=Release-static \
-DCMAKE_INSTALL_PREFIX=../../.local \
-DCMAKE_PREFIX_PATH=../../.local \
-DCMAKE_LIBRARY_PATH=/DASM-arpip/.local/lib \
-DCMAKE_INCLUDE_PATH=/DASM-arpip/.local/include \
&& make \
&& cd ../..


CMD ["bash"]