Versioning applications - AWS RoboMaker

End of support notice: On September 10, 2025, AWS will discontinue support for AWS RoboMaker. After September 10, 2025, you will no longer be able to access the AWS RoboMaker console or AWS RoboMaker resources. For more information on transitioning to AWS Batch to help run containerized simulations, visit this blog post.

Versioning applications

AWS RoboMaker supports creating more than one version of your robot and simulation applications. This helps you control which code your robots and simulations use. A version is a numbered snapshot of the $LATEST version of your application. You can create a version to use in different parts of your development workflow, such as development, beta deployment, or production.

When you version an AWS RoboMaker robot application or simulation application, you create a snapshot of the application.

If you're using colcon to build your applications, AWS RoboMaker remembers the Amazon S3 path and ETag of the file for each version. You can use the version of the application as it existed when the version was made provided it still exists in the Amazon S3 path and has not been altered (its ETag is unchanged).

If you're using container images for your applications, you upload your images to Amazon ECR. Amazon ECR uses image digests to indicate the version of your application. AWS RoboMaker remembers the image digest for each version.

If you have the image uploaded to Amazon ECR and you haven't altered the image digest, you can access and use that version of your application.

You can create a maximum of 40 versions per application.

Versioning applications with images

You can update the $LATEST version of your container image as you develop your application. When you select the $LATEST version, you can get it from the Amazon ECR location that you specify.

When you create an image, you can also apply tags to it. You can specify the value of the tag field as "latest" for the $LATEST version. These values are distinct from each other.

There are two ways that an image gets the "latest" tag:

  • You specified a tag with the value of "latest".

  • You push an image that doesn't have tags, in which case Amazon ECR updates the image with the "latest" tag.

When you specify a tag for an image in AWS RoboMaker, that image is always picked as the $LATEST version. For example, if you create a robot application with the image name "myImage", the tag "xyz", and the image digest "123", the $LATEST version is myImage:xyz with the digest "123".

The following are the scenarios when you want to add a tag:

  • You want to update the $LATEST version to use a new tag. For example, if you have the image "myImage", you can update your image with the tag "abc". The $LATEST version of the image points to myImage:abc.

  • You want to update the image and retag it. For example, you can make changes to an image that has the tag "abc". You can use the tag "xyz" after you update it. The $LATEST version points to myImage:xyz.

The $LATEST version

When you create a version, AWS RoboMaker takes a snapshot of the $LATEST version and increments the version number by 1. AWS RoboMaker remembers the Amazon S3 path and ETag of the file. The path is used to retrieve the file. The ETag is used to confirm it has not changed. Version numbers are never reused. For example, if your latest version is 10 and you remove it and then create a new version, the new version is version 11.

You can update the $LATEST version as you develop your application. When you select the $LATEST version, it is retrieved from the Amazon S3 location you specify. For example, when you start a simulation job using the latest version of your robot application and simulation application and then make changes to the robot application at the Amazon S3 path, the updated robot application is used when the simulation job is restarted.

When you deploy a robot application, you must select a specific numbered version to deploy. For more information about how to create a robot application version, see Creating a robot application version.

For more information about how to create a simulation application version, see Creating a simulation application version. For more information about ETags, see Common Response Headers.

Updating an application version

You can update only the $LATEST version of an AWS RoboMaker application . When you do this, it is available to use in AWS RoboMaker. For example, if you restart a simulation job, the latest version of the applications is used in the simulation.

For more information, see Updating a robot application and Updating a simulation application.

Deleting an application version

When you no longer need an application version, delete it. For more information, see Deleting a robot application version and Deleting a simulation application version.