feat: add ARM64 load testing support#2338
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds ARM64 architecture support for local load testing by building the fast-time-server container locally instead of pulling pre-built amd64-only images from GitHub Container Registry. This enables developers using ARM64 platforms (e.g., Linux VMs on Apple Silicon) to run load tests without relying on emulation.
Changes:
- Modified docker-compose.yml to build fast-time-server locally from source using the existing multi-platform-capable Dockerfile
- Added pyjwt to dev dependencies in pyproject.toml
- Updated uv.lock to reflect the pyproject.toml dependency change
Reviewed changes
Copilot reviewed 2 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| docker-compose.yml | Replaced image pull with local build configuration for fast-time-server to support ARM64 architecture |
| pyproject.toml | Added pyjwt>=2.10.1 to dev dependencies (redundant with existing runtime dependency) |
| uv.lock | Auto-generated lock file updates reflecting the new dev dependency |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
pyproject.toml
Outdated
| # Required by other packages but here for security version control (CVEs) | ||
| # Can be removed once the associated packages update their dependencies | ||
| "pyasn1>=0.6.2", # a2a-sdk; https://github.com/IBM/mcp-context-forge/security/dependabot/73 | ||
| "pyjwt>=2.10.1", |
There was a problem hiding this comment.
Adding pyjwt to dev dependencies appears to be redundant since it's already declared as a runtime dependency on line 72 with the same version constraint (>=2.10.1). When dev dependencies are installed, they automatically include all runtime dependencies. Unless there's a specific reason for this duplication (which should be documented in a comment similar to the pyasn1 example on line 162), this entry can be removed to avoid confusion and potential version conflicts.
| "pyjwt>=2.10.1", |
dc4cc04 to
e04f5b8
Compare
e04f5b8 to
f064d68
Compare
- Add build section for fast-time-server to support ARM64 architecture - Use pre-built ghcr.io image by default for x86_64 performance - ARM64 users can build locally via environment variable override - Fix Dockerfile to use TARGETARCH for proper cross-compilation Signed-off-by: Jonathan Springer <jps@s390x.com> Signed-off-by: Mihai Criveti <crivetimihai@gmail.com>
f064d68 to
8bdd1c7
Compare
crivetimihai
left a comment
There was a problem hiding this comment.
Built arm64 image as well.
* feat: add ARM64 load testing support - Add build section for fast-time-server to support ARM64 architecture - Use pre-built ghcr.io image by default for x86_64 performance - ARM64 users can build locally via environment variable override - Fix Dockerfile to use TARGETARCH for proper cross-compilation Signed-off-by: Jonathan Springer <jps@s390x.com> Signed-off-by: Mihai Criveti <crivetimihai@gmail.com> * Lint Signed-off-by: Mihai Criveti <crivetimihai@gmail.com> --------- Signed-off-by: Jonathan Springer <jps@s390x.com> Signed-off-by: Mihai Criveti <crivetimihai@gmail.com> Co-authored-by: Mihai Criveti <crivetimihai@gmail.com>
Summary
Test plan
🤖 Generated with Claude Code