![]() |
NASA Astrobee Robot Software
Astrobee Version:
Flight software for the Astrobee robots operating inside the International Space Station.
|
This page describes the steps required to complete a flight release. It assumes that your environment is configured to cross-compile the fsw for the armhf
architecture.
Release branches will be created on a user's fork. To make a release branch, checkout and update develop. Then make a release branch off of develop. Please name the branch release-0.x.x.
Please note that creating a release branch and specifying a version number indicates that the code on the branch is frozen with respect to further feature changes. However, as you identify bugs during lab testing before deployment to the ISS, you can still apply bug fixes on that release branch without incrementing the version number. Of course, that means that as you iterate, you might end up generating multiple debs with the same version number. For configuration management purposes, when checking whether two deployments used identical debs, you should always compare their git commit hashes rather than their version numbers.
The release version must be updated before creating the Debian. Please use the update release script to do this. Before running the script, get a list of features that have been added since the last release. This list will need to be added to the change log that gets edited when the script is run. Also, in the change log, change UNRELEASED to testing and change the email address to the astrobee fsw email address as in previous log entries.
./scripts/setup/debians/update_release.sh 0.x.x
Note: Make sure that your EDITOR variable is set to your preferred editor before invoking this script. Using vim seems to generate an unimportant error.
Please make sure to commit and push all the files that were changed.
Your environment needs to be configured properly to cross-compile Astrobee Robot Software for the armf
architecture. See NASA Install documentation.
./scripts/build/build_debian.sh
On confluence, there is a release testing procedure. This procedure will walk you through all the testing that needs to be done to make sure the debian is flight ready. Please create a copy of the procedure by clicking on the ellipsis at the top right corner of the page and selecting copy. In the popup, in the 'Parent page' text box, please enter 'Executed Procedures' and click 'Copy'. Remove 'Copy of' from the title and add the version and date after the test number such that it looks like 'IRG-FFTEST302 - 0.x.x -YYYY-MM-DD - Astrobee Release Testing'. Be sure to fill out the 'As-Ran Summary' table and the 'Result' and 'Notes' column for every step. After running through the procedure, please provide a brief summary of your results in the release testing results table.
If there are bugs that arise during testing, please fix the bugs, push the fixes, recreate the debians, and repeat the release testing procedure.
Once the debians pass all the required testing, it is ready to become an official flight release. Please make one pull request on astrobee develop. Set Brian, Katie, or Marina as the reviewer. They will review the request and do the merging into develop and master. You will also need to copy the debians to a temporary location on volar.
scp astrobee0_0.x.x_armhf.deb \ <ndc_username>@volar:/home/p-free-flyer/free-flyer/FSW/ars_debs/release_candidate/ scp astrobee-config_0.x.x_all.deb \ <ndc_username>@volar:/home/p-free-flyer/free-flyer/FSW/ars_debs/release_candidate/ scp astrobee-dev_0.x.x_armhf.deb \ <ndc_username>@volar:/home/p-free-flyer/free-flyer/FSW/ars_debs/release_candidate/
After the debians have been copied to volar, make sure the group permissions are set to read and right. Finally, please email Ruben Garcia Ruiz so that he can sign it and stage it.
This section is for reviewers only! After reviewing the pull request and verifying that the release passed all sections of the release testing procedure, please merge the pull request into develop. You will then need to merge the develop branch into master (squash and merge). After this merge, please create a github release and merge master back into develop (merge commit).