inference icon indicating copy to clipboard operation
inference copied to clipboard

Add Jetson 6.2.0 workflow to retag existing working image

Open alexnorell opened this issue 1 month ago • 3 comments

Problem

The Jetson 6.2.0 base image already exists and works, but it's published under a different name:

  • Existing: roboflow/roboflow-inference-server-jetson:jetpack-6.2.0 (built Oct 17, 2025)
  • Needed: roboflow/roboflow-inference-server-jetson-6.2.0:latest (for downstream projects)

Trying to rebuild from scratch hits Docker's max layer depth limit and various dependency issues.

Solution

Create a workflow that retags the existing working image instead of rebuilding:

Workflow (.github/workflows/docker.jetson.6.2.0.yml)

  • Trigger: Manual workflow dispatch
  • Action: Pull, retag, and push
  • Source: roboflow/roboflow-inference-server-jetson:jetpack-6.2.0
  • Targets:
    • roboflow/roboflow-inference-server-jetson-6.2.0:latest
    • roboflow/roboflow-inference-server-jetson-6.2.0:$VERSION

Dockerfile (docker/dockerfiles/Dockerfile.onnx.jetson.6.2.0)

  • Restored to match the original working version from remote machine
  • Uses roboflow/l4t-ml:r36.4.tegra-aarch64-cu126-22.04 base
  • Simple single-stage build (~50 lines)
  • No layer flattening or dependency workarounds needed (for reference only)

Why Retag Instead of Rebuild?

  1. Existing image works perfectly - Built on Oct 17, 2025, 14GB, fully functional
  2. Avoids Docker layer depth issues - The l4t-ml base has too many layers
  3. Avoids dependency problems - opencv-contrib-python, structlog, etc. not available in Jetson pip index
  4. Fast and reliable - Pull/tag/push takes seconds vs hours of building
  5. Same binary - Exact same image, just with additional tags

Usage

To publish the retagged image:

gh workflow run docker.jetson.6.2.0.yml --repo roboflow/inference --field force_push=true

Impact

  • Enables downstream PR: roboflow/inference-for-manufacturing#201
  • Provides consistent naming for Jetson 6.2.0 images
  • No risk of introducing build issues
  • Can be run anytime to update tags

Source

Dockerfile sourced from: roboflow@ubuntu:/mnt/nvme/inference Branch: feat/jetson-62-minimal-dockerfile Commit: a2329b4b4

alexnorell avatar Nov 05 '25 21:11 alexnorell

Updated to use correct container naming:

  • Container name: roboflow/roboflow-inference-server-jetson-6.2.0
  • Tags: :latest and :$VERSION

This matches the naming convention from PR #1671. The build will now succeed because we've fixed the rasterio GDAL compatibility issue (downgraded to 1.3.0).

alexnorell avatar Nov 06 '25 00:11 alexnorell

Updated approach:

  • ✅ Workflow now retags existing working image instead of rebuilding
  • ✅ Dockerfile restored to original working version from remote machine
  • ✅ Removed layer flattening and dependency workarounds (not needed)
  • ✅ Can be run manually via workflow dispatch

To publish: Run the workflow with force_push=true to push the retagged images to Docker Hub.

alexnorell avatar Nov 06 '25 21:11 alexnorell

@alexnorell is that ready?

PawelPeczek-Roboflow avatar Nov 07 '25 12:11 PawelPeczek-Roboflow