DEV Community

Ravindhar
Ravindhar

Posted on

Stop Debugging Broken URDFs Manually Add URDF Validation to GitHub Actions

How to automatically validate URDF files in CI/CD using GitHub Actions and RoboInfra.

Every robotics developer eventually hits this problem:

A broken URDF gets merged into main.

Then:

  • Gazebo fails
  • MoveIt breaks
  • Isaac Sim import explodes
  • someone loses hours debugging XML

Traditional ROS workflows rely heavily on manual checking.

Modern software engineering solved this years ago with CI/CD.

So I built a GitHub Action that validates URDF and xacro files automatically on every PR.

The workflow

name: Validate URDF

on: [push, pull_request]

jobs:
  validate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - uses: roboinfra/validate-urdf-action@v1
        with:
          api-key: ${{ secrets.ROBOINFRA_API_KEY }}
          file: urdf/robot.urdf
Enter fullscreen mode Exit fullscreen mode

If the URDF is invalid, the PR fails automatically.

What gets checked?

  • duplicate links
  • duplicate joints
  • invalid parent/child refs
  • missing limits
  • invalid joint types
  • missing root links
  • xacro processing issues

Why this matters

Robotics tooling is still missing a DevOps layer.

Software engineering has:

  • CI pipelines
  • static analysis
  • automated validation
  • deployment checks

Robot models deserve the same workflows.

Free validator:
https://roboinfra-dashboard.azurewebsites.net/validator

That’s the idea behind RoboInfra.

Top comments (0)