Sfoglia il codice sorgente

Scripts for setting up and processing results

Vecna 3 mesi fa
parent
commit
23564b198f
5 ha cambiato i file con 87 aggiunte e 0 eliminazioni
  1. 11 0
      Dockerfile
  2. 12 0
      conf/Dockerfile
  3. 13 0
      scripts/belarus.sh
  4. 13 0
      scripts/process-lox-results.sh
  5. 38 0
      scripts/setup.sh

+ 11 - 0
Dockerfile

@@ -0,0 +1,11 @@
+# Dockerfile for running python and making PDFs
+
+# It's silly to use this when we're not using Rust, but it saves us from
+# having to download a different image later.
+FROM rust:1.93.0
+WORKDIR /home/analysis/
+RUN apt update -y && apt upgrade -y
+RUN apt install -y curl python3 python3-numpy python3-pandas texlive texlive-publishers
+ADD belarus-2020-2021 /home/analysis/belarus-2020-2021
+ADD parsing-results /home/analysis/parsing-results
+ENV SHELL=/bin/bash

+ 12 - 0
conf/Dockerfile

@@ -0,0 +1,12 @@
+# Dockerfile for both lox-new and troll-patrol
+
+FROM rust:1.93.0
+RUN apt update -y && apt upgrade -y
+WORKDIR /home/lox
+ADD crates/ ./crates/
+ADD Cargo.toml Cargo.toml
+ADD setup_dependencies.sh setup_dependencies.sh
+RUN ./setup_dependencies.sh
+WORKDIR /home/lox/crates/lox-extensions
+RUN cargo test --release build --features bridgeauth,test,fast
+ENV SHELL=/bin/bash

+ 13 - 0
scripts/belarus.sh

@@ -0,0 +1,13 @@
+#!/bin/bash
+
+docker run --name "tp-belarus" --rm -d -i tp-analysis:latest || exit 1
+
+if [ "$1" == "--fast" ]; then
+    docker exec tp-belarus sh -c "cd /home/analysis/belarus-2020-2021 && ./run.sh --fast" | tee section-3-results
+else
+    docker exec tp-belarus sh -c "cd /home/analysis/belarus-2020-2021 && ./run.sh" | tee section-3-results
+fi
+
+docker cp tp-belarus:/home/analysis/belarus-2020-2021/appendix-a-results.tex . && \
+docker cp tp-belarus:/home/analysis/belarus-2020-2021/appendix-a-results.pdf . && \
+docker stop tp-belarus

+ 13 - 0
scripts/process-lox-results.sh

@@ -0,0 +1,13 @@
+#!/bin/bash
+
+docker run --name "tp-lox" --rm -d -i tp-analysis:latest || exit 1
+
+for i in lox-old lox-new troll-patrol; do
+    docker cp parsing-results/"$i" tp-lox:/home/analysis/parsing-results/"$i"
+done
+
+docker exec tp-lox sh -c "cd /home/analysis/parsing-results && ./get_results.sh" || exit 1
+
+docker cp tp-lox:/home/analysis/parsing-results/*.tex . && \
+docker cp tp-lox:/home/analysis/parsing-results/*.pdf . && \
+docker stop tp-lox

+ 38 - 0
scripts/setup.sh

@@ -0,0 +1,38 @@
+#!/bin/bash
+
+## Belarus 2020-2021
+
+#git clone https://git-crysp.uwaterloo.ca/vvecna/belarus-2020-2021.git
+git clone gogs@git-crysp.uwaterloo.ca:vvecna/belarus-2020-2021.git
+
+## Build docker for analysis
+
+docker build -t tp-analysis .
+
+## Lox/Troll Patrol
+
+# Set up dependencies
+git clone https://github.com/arkworks-rs/spongefish && \
+    cd spongefish && \
+    git checkout fcc277f8a857fdeeadd7cca92ab08de63b1ff1a1 && \
+    cd .. && \
+git clone -b victor/artifact https://github.com/sigma-rs/sigma-proofs && \
+git clone -b artifact https://git-crysp.uwaterloo.ca/SigmaProtocol/sigma-compiler && \
+git clone -b artifact https://git-crysp.uwaterloo.ca/SigmaProtocol/cmz
+
+# Clone the three versions of Lox repo
+#git clone -b lox-original https://git-crysp.uwaterloo.ca/vvecna/lox-troll-patrol-extension.git lox-old && \
+#git clone -b lox-extension https://git-crysp.uwaterloo.ca/vvecna/lox-troll-patrol-extension.git lox-new && \
+#git clone -b main https://git-crysp.uwaterloo.ca/vvecna/lox-troll-patrol-extension.git troll-patrol && \
+git clone -b lox-original gogs@git-crysp.uwaterloo.ca:vvecna/lox-troll-patrol-extension.git lox-old && \
+git clone -b lox-extension gogs@git-crysp.uwaterloo.ca:vvecna/lox-troll-patrol-extension.git lox-new && \
+git clone -b main gogs@git-crysp.uwaterloo.ca:vvecna/lox-troll-patrol-extension.git troll-patrol && \
+
+# Copy Dockerfile to lox-new and troll-patrol
+cp conf/Dockerfile lox-new/
+cp conf/Dockerfile troll-patrol/
+
+# For each, build the docker container
+for i in lox-old lox-new troll-patrol; do
+    cd "$i" && docker build -t "$i" . && cd ..
+done