taskwarrior/docker/task.dockerfile
Thomas Lauf 16c8ab7b41
Some checks failed
checks / Check & Clippy (push) Has been cancelled
checks / Formatting (push) Has been cancelled
checks / Cargo Metadata (push) Has been cancelled
release-tests / check-tarball (push) Has been cancelled
tests / coverage (push) Has been cancelled
tests / Cargo Test (push) Has been cancelled
tests / tests (Mac OS 12.latest) (push) Has been cancelled
tests / tests (Mac OS 13.latest) (push) Has been cancelled
tests / tests (arch, Archlinux Base (Rolling), ubuntu-latest) (push) Has been cancelled
tests / tests (debiantesting, Debian Testing, ubuntu-latest) (push) Has been cancelled
tests / tests (fedora40, Fedora 40, ubuntu-latest) (push) Has been cancelled
tests / tests (fedora41, Fedora 41, ubuntu-latest) (push) Has been cancelled
tests / tests (opensuse, OpenSUSE Tumbleweed (Rolling), ubuntu-latest) (push) Has been cancelled
tests / tests (ubuntu2004, Ubuntu 20.04, ubuntu-latest) (push) Has been cancelled
tests / tests (ubuntu2204, Ubuntu 22.04, ubuntu-latest) (push) Has been cancelled
Update Docker image to ubuntu 24.04 (#3925)
- Replace legacy key-value for environment variables
- Remove unnecessary '.' from 'cmake -S . -B build -DCMAKE_BUILD_TYPE=Release .' because '-S' already specifies source directory
- Update .dockerignore entries to avoid unnecessary copying to container
- Update INSTALL instructions
- Remove redundant '.' in cmake command
- Use explicit code block formatting instead of indentation
- Use '#' to mark headlines
- Use semantic linebreaks
- Fix Operating System Notes section
- Use backticks for file names and command calls
- Use 'CMake' when referring to the application, not the command call
2025-08-13 08:21:45 -04:00

42 lines
967 B
Docker

FROM ubuntu:24.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 -S . -B build -DCMAKE_BUILD_TYPE=Release && \
cmake --build build -j 8
FROM base AS runner
# Install Taskwarrior
COPY --from=builder /root/code/build/src/task /usr/local/bin
# Initialize Taskwarrior
RUN ( echo "yes" | task ) || true