Skip to content

Conversation

@icecrasher321
Copy link
Collaborator

Description

  • Replace QEMU emulation with native ARM64/AMD64 runners (linux-arm64-8-core, linux-x64-8-core)
  • Fix manifest creation with proper error handling and image existence checks
  • Add CDN video support with getVideoUrl function and Video component
  • Update all docs MDX files to use Video component instead of raw video tags
  • Update GitHub Actions workflow to use architecture-specific builds
  • Remove QEMU setup to eliminate emulation timeout issues
  • Maintain multi-arch Docker image support through manifests

Type of change

  • Performance improvement

How Has This Been Tested?

On the branch -- test-build-action-fix pushes.

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added tests that prove my fix is effective or that my feature works
  • All tests pass locally and in CI (bun run test)
  • My changes generate no new warnings
  • Any dependent changes have been merged and published in downstream modules
  • I have updated version numbers as needed (if needed)
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

Security Considerations:

  • My changes do not introduce any new security vulnerabilities
  • I have considered the security implications of my changes

- Replace QEMU emulation with native ARM64/AMD64 runners (linux-arm64-8-core, linux-x64-8-core)
- Fix manifest creation with proper error handling and image existence checks
- Add CDN video support with getVideoUrl function and Video component
- Update all docs MDX files to use Video component instead of raw video tags
- Update GitHub Actions workflow to use architecture-specific builds
- Remove QEMU setup to eliminate emulation timeout issues
- Maintain multi-arch Docker image support through manifests
@vercel
Copy link

vercel bot commented Jul 25, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
docs ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jul 25, 2025 11:00pm
sim ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jul 25, 2025 11:00pm

@icecrasher321 icecrasher321 changed the base branch from main to staging July 25, 2025 22:52
Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

Greptile Summary

This PR implements two major improvements: native ARM64 Docker builds and CDN video support for documentation.

Docker Build Improvements: The PR replaces QEMU emulation with native architecture builds by using separate GitHub runners (linux-arm64-8-core, linux-x64-8-core). The workflow now builds architecture-specific images (e.g., latest-amd64, latest-arm64) and combines them into multi-arch manifests. This eliminates the performance bottleneck and timeout issues caused by QEMU emulation, significantly improving build times while maintaining backward compatibility through multi-arch manifests.

CDN Video Support: A new getVideoUrl utility function and Video component have been added to centralize video asset management. The getVideoUrl function dynamically constructs video URLs using either a CDN (via NEXT_PUBLIC_BLOB_BASE_URL environment variable) or falls back to local paths. The Video component wraps HTML5 video elements with sensible defaults (autoPlay, loop, muted, playsInline) and uses the URL utility. All documentation MDX files have been systematically updated to replace raw HTML video tags with this standardized component, providing better performance through CDN delivery and consistent video behavior across the documentation.

Both changes integrate well with the existing codebase - the Docker workflow maintains the same image naming conventions and multi-arch support, while the video components follow established patterns in the docs application structure.

Confidence score: 3/5

• This PR has some potential issues that need attention, particularly in the Docker workflow complexity and component implementation
• The GitHub Actions workflow introduces significant complexity with custom runners and manifest creation that could fail in different environments, plus there's redundant turbo installation in the Dockerfile
• Files needing attention: .github/workflows/build.yml (custom runner dependency, manifest creation logic), docker/app.Dockerfile (redundant installation), and apps/docs/components/ui/video.tsx (accessibility considerations)

13 files reviewed, 1 comment

Edit Code Review Bot Settings | Greptile

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
@icecrasher321 icecrasher321 merged commit eeb1a34 into staging Jul 25, 2025
4 of 5 checks passed
@waleedlatif1 waleedlatif1 deleted the feat/native-arm64-docker-builds branch July 27, 2025 01:33
arenadeveloper02 pushed a commit to arenadeveloper02/p2-sim that referenced this pull request Sep 19, 2025
…oai#791)

* feat: implement native ARM64 Docker builds with CDN support

- Replace QEMU emulation with native ARM64/AMD64 runners (linux-arm64-8-core, linux-x64-8-core)
- Fix manifest creation with proper error handling and image existence checks
- Add CDN video support with getVideoUrl function and Video component
- Update all docs MDX files to use Video component instead of raw video tags
- Update GitHub Actions workflow to use architecture-specific builds
- Remove QEMU setup to eliminate emulation timeout issues
- Maintain multi-arch Docker image support through manifests

* Update .github/workflows/build.yml

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

---------

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants