From 6812f3f54a8e59db8c2515fda9535a668ed211a1 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Mon, 18 Jul 2022 08:08:17 -0700 Subject: [PATCH] test: switch to Ubuntu for now We can't use Alpine because we can't yet compile for musl. --- test/Dockerfile | 67 +++++++++++----------- test/cases/vttest/1_1.sh.ghostty.png | Bin 0 -> 42527 bytes test/cases/vttest/launch.sh.alacritty.png | Bin 0 -> 17719 bytes test/run.sh | 6 ++ 4 files changed, 41 insertions(+), 32 deletions(-) create mode 100644 test/cases/vttest/1_1.sh.ghostty.png create mode 100644 test/cases/vttest/launch.sh.alacritty.png diff --git a/test/Dockerfile b/test/Dockerfile index 066fbc819..d35b74fa3 100644 --- a/test/Dockerfile +++ b/test/Dockerfile @@ -1,45 +1,48 @@ #-------------------------------------------------------------------- -# vttest +# Alacritty since it has no build in Ubuntu #-------------------------------------------------------------------- -FROM alpine:3.16 AS vttest +FROM rust AS alacritty -RUN apk add --no-cache build-base curl +RUN apt-get update && apt-get install -y \ + cmake pkg-config libfreetype6-dev libfontconfig1-dev \ + libxcb-xfixes0-dev python3 git -RUN curl -o vttest.tar.gz https://invisible-island.net/archives/vttest/vttest-20220215.tgz && \ - tar xvzf vttest.tar.gz && \ - cd vttest-20220215 && \ - ./configure && \ - make && \ - cp ./vttest / +RUN git clone https://github.com/alacritty/alacritty.git /tmp/alacritty + +WORKDIR /tmp/alacritty + +RUN git checkout tags/$(git describe --tags $(git rev-list --tags --max-count=1)) + +RUN RUSTFLAGS='-C link-arg=-s' cargo build --release #-------------------------------------------------------------------- -# main runner +# Main Runner #-------------------------------------------------------------------- -FROM alpine:3.16 +# Note: we used to use Alpine, but we need to use an OS that is more +# glibc friendly because on Linux we still require glibc (active todo to +# support musl). +FROM ubuntu:22.04 -# Base packages. A good set of this is just to get X (xvfb) and OpenGL -# software rendering working (all the mesa drivers). -RUN apk add --no-cache \ - bash \ - grep \ - procps \ - font-inconsolata-nerd \ - i3wm \ - imagemagick \ - libxrandr \ - mesa-dev \ - mesa-dri-gallium \ - mesa-gl \ - xvfb \ - xvfb-run \ - xdotool +# Base deps +RUN apt-get update && apt-get install -y \ + fonts-inconsolata \ + i3 \ + imagemagick \ + libgl1-mesa-dev \ + libxcursor1 \ + patchelf \ + software-properties-common \ + xdotool \ + xvfb \ + vttest -# Our terminals -RUN apk add --no-cache \ - alacritty \ - xterm +# Terminals +RUN apt-get install -y \ + xterm -COPY --from=vttest /vttest /usr/bin/vttest +RUN rm -rf /var/lib/apt/lists/* + +COPY --from=alacritty /tmp/alacritty/target/release/alacritty /usr/bin/alacritty COPY ./run.sh /entrypoint.sh diff --git a/test/cases/vttest/1_1.sh.ghostty.png b/test/cases/vttest/1_1.sh.ghostty.png new file mode 100644 index 0000000000000000000000000000000000000000..6a24c4aed45620dc7a33c80abbbe41789c3fc91f GIT binary patch literal 42527 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 literal 0 HcmV?d00001 diff --git a/test/run.sh b/test/run.sh index 781ccb029..09d7249a2 100755 --- a/test/run.sh +++ b/test/run.sh @@ -55,8 +55,14 @@ fi echo "Term: ${ARG_EXEC}" echo "Case: ${ARG_CASE}" +# NOTE: This is a huge hack right now. if [ "$ARG_EXEC" = "ghostty" ]; then ARG_EXEC="/src/ghostty"; + + # We build in Nix (maybe). To be sure, we replace the interpreter so + # it doesn't point to a Nix path. If we don't build in Nix, this should + # still be safe. + patchelf --set-interpreter /lib/ld-linux-$(uname -m).so.1 ${ARG_EXEC} fi #--------------------------------------------------------------------