From 78a2542e68cd99d9a9ac372575fd20c19d8e7896 Mon Sep 17 00:00:00 2001 From: Sonic Shih Date: Mon, 27 Jul 2026 03:06:42 +0800 Subject: [PATCH 1/2] fix(collector): bind Polymarket binary to source revision (#390) --- .github/workflows/acr-publish.yml | 2 ++ .../tools/collector/src/bin/polymarket-raw-ops.rs | 13 +++++++++++++ 2 files changed, 15 insertions(+) diff --git a/.github/workflows/acr-publish.yml b/.github/workflows/acr-publish.yml index da4e3027d..f6ca95261 100644 --- a/.github/workflows/acr-publish.yml +++ b/.github/workflows/acr-publish.yml @@ -425,6 +425,8 @@ jobs: chmod 0755 artifact/binance-usdm-reference-artifact-verifier artifact/binance-lob-archiver --version \ | grep -Fqx 'binance-lob-archiver ${{ needs.selector.outputs.source_sha }}' + artifact/polymarket-raw-ops --version \ + | grep -Fqx 'polymarket-raw-ops ${{ needs.selector.outputs.source_sha }}' ( cd artifact sha256sum binance-lob-archiver | tee binance-lob-archiver.sha256 diff --git a/rust_hft/tools/collector/src/bin/polymarket-raw-ops.rs b/rust_hft/tools/collector/src/bin/polymarket-raw-ops.rs index aee596d3e..aaff1eaa7 100644 --- a/rust_hft/tools/collector/src/bin/polymarket-raw-ops.rs +++ b/rust_hft/tools/collector/src/bin/polymarket-raw-ops.rs @@ -19,9 +19,15 @@ use std::fs; use std::path::PathBuf; use std::time::Duration; +const BUILD_SOURCE_REVISION: &str = match option_env!("MONDAY_SOURCE_REVISION") { + Some(revision) => revision, + None => "unbound-source-revision", +}; + #[derive(Debug, Parser)] #[command( name = "polymarket-raw-ops", + version = BUILD_SOURCE_REVISION, about = "Fail-closed Polymarket reference collection and raw tape archival" )] struct Cli { @@ -350,6 +356,13 @@ async fn main() -> Result<()> { #[cfg(test)] mod tests { use super::*; + use clap::CommandFactory; + + #[test] + fn cli_version_is_bound_to_the_build_source_revision() { + let expected = option_env!("MONDAY_SOURCE_REVISION").unwrap_or("unbound-source-revision"); + assert_eq!(Cli::command().get_version(), Some(expected)); + } #[test] fn collect_reference_cli_uses_the_library_discovery_capacity_default() { From a53917898ca53273dbe06c1a69b8e3e43be30031 Mon Sep 17 00:00:00 2001 From: Sonic Shih Date: Mon, 27 Jul 2026 03:28:48 +0800 Subject: [PATCH 2/2] fix(collector): bind Polymarket compiler image source --- .github/workflows/acr-publish.yml | 2 ++ .github/workflows/ci.yml | 3 +++ .../deployment/docker/Dockerfile.polymarket-evidence-compiler | 4 +++- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/acr-publish.yml b/.github/workflows/acr-publish.yml index f6ca95261..5f676f8fa 100644 --- a/.github/workflows/acr-publish.yml +++ b/.github/workflows/acr-publish.yml @@ -284,6 +284,8 @@ jobs: --format '{{ index .Config.Labels "org.opencontainers.image.revision" }}' \ "$IMAGE") test "$actual_source_revision" = "$SOURCE_REVISION" + docker run --rm --entrypoint /usr/local/bin/polymarket-raw-ops "$IMAGE" \ + --version | grep -Fqx "polymarket-raw-ops $SOURCE_REVISION" - name: Verify Polymarket market recorder image if: matrix.repository == 'polymarket-market-recorder' diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 71897b876..19f0dfc27 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -434,12 +434,15 @@ jobs: run: | image=polymarket-evidence-compiler:${{ github.sha }} docker build \ + --build-arg "SOURCE_REVISION=${{ github.sha }}" \ --file rust_hft/deployment/docker/Dockerfile.polymarket-evidence-compiler \ --tag "$image" \ --label "org.opencontainers.image.revision=${{ github.sha }}" \ rust_hft docker run --rm --entrypoint /usr/local/bin/polymarket-raw-ops "$image" \ publish-polymarket-evidence --help >/dev/null + docker run --rm --entrypoint /usr/local/bin/polymarket-raw-ops "$image" \ + --version | grep -Fqx "polymarket-raw-ops ${{ github.sha }}" docker run --rm --entrypoint /usr/local/bin/aliyun "$image" version >/dev/null docker run --rm --entrypoint /bin/sh "$image" -ec \ 'test ! -e /usr/local/bin/binance-lob-archiver' diff --git a/rust_hft/deployment/docker/Dockerfile.polymarket-evidence-compiler b/rust_hft/deployment/docker/Dockerfile.polymarket-evidence-compiler index 4df5da9b4..20f4bf8f6 100644 --- a/rust_hft/deployment/docker/Dockerfile.polymarket-evidence-compiler +++ b/rust_hft/deployment/docker/Dockerfile.polymarket-evidence-compiler @@ -3,6 +3,7 @@ FROM rust:1.91-bullseye AS builder WORKDIR /work +ARG SOURCE_REVISION RUN apt-get update && apt-get install -y --no-install-recommends \ clang \ cmake \ @@ -13,7 +14,8 @@ COPY . . RUN --mount=type=cache,target=/usr/local/cargo/registry,sharing=locked \ --mount=type=cache,target=/usr/local/cargo/git,sharing=locked \ --mount=type=cache,target=/work/target,sharing=locked \ - cargo --config 'build.rustc-wrapper=""' build \ + printf '%s\n' "$SOURCE_REVISION" | grep -Eq '^[0-9a-f]{40}$' \ + && MONDAY_SOURCE_REVISION="$SOURCE_REVISION" cargo --config 'build.rustc-wrapper=""' build \ --release \ --locked \ --no-default-features \