Skip to content

smarc-project/smarc_releases

Repository files navigation

smarc_releases

release license

CD infrastructure for the SMaRC packages

Package status

You can check the released SMARC packages to see if your package has been released. If you want to update one of them or release a new package, have a look at the release instructions.

Repository Build Status Release Status
smarc_releases - release
smarc_msgs CI release
lolo_common CI release
imc_ros_bridge CI release
smarc_navigation CI release
smarc_missions CI release
sam_common CI release
uavcan_ros_bridge CI release
smarc_utils CI release
roswasm_suite CI release
sam_webgui CI release
lolo_webgui CI release
stonefish_ros CI release
smarc_stonefish_sims CI release
roswasm_suite_native Not tested release
sam_webgui_native Not tested release
lolo_webgui_native Not tested release
smarc_controllers CI release
smarc_base CI release
smarc_desktop Not tested release

Creating and hosting a release

Creating a release

In the panel to the right in this repo, click on the "Releases" header. Select "Draft new release". Click on "Choose a tag", create a new unique tag and give it a meaningful title. Click the "Publish release" button.

That is everything required to create a new binary release of all packages. If you wait for about 30-40 minutes, four zip files will appear next to the release in the releases interface.

What do the different files contain?

Each release contains four files when the action is done. They will appear one by one:

  • bloom-melodic-release-deb.zip - Debian packages for ROS melodic, excluding the web GUI packages
  • bloom-noetic-release-deb.zip - Debian packages for ROS noetic, excluding the web GUI packages
  • bloom-melodic-wasm-release-deb.zip - Debian packages for ROS melodic, including the web GUI packages
  • bloom-noetic-wasm-release-deb.zip - Debian packages for ROS noetic, including the web GUI packages

The last two are the ones we typically care about, since they include all packages.

What happens in the background?

Everything in the release process is automated. A new Github action will be created, called release-deb. If you click on the "Actions" panel for this repo (positioned above) you should be able to view the release-deb action triggered by the release creation.

The action will try to make a release of all packages enumerated in the release_repos.yaml file as well as the release_repos_gui.yaml file. It builds debian packages for each package, and bundles them in a zip file that gets presented in the releases interface when the action is done. If successful, it will also update the minor package version in the repos of all released packages using the @smarcbot user.

Hosting a release

  1. Clone this repository: git clone https://github.com/smarc-project/smarc_releases.git
  2. Go to the scripts repo: cd smarc_releases/scripts
  3. Execute ./make_package_repository.sh to create a apt package folder within the current folder containing the release packages from this repo (it downloads bloom-noetic-wasm-release-deb.zip and bloom-melodic-wasm-release-deb.zip from the latest release)
  4. Execute ./serve_package_repository.sh to serve the package repository from your computer. This will typically be executed from the server at KTH
  5. Test that it works by following the install instructions