mirror of
https://github.com/GothenburgBitFactory/timewarrior.git
synced 2025-07-07 20:06:39 +02:00
tests: Implement Travis-based Multi-OS CI service
This commit implements (after the example of taskwarrior) a Travis-based multi-OS continuous integration service, that tests on a variety of Linux-based hosts and Mac OS X.
This commit is contained in:
parent
37a3aa0ccf
commit
bdb98553fb
13 changed files with 415 additions and 0 deletions
27
test/docker/arch180101
Normal file
27
test/docker/arch180101
Normal file
|
@ -0,0 +1,27 @@
|
|||
FROM base/archlinux:2018.01.01
|
||||
|
||||
RUN pacman -Sy --noconfirm archlinux-keyring
|
||||
RUN pacman -Syyu --noconfirm
|
||||
RUN pacman -S --noconfirm gnutls util-linux bash-completion cmake python git libfaketime
|
||||
RUN pacman -S --noconfirm make gcc
|
||||
|
||||
# Setup language environment
|
||||
ENV LANG en_US.UTF-8
|
||||
ENV LANGUAGE en_US.UTF-8
|
||||
|
||||
# Setup timewarrior
|
||||
ADD . /root/code/
|
||||
WORKDIR /root/code/
|
||||
RUN git clean -dfx
|
||||
RUN git submodule init
|
||||
RUN git submodule update
|
||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
||||
RUN make -j2
|
||||
RUN make install
|
||||
RUN task --version
|
||||
|
||||
# Setup tests
|
||||
WORKDIR /root/code/test/
|
||||
RUN make
|
||||
|
||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
30
test/docker/centos7
Normal file
30
test/docker/centos7
Normal file
|
@ -0,0 +1,30 @@
|
|||
FROM centos:7
|
||||
|
||||
RUN yum update -y
|
||||
RUN yum install python git gcc gcc-c++ make gnutls-devel libuuid-devel libfaketime -y
|
||||
RUN yum install epel-release centos-release-scl -y
|
||||
RUN yum install which cmake3 devtoolset-7-gcc* -y
|
||||
RUN source scl_source enable devtoolset-7; gcc --version; cmake3 --version
|
||||
RUN ln -s /usr/bin/cmake3 /usr/bin/cmake
|
||||
|
||||
# Setup language environment
|
||||
ENV LC_ALL en_US.UTF-8
|
||||
ENV LANG en_US.UTF-8
|
||||
ENV LANGUAGE en_US.UTF-8
|
||||
|
||||
# Setup timewarrior
|
||||
ADD . /root/code/
|
||||
WORKDIR /root/code/
|
||||
RUN git clean -dfx
|
||||
RUN git submodule init
|
||||
RUN git submodule update
|
||||
RUN source scl_source enable devtoolset-7; cmake -DCMAKE_BUILD_TYPE=debug .
|
||||
RUN source scl_source enable devtoolset-7; make -j2
|
||||
RUN source scl_source enable devtoolset-7; make install
|
||||
RUN task --version
|
||||
|
||||
# Setup tests
|
||||
WORKDIR /root/code/test/
|
||||
RUN source scl_source enable devtoolset-7; make
|
||||
|
||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
27
test/docker/debianstable
Normal file
27
test/docker/debianstable
Normal file
|
@ -0,0 +1,27 @@
|
|||
FROM debian:stable
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y build-essential cmake git uuid-dev libgnutls28-dev libfaketime
|
||||
RUN apt-get install -y python
|
||||
|
||||
# Setup language environment
|
||||
ENV LC_ALL en_US.UTF-8
|
||||
ENV LANG en_US.UTF-8
|
||||
ENV LANGUAGE en_US.UTF-8
|
||||
|
||||
# Setup timewarrior
|
||||
ADD . /root/code/
|
||||
WORKDIR /root/code/
|
||||
RUN git clean -dfx
|
||||
RUN git submodule init
|
||||
RUN git submodule update
|
||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
||||
RUN make -j2
|
||||
RUN make install
|
||||
RUN task --version
|
||||
|
||||
# Setup tests
|
||||
WORKDIR /root/code/test/
|
||||
RUN make
|
||||
|
||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
27
test/docker/debiantesting
Normal file
27
test/docker/debiantesting
Normal file
|
@ -0,0 +1,27 @@
|
|||
FROM debian:testing
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y build-essential cmake git uuid-dev libgnutls28-dev libfaketime
|
||||
RUN apt-get install -y python
|
||||
|
||||
# Setup language environment
|
||||
ENV LC_ALL en_US.UTF-8
|
||||
ENV LANG en_US.UTF-8
|
||||
ENV LANGUAGE en_US.UTF-8
|
||||
|
||||
# Setup timewarrior
|
||||
ADD . /root/code/
|
||||
WORKDIR /root/code/
|
||||
RUN git clean -dfx
|
||||
RUN git submodule init
|
||||
RUN git submodule update
|
||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
||||
RUN make -j2
|
||||
RUN make install
|
||||
RUN task --version
|
||||
|
||||
# Setup tests
|
||||
WORKDIR /root/code/test/
|
||||
RUN make
|
||||
|
||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
26
test/docker/fedora28
Normal file
26
test/docker/fedora28
Normal file
|
@ -0,0 +1,26 @@
|
|||
FROM fedora:28
|
||||
|
||||
RUN dnf update -y
|
||||
RUN dnf install python git gcc gcc-c++ cmake make gnutls-devel libuuid-devel libfaketime -y
|
||||
|
||||
# Setup language environment
|
||||
ENV LC_ALL en_US.UTF-8
|
||||
ENV LANG en_US.UTF-8
|
||||
ENV LANGUAGE en_US.UTF-8
|
||||
|
||||
# Setup timewarrior
|
||||
ADD . /root/code/
|
||||
WORKDIR /root/code/
|
||||
RUN git clean -dfx
|
||||
RUN git submodule init
|
||||
RUN git submodule update
|
||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
||||
RUN make -j2
|
||||
RUN make install
|
||||
RUN task --version
|
||||
|
||||
# Setup tests
|
||||
WORKDIR /root/code/test/
|
||||
RUN make
|
||||
|
||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
26
test/docker/fedora29
Normal file
26
test/docker/fedora29
Normal file
|
@ -0,0 +1,26 @@
|
|||
FROM fedora:29
|
||||
|
||||
RUN dnf update -y
|
||||
RUN dnf install python git gcc gcc-c++ cmake make gnutls-devel libuuid-devel libfaketime -y
|
||||
|
||||
# Setup language environment
|
||||
ENV LC_ALL en_US.UTF-8
|
||||
ENV LANG en_US.UTF-8
|
||||
ENV LANGUAGE en_US.UTF-8
|
||||
|
||||
# Setup timewarrior
|
||||
ADD . /root/code/
|
||||
WORKDIR /root/code/
|
||||
RUN git clean -dfx
|
||||
RUN git submodule init
|
||||
RUN git submodule update
|
||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
||||
RUN make -j2
|
||||
RUN make install
|
||||
RUN task --version
|
||||
|
||||
# Setup tests
|
||||
WORKDIR /root/code/test/
|
||||
RUN make
|
||||
|
||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
32
test/docker/gentoo
Normal file
32
test/docker/gentoo
Normal file
|
@ -0,0 +1,32 @@
|
|||
# name the portage image
|
||||
FROM gentoo/portage:latest as portage
|
||||
|
||||
# image is based on stage3-x86
|
||||
FROM gentoo/stage3-x86:latest
|
||||
|
||||
# copy the entire portage volume in
|
||||
COPY --from=portage /usr/portage /usr/portage
|
||||
|
||||
RUN emerge -qv sys-libs/readline:0 net-libs/gnutls:0= sys-apps/util-linux dev-util/cmake sys-devel/make dev-vcs/git sys-libs/libfaketime
|
||||
|
||||
# Setup language environment
|
||||
ENV LC_ALL en_US.UTF-8
|
||||
ENV LANG en_US.UTF-8
|
||||
ENV LANGUAGE en_US.UTF-8
|
||||
|
||||
# Setup timewarrior
|
||||
ADD . /root/code/
|
||||
WORKDIR /root/code/
|
||||
RUN git clean -dfx
|
||||
RUN git submodule init
|
||||
RUN git submodule update
|
||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
||||
RUN make -j2
|
||||
RUN make install
|
||||
RUN task --version
|
||||
|
||||
# Setup tests
|
||||
WORKDIR /root/code/test/
|
||||
RUN make
|
||||
|
||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
25
test/docker/opensuse1500
Normal file
25
test/docker/opensuse1500
Normal file
|
@ -0,0 +1,25 @@
|
|||
FROM opensuse/leap:15
|
||||
|
||||
RUN zypper install -y python awk coreutils git gcc gcc-c++ cmake make libgnutls-devel libuuid-devel libfaketime
|
||||
|
||||
# Setup language environment
|
||||
ENV LC_ALL en_US.UTF-8
|
||||
ENV LANG en_US.UTF-8
|
||||
ENV LANGUAGE en_US.UTF-8
|
||||
|
||||
# Setup timewarrior
|
||||
ADD . /root/code/
|
||||
WORKDIR /root/code/
|
||||
RUN git clean -dfx
|
||||
RUN git submodule init
|
||||
RUN git submodule update
|
||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
||||
RUN make -j2
|
||||
RUN make install
|
||||
RUN task --version
|
||||
|
||||
# Setup tests
|
||||
WORKDIR /root/code/test/
|
||||
RUN make
|
||||
|
||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
27
test/docker/ubuntu1604
Normal file
27
test/docker/ubuntu1604
Normal file
|
@ -0,0 +1,27 @@
|
|||
FROM ubuntu:16.04
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y build-essential cmake git uuid-dev libgnutls28-dev libfaketime
|
||||
RUN apt-get install -y python
|
||||
|
||||
# Setup language environment
|
||||
ENV LC_ALL en_US.UTF-8
|
||||
ENV LANG en_US.UTF-8
|
||||
ENV LANGUAGE en_US.UTF-8
|
||||
|
||||
# Setup timewarrior
|
||||
ADD . /root/code/
|
||||
WORKDIR /root/code/
|
||||
RUN git clean -dfx
|
||||
RUN git submodule init
|
||||
RUN git submodule update
|
||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
||||
RUN make -j2
|
||||
RUN make install
|
||||
RUN task --version
|
||||
|
||||
# Setup tests
|
||||
WORKDIR /root/code/test/
|
||||
RUN make
|
||||
|
||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
27
test/docker/ubuntu1804
Normal file
27
test/docker/ubuntu1804
Normal file
|
@ -0,0 +1,27 @@
|
|||
FROM ubuntu:18.04
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y build-essential cmake git uuid-dev libgnutls28-dev libfaketime
|
||||
RUN apt-get install -y python
|
||||
|
||||
# Setup language environment
|
||||
ENV LC_ALL en_US.UTF-8
|
||||
ENV LANG en_US.UTF-8
|
||||
ENV LANGUAGE en_US.UTF-8
|
||||
|
||||
# Setup timewarrior
|
||||
ADD . /root/code/
|
||||
WORKDIR /root/code/
|
||||
RUN git clean -dfx
|
||||
RUN git submodule init
|
||||
RUN git submodule update
|
||||
RUN cmake -DCMAKE_BUILD_TYPE=debug .
|
||||
RUN make -j2
|
||||
RUN make install
|
||||
RUN task --version
|
||||
|
||||
# Setup tests
|
||||
WORKDIR /root/code/test/
|
||||
RUN make
|
||||
|
||||
CMD ["bash", "-c", "./run_all -v ; cat all.log | grep 'not ok' ; ./problems"]
|
18
test/scripts/test_osx.sh
Normal file
18
test/scripts/test_osx.sh
Normal file
|
@ -0,0 +1,18 @@
|
|||
set -x
|
||||
|
||||
brew install gnutls
|
||||
brew install cmake
|
||||
brew install libfaketime
|
||||
git clean -dfx
|
||||
git submodule init
|
||||
git submodule update
|
||||
cmake -DCMAKE_BUILD_TYPE=debug .
|
||||
make -j2
|
||||
make install
|
||||
task --version
|
||||
|
||||
pushd test
|
||||
make
|
||||
./run_all -v
|
||||
cat all.log | grep 'not ok'
|
||||
./problems
|
Loading…
Add table
Add a link
Reference in a new issue