mirror of
https://github.com/GothenburgBitFactory/taskwarrior.git
synced 2025-06-26 10:54:26 +02:00

The workflow is triggered by a successful run of the test suite and creates a Docker image with a Taskwarrior installation of the current branch (restricted to develop/stable)
42 lines
933 B
Docker
42 lines
933 B
Docker
FROM ubuntu:22.04 AS base
|
|
|
|
FROM base AS builder
|
|
|
|
ENV DEBIAN_FRONTEND noninteractive
|
|
|
|
RUN apt-get update && \
|
|
apt-get install -y \
|
|
build-essential \
|
|
cmake \
|
|
curl \
|
|
git \
|
|
libgnutls28-dev \
|
|
uuid-dev
|
|
|
|
# Setup language environment
|
|
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
|
|
|
|
# Build Taskwarrior
|
|
RUN git clean -dfx && \
|
|
git submodule init && \
|
|
git submodule update && \
|
|
cmake -DCMAKE_BUILD_TYPE=release . && \
|
|
make -j8
|
|
|
|
FROM base AS runner
|
|
|
|
# Install Taskwarrior
|
|
COPY --from=builder /root/code/src/task /usr/local/bin
|
|
|
|
# Initialize Taskwarrior
|
|
RUN ( echo "yes" | task ) || true
|