Merge pull request #47 from cyplo/docker_image

Introduce custom base system docker images to speed up builds
This commit is contained in:
Cyryl Płotnicki 2016-09-21 08:47:11 +02:00 committed by GitHub
commit 363930d529
7 changed files with 64 additions and 36 deletions

View file

@ -5,8 +5,8 @@ script:
- ./test - ./test
env: env:
- DETECTED_OS=fedora:24 - DETECTED_OS=fedora:24 DOCKER_IMAGE=cyplo/fedora24_base
- DETECTED_OS=debian:jessie NOUPGRADE=true - DETECTED_OS=debian:jessie DOCKER_IMAGE=cyplo/jessie_base
- DETECTED_OS=ubuntu:trusty - DETECTED_OS=ubuntu:trusty
- DETECTED_OS=ubuntu:xenial - DETECTED_OS=ubuntu:xenial

View file

@ -29,26 +29,26 @@ echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /
echo "deb http://download.mono-project.com/repo/debian wheezy-libjpeg62-compat main" | sudo tee -a /etc/apt/sources.list.d/mono-xamarin.list echo "deb http://download.mono-project.com/repo/debian wheezy-libjpeg62-compat main" | sudo tee -a /etc/apt/sources.list.d/mono-xamarin.list
sudo apt-get update sudo apt-get update
sudo apt-get -y install mono-devel mono-complete sudo apt-get -y install mono-devel mono-complete
# install vim from sources
VIM_BUILD_DIR=/tmp if [[ -z $NO_COMPILE_VIM ]]; then
cd "$VIM_BUILD_DIR" VIM_BUILD_DIR=/tmp
git clone https://github.com/vim/vim.git cd "$VIM_BUILD_DIR"
cd vim git clone https://github.com/vim/vim.git
./configure --with-features=huge \ cd vim
--enable-multibyte \ ./configure --with-features=huge \
--enable-rubyinterp \ --enable-multibyte \
--enable-pythoninterp \ --enable-rubyinterp \
--with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu \ --enable-python3interp=yes \
--enable-perlinterp \ --enable-luainterp \
--enable-luainterp \ --enable-gui=no \
--enable-gui=gtk2 --enable-cscope --prefix=/usr --enable-cscope
make -j2 make -j2
sudo make install sudo make install
cd cd
rm -fvr "$VIM_BUILD_DIR/vim" rm -fvr "$VIM_BUILD_DIR/vim"
fi
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
DIR="$DIR/../" DIR="$DIR/../"
DIR="$DIR" $DIR/common/configure_fresh_system DIR="$DIR" $DIR/common/configure_fresh_system

1
debian/test_insider vendored
View file

@ -5,6 +5,7 @@ set -e
export DEBIAN_FRONTEND=noninteractive export DEBIAN_FRONTEND=noninteractive
export DONT_CHANGE_SHELL=true export DONT_CHANGE_SHELL=true
export NO_SYSTEMCTL=true export NO_SYSTEMCTL=true
export NO_COMPILE_VIM=true
echo "APT::Acquire::Retries=16;" >> /etc/apt/apt.conf.d/99_retries echo "APT::Acquire::Retries=16;" >> /etc/apt/apt.conf.d/99_retries

20
fedora/Dockerfile Normal file
View file

@ -0,0 +1,20 @@
FROM fedora:24
RUN dnf -y install sudo
RUN sudo dnf -y upgrade --best --allowerasing
RUN sudo dnf -y --best --allowerasing install tmux atop zsh thunderbird thunderbird-enigmail thunderbird-lightning firefox aria2 gajim lm_sensors freecad python3-pip qt5-qtbase-devel qt5-qtwebkit-devel meld whois curl pv nodejs npm terminator gsmartcontrol python-pip mercurial python3-devel libxslt-devel libjpeg-turbo-devel conky conky-manager redshift redshift-gtk cmake gtk2-devel intltool gparted wine solaar glances the_silver_searcher dkms kernel-devel gimp transmission-gtk git xz util-linux-user powertop dnf-automatic kdiff3 yum-utils util-linux-user ncurses-devel zeal
RUN sudo dnf -y install http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-24.noarch.rpm
RUN sudo dnf -y install http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-24.noarch.rpm
RUN sudo dnf -y --best --allowerasing install vlc splix gutenprint-cups cups-bjnp mono-devel keepass mplayer golang ncurses-compat-libs kicad retext
RUN sudo dnf -y groupinstall "C Development Tools and Libraries"
RUN sudo dnf -y groupinstall "Development Tools"
RUN git clone https://github.com/vim/vim.git /tmp/vim
RUN cd /tmp/vim && ./configure --with-features=huge \
--enable-multibyte \
--enable-rubyinterp \
--enable-python3interp=yes \
--enable-luainterp \
--enable-gui=no \
--enable-cscope && make -j2 && sudo make install

View file

@ -25,21 +25,23 @@ if [[ -z $NO_SYSTEMCTL ]]; then
sudo systemctl list-timers "*dnf-*" sudo systemctl list-timers "*dnf-*"
fi fi
VIM_BUILD_DIR=/tmp if [[ -z $NO_COMPILE_VIM ]]; then
cd "$VIM_BUILD_DIR" VIM_BUILD_DIR=/tmp
git clone https://github.com/vim/vim.git cd "$VIM_BUILD_DIR"
cd vim git clone https://github.com/vim/vim.git
./configure --with-features=huge \ cd vim
--enable-multibyte \ ./configure --with-features=huge \
--enable-rubyinterp \ --enable-multibyte \
--enable-python3interp=yes \ --enable-rubyinterp \
--enable-luainterp \ --enable-python3interp=yes \
--enable-gui=no \ --enable-luainterp \
--enable-cscope --enable-gui=no \
make -j2 --enable-cscope
sudo make install make -j2
cd sudo make install
rm -fvr "$VIM_BUILD_DIR/vim" cd
rm -fvr "$VIM_BUILD_DIR/vim"
fi
DIR="$DIR/../" DIR="$DIR/../"
DIR="$DIR" $DIR/common/configure_fresh_system DIR="$DIR" $DIR/common/configure_fresh_system

View file

@ -4,6 +4,7 @@ set -e
export DONT_CHANGE_SHELL=true export DONT_CHANGE_SHELL=true
export NO_SYSTEMCTL=true export NO_SYSTEMCTL=true
export NO_COMPILE_VIM=true
dnf -y install sudo dnf -y install sudo

6
test
View file

@ -25,5 +25,9 @@ else
DIR=$SYSTEM_DIR DIR=$SYSTEM_DIR
fi fi
docker run -v $CURRENT_DIR:$INSIDER_ROOT_DIR $DETECTED_OS $INSIDER_ROOT_DIR/$DIR/test_insider if [[ -z $DOCKER_IMAGE ]]; then
DOCKER_IMAGE="$DETECTED_OS"
fi
docker run -v $CURRENT_DIR:$INSIDER_ROOT_DIR $DOCKER_IMAGE $INSIDER_ROOT_DIR/$DIR/test_insider