taskwarrior/test/docker/ubuntu2004
2024-08-12 00:20:17 +00:00

38 lines
1.3 KiB
Text

FROM ubuntu:20.04
RUN apt-get update && \
DEBIAN_FRONTEND="noninteractive" apt-get install -y gpg wget curl
# add Kitware's CMake apt repo
RUN wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - > /usr/share/keyrings/kitware-archive-keyring.gpg && \
echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ focal main' > /etc/apt/sources.list.d/kitware.list
RUN apt-get update && \
DEBIAN_FRONTEND="noninteractive" apt-get install -y build-essential git uuid-dev faketime locales python3 cmake
# Setup language environment
RUN locale-gen en_US.UTF-8
ENV LC_ALL en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US.UTF-8
# Add source directory
ADD . /root/code/
WORKDIR /root/code/
# Setup Rust
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
sh rustup.sh -y --profile minimal --default-toolchain stable --component rust-docs
# Setup taskwarrior
RUN git clean -dfx
RUN git submodule init
RUN git submodule update
RUN cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug .
RUN cmake --build build -j 8
RUN cmake --install build
RUN task --version
# Setup tests
RUN cmake --build build --target test_runner -j 8
CMD ctest --test-dir build -j 8 --output-on-failure --rerun-failed