smarc_releases¶
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.
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 packagesbloom-noetic-release-deb.zip
- Debian packages for ROS noetic, excluding the web GUI packagesbloom-melodic-wasm-release-deb.zip
- Debian packages for ROS melodic, including the web GUI packagesbloom-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¶
- Clone this repository:
git clone https://github.com/smarc-project/smarc_releases.git
- Go to the scripts repo:
cd smarc_releases/scripts
- Execute
./make_package_repository.sh
to create a apt package folder within the current folder containing the release packages from this repo (it downloadsbloom-noetic-wasm-release-deb.zip
andbloom-melodic-wasm-release-deb.zip
from the latest release) - Execute
./serve_package_repository.sh
to serve the package repository from your computer. This will typically be executed from the server at KTH - Test that it works by following the install instructions