PSA: Rolling CI or Docker Build Fix from Rosdep Errors in 24.04 Transition

Howdy,

Its your Friendly Neighborhood Navigator here with a friendly PSA (and getting creative juices flowing for April Fools next week):

Do you wake up tired and irritable because you docker builds aren’t running like they used to?

Are you feeling like an utter failure because nav2_navfn_planner can’t find a definition of pluginlib on jammy? Oh, just me…

Are your friends and family constantly criticizing you because your CI pipeline is red after only 18 seconds of a 1.5 hour build?

There has just got to be a better way!

Introducing a series of exceptionally obvious yet devilishly detailed minor updates to get your CI pipeline and docker builds full of life again running on Rolling in 22.04 during this transition period.

In just 3 short steps, the eternal glory of convincing your friends, family, and colleagues that you know exactly what you’re doing at all times can be yours!

    sed -i "s|ros\/rosdistro\/master|ros\/rosdistro\/rolling\/2024-02-28|" /etc/ros/rosdep/sources.list.d/20-default.list
    export ROSDISTRO_INDEX_URL=https://raw.githubusercontent.com/ros/rosdistro/rolling/2024-02-28/index-v4.yaml
    rosdep update

Lets hear from some happy customers:

Keep rolling on Jammy and apply a temporary fix for rosdep #522

- Addisu Taddese

What an endorsement!

Attempt to fix Rolling 22.04 CI Until 24.04 Comes of Age #4229

- Steve Macenski

Nothing suspicious about that!

Act not and we’ll throw in not one but two new documentation PRs for only 3 installments of $0.00! since I’m sure someone will find a typo

3 Likes

Love the irony:
image
comment

1 Like

I swear - the builds work! https://app.circleci.com/pipelines/github/ros-planning/navigation2/11330/workflows/cba39928-d6ef-4256-b7d1-559ea8e58dd9

Our tests are just … not. Which I expect is more a reflection on things slipping through the cracks the last few weeks CI has been down that I need to go through and fix for contributors.

1 Like

It won’t really help with what motivated you to submit the documentation PR @smac, but what you did reminded me of something we created in the ROSin project:

2 Likes

Thanks @smac for posting this. This is very useful and I will have to try it out. It definitely is necessary during the transition period.

I am curious though. How long are the package binaries for previous rolling(or other distro) syncs kept around for? For example, can I set my custom ROSDISTRO_INDEX_URL to a rolling(or any other distro) sync from a couple of years ago?