Skip to content

feat(preprod): Add odiff server wrapper and Dockerfile binary install#109380

Open
NicoHinderling wants to merge 10 commits intomasterfrom
create-compare-task-v1-part1
Open

feat(preprod): Add odiff server wrapper and Dockerfile binary install#109380
NicoHinderling wants to merge 10 commits intomasterfrom
create-compare-task-v1-part1

Conversation

@NicoHinderling
Copy link
Contributor

Summary

  • Add OdiffServer subprocess wrapper that communicates with odiff via JSON-over-stdin/stdout protocol
  • Add DiffResult dataclass for structured diff output
  • Install the odiff binary in the self-hosted Dockerfile (x64 + arm64, SHA256-verified)

Stack: 1/3 — next: image comparison library

&& apt-get update \
&& apt-get install -y --no-install-recommends $buildDeps \
&& uv sync --frozen --quiet --no-install-project \
&& case "$(dpkg --print-architecture)" in \
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should move this into its own layer as it's separate from uv.lock, otherwise we'll do this every time a python dep changes

pretty sure this is all possible with docker primitives + multistage (to handle the docker arch for multiplat builds) at this point too; let me just commit this for you

Copy link
Contributor Author

@NicoHinderling NicoHinderling Feb 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

Copy link
Contributor Author

NicoHinderling commented Feb 25, 2026

@NicoHinderling NicoHinderling force-pushed the create-compare-task-v1-part1 branch from ca48cee to 12f0802 Compare February 25, 2026 23:52
Add the odiff subprocess wrapper (OdiffServer) for image comparison,
the DiffResult type, and install the odiff binary in the self-hosted
Dockerfile.
Copy link
Contributor

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable autofix in the Cursor dashboard.

@NicoHinderling NicoHinderling requested a review from a team as a code owner February 26, 2026 06:44
@github-actions github-actions bot added the Scope: Frontend Automatically applied to PRs that change frontend components label Feb 26, 2026
@github-actions
Copy link
Contributor

🚨 Warning: This pull request contains Frontend and Backend changes!

It's discouraged to make changes to Sentry's Frontend and Backend in a single pull request. The Frontend and Backend are not atomically deployed. If the changes are interdependent of each other, they must be separated into two pull requests and be made forward or backwards compatible, such that the Backend or Frontend can be safely deployed independently.

Have questions? Please ask in the #discuss-dev-infra channel.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Backend Automatically applied to PRs that change backend components Scope: Frontend Automatically applied to PRs that change frontend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants