# Environment for running atuin's bash shell-integration tests (see tests/). atuin itself is # a pinned release binary; the test suite is our own, written to be upstreamable. FROM ubuntu:26.04 ARG ATUIN_VERSION=18.21.0 # Bump these together with ATUIN_VERSION; they are the release's own .tar.gz.sha256 entries. ARG ATUIN_SHA256_X86_64=434d82b4c5f691b6f0423f30a4b931df4afded19b05a795a280192fdf8a61a2d ARG ATUIN_SHA256_AARCH64=dbdee27f7fc67b92e770d1af89d3b421051499a058cd3e4698d123e0117fa950 RUN apt-get update && apt-get install -y --no-install-recommends \ tmux curl ca-certificates python3-pytest python3-libtmux \ && rm -rf /var/lib/apt/lists/* RUN case "$(uname -m)" in \ x86_64) sha=$ATUIN_SHA256_X86_64 ;; \ aarch64) sha=$ATUIN_SHA256_AARCH64 ;; \ *) exit 1 ;; \ esac \ && target="$(uname -m)-unknown-linux-gnu" \ && curl -fsSL -o /tmp/atuin.tar.gz \ "https://github.com/atuinsh/atuin/releases/download/v${ATUIN_VERSION}/atuin-${target}.tar.gz" \ && echo "$sha /tmp/atuin.tar.gz" | sha256sum -c - \ && tar -xzf /tmp/atuin.tar.gz -C /usr/local/bin --strip-components=1 "atuin-${target}/atuin" \ && rm /tmp/atuin.tar.gz COPY atuin/entrypoint.sh atuin/skip-list.txt /e2e/ COPY atuin/tests /e2e/tests COPY lib /e2e/lib ENV LANG=C.UTF-8 PYTHONPATH=/e2e/lib ENTRYPOINT ["/e2e/entrypoint.sh"]