Dockerfile 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. FROM ubuntu:24.04
  2. RUN apt update && apt install -y build-essential rustup python3-pip libssl-dev pkg-config git curl make iproute2
  3. # rdsys (one of the dependencies for the Lox benchmarks) is written in Go
  4. RUN curl -OL https://golang.org/dl/go1.25.6.linux-amd64.tar.gz \
  5. && tar -C /usr/local -xzf go1.25.6.linux-amd64.tar.gz \
  6. && rm go1.25.6.linux-amd64.tar.gz
  7. # Set up Go environment
  8. ENV PATH=$PATH:/usr/local/go/bin
  9. # Verify installation
  10. RUN go version
  11. # Install a recent Rust compiler
  12. RUN install -D /usr/bin/rustup /root/.cargo/bin/rustup && /root/.cargo/bin/rustup install 1.92.0
  13. COPY . /root/sigma-rs-artifact/
  14. # Build all the tests, binaries, benchmarks
  15. WORKDIR /root/sigma-rs-artifact/spongefish
  16. RUN cargo build --release --all-targets
  17. RUN cargo build --release --all-targets -p spongefish
  18. WORKDIR /root/sigma-rs-artifact/sigma-proofs
  19. RUN cargo build --release --all-targets
  20. WORKDIR /root/sigma-rs-artifact/sigma-compiler
  21. RUN cargo build --release --all-targets
  22. WORKDIR /root/sigma-rs-artifact/sigma-compiler/sigma-compiler-core
  23. RUN cargo build --release --all-targets
  24. WORKDIR /root/sigma-rs-artifact/sigma-compiler/sigma-compiler-derive
  25. RUN cargo build --release --all-targets
  26. WORKDIR /root/sigma-rs-artifact/cmz
  27. RUN cargo build --release --all-targets
  28. WORKDIR /root/sigma-rs-artifact/cmz/cmz-core
  29. RUN cargo build --release --all-targets
  30. WORKDIR /root/sigma-rs-artifact/cmz/cmz-derive
  31. RUN cargo build --release --all-targets
  32. WORKDIR /root/sigma-rs-artifact/application-ooni
  33. RUN cargo build --release --all-targets
  34. RUN cargo build --release --all-targets -p ooniauth-core
  35. WORKDIR /root/sigma-rs-artifact/application-lox/crates/lox-extensions
  36. RUN cargo build --release --features=bridgeauth,test --all-targets
  37. WORKDIR /root/sigma-rs-artifact/application-lox/crates/lox-distributor
  38. RUN cargo build --release --features=test-branch --all-targets
  39. WORKDIR /root/sigma-rs-artifact/application-lox-zkp/crates/lox-library
  40. RUN cargo build --release --features=bridgeauth --all-targets
  41. WORKDIR /root/sigma-rs-artifact/application-lox-zkp/crates/lox-distributor
  42. RUN cargo build --release --features=test-branch --all-targets
  43. # Build the wasm testing environment
  44. WORKDIR /root/sigma-rs-artifact
  45. RUN git clone https://gitlab.torproject.org/tpo/anti-censorship/rdsys.git
  46. WORKDIR /root/sigma-rs-artifact/rdsys
  47. RUN make build
  48. RUN make descriptors
  49. WORKDIR /root/sigma-rs-artifact/application-lox/crates/lox-wasm
  50. RUN cargo install wasm-pack
  51. RUN /root/.cargo/bin/wasm-pack build --release --target web
  52. WORKDIR /root/sigma-rs-artifact/application-lox-zkp/crates/lox-wasm
  53. RUN /root/.cargo/bin/wasm-pack build --release --target web
  54. WORKDIR /root/sigma-rs-artifact/