diff --git a/.travis.yml b/.travis.yml index 5caa38cbc..dcf0e189f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,6 +22,10 @@ matrix: os: linux env: CONTAINER=ubuntu1804 services: docker + - name: "Gentoo (latest)" + os: linux + env: CONTAINER=gentoo + services: docker - name: "Mac OS X 10.13" os: osx env: CONTAINER=osx diff --git a/docker-compose.yml b/docker-compose.yml index 79aab1f79..027cabcd5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -40,3 +40,11 @@ services: security_opt: - label=type:container_runtime_t tty: true + test-gentoo: + build: + context: . + dockerfile: test/docker/gentoo + network_mode: "host" + security_opt: + - label=type:container_runtime_t + tty: true diff --git a/test/docker/gentoo b/test/docker/gentoo new file mode 100644 index 000000000..1a24b2db8 --- /dev/null +++ b/test/docker/gentoo @@ -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 + +# Setup language environment +ENV LC_ALL en_US.UTF-8 +ENV LANG en_US.UTF-8 +ENV LANGUAGE en_US.UTF-8 + +# Setup taskwarrior +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 ; cat all.log | grep 'not ok' ; ./problems"]