diff --git a/test/palemoon/Dockerfile b/test/palemoon/Dockerfile new file mode 100644 index 00000000..24b8ff52 --- /dev/null +++ b/test/palemoon/Dockerfile @@ -0,0 +1,14 @@ +FROM golang:alpine AS build + +RUN go install github.com/mattn/goreman@latest + +FROM debian:latest AS run +RUN apt-get update -y && \ + apt-get install -y tigervnc-standalone-server dwm xterm && \ + rm -rf /var/lib/apt/lists +ENV VNC_DESKTOP_NAME="Xtigervnc" +ENV VNC_GEOMETRY=1280x800 +COPY app/ /app/ +COPY --from=build /go/bin/goreman /usr/bin/goreman + +CMD ["/app/main.sh"] \ No newline at end of file diff --git a/test/palemoon/Dockerfile.palemoon b/test/palemoon/Dockerfile.palemoon new file mode 100644 index 00000000..afc045f4 --- /dev/null +++ b/test/palemoon/Dockerfile.palemoon @@ -0,0 +1,8 @@ +FROM debian:latest + +RUN apt-get update \ + && apt-get -y install ca-certificates +COPY palemoon.list /etc/apt/sources.list.d/palemoon.list +COPY veit@kannegieser.net.gpg /usr/share/keyrings/veit@kannegieser.net.gpg +RUN apt-get update \ + && apt-get install -y palemoon veit-kannegieser-archive-keyring \ No newline at end of file diff --git a/test/palemoon/README.md b/test/palemoon/README.md new file mode 100644 index 00000000..397182d6 --- /dev/null +++ b/test/palemoon/README.md @@ -0,0 +1,5 @@ +# Pale Moon CI tests + +Pale Moon has exposed [some pretty bad bugs](https://anubis.techaro.lol/blog/release/v1.21.1#fix-event-loop-thrashing-when-solving-a-proof-of-work-challenge) in Anubis. As such, we're running Pale Moon against Anubis in CI to ensure that it keeps working. + +This test is a fork of [dtinth/xtigervnc-docker](https://github.com/dtinth/xtigervnc-docker) but focused on Pale Moon. diff --git a/test/palemoon/anubis/anubis.yaml b/test/palemoon/anubis/anubis.yaml new file mode 100644 index 00000000..bc840ba4 --- /dev/null +++ b/test/palemoon/anubis/anubis.yaml @@ -0,0 +1,12 @@ +bots: + - name: palemoon + user_agent_regex: PaleMoon + action: CHALLENGE + challenge: + difficulty: 4 + report_as: 4 + algorithm: fast + +status_codes: + CHALLENGE: 401 + DENY: 403 diff --git a/test/palemoon/app/Procfile b/test/palemoon/app/Procfile new file mode 100644 index 00000000..26fedb14 --- /dev/null +++ b/test/palemoon/app/Procfile @@ -0,0 +1,2 @@ +xtigervnc: ./xtigervnc.sh +dwm: ./dwm.sh \ No newline at end of file diff --git a/test/palemoon/app/dwm.sh b/test/palemoon/app/dwm.sh new file mode 100755 index 00000000..2551daf7 --- /dev/null +++ b/test/palemoon/app/dwm.sh @@ -0,0 +1,6 @@ +#!/bin/bash +export DISPLAY=:0 +while true; do + dwm + sleep 1 +done diff --git a/test/palemoon/app/main.sh b/test/palemoon/app/main.sh new file mode 100755 index 00000000..7d00e82c --- /dev/null +++ b/test/palemoon/app/main.sh @@ -0,0 +1,3 @@ +#!/bin/bash -e +cd /app +goreman start diff --git a/test/palemoon/app/xtigervnc.sh b/test/palemoon/app/xtigervnc.sh new file mode 100755 index 00000000..6a298166 --- /dev/null +++ b/test/palemoon/app/xtigervnc.sh @@ -0,0 +1,2 @@ +#!/bin/bash -e +exec Xtigervnc -desktop "$VNC_DESKTOP_NAME" -geometry "$VNC_GEOMETRY" -listen tcp -ac -SecurityTypes None -AlwaysShared -AcceptKeyEvents -AcceptPointerEvents -SendCutText -AcceptCutText :0 \ No newline at end of file diff --git a/test/palemoon/docker-compose.yml b/test/palemoon/docker-compose.yml new file mode 100644 index 00000000..71d28cdd --- /dev/null +++ b/test/palemoon/docker-compose.yml @@ -0,0 +1,26 @@ +services: + display: + build: . + volumes: + - ./app:/app:ro + novnc: + image: geek1011/easy-novnc + command: -a :5800 -h display --no-url-password + ports: + - 5800:5800 + palemoon-386: + hostname: i386 + platform: linux/386 + build: + dockerfile: Dockerfile.palemoon + command: sleep inf + environment: + DISPLAY: display:0 + palemoon-amd64: + hostname: amd64 + platform: linux/amd64 + build: + dockerfile: Dockerfile.palemoon + command: sleep inf + environment: + DISPLAY: display:0 diff --git a/test/palemoon/palemoon.list b/test/palemoon/palemoon.list new file mode 100644 index 00000000..7fd97aca --- /dev/null +++ b/test/palemoon/palemoon.list @@ -0,0 +1 @@ +deb [ signed-by=/usr/share/keyrings/veit@kannegieser.net.gpg] https://kannegieser.net/palemoon mx23_gtk3 main \ No newline at end of file diff --git a/test/palemoon/test.sh b/test/palemoon/test.sh new file mode 100644 index 00000000..f601227e --- /dev/null +++ b/test/palemoon/test.sh @@ -0,0 +1,9 @@ +export VERSION=$GITHUB_COMMIT-test +export KO_DOCKER_REPO=ko.local + +set -u + +( + cd ../.. && + ko build --platform=all --base-import-paths --tags="latest" --image-user=1000 --image-annotation="" --image-label="" ./cmd/anubis -L +) diff --git a/test/palemoon/veit@kannegieser.net.gpg b/test/palemoon/veit@kannegieser.net.gpg new file mode 100644 index 00000000..a335b5b4 Binary files /dev/null and b/test/palemoon/veit@kannegieser.net.gpg differ