-
Notifications
You must be signed in to change notification settings - Fork 42
Holodeck Release Checklist
This is the rough order of things that need to happen to push a release out the door.
-
As soon as the previous release is done, make sure the you've bumped the version number and append
dev
to the end See Holodeck Versioning. So if we just released0.2.1
, bump it to0.2.2dev
This is done so that development releases don't get mixed in with actual releases.
-
Update the changelog with
- New features
- Bugs present in last release that were fixed in this release
It can be useful to look at the milestone or closed pull requests in a certain date range.
Follow this format.
-
As you go through the changelog, update the rest of the documentation as needed
Hopefully, pull requests that introduce new features or change old ones update the docs as they happen. We shouldn't put updating the docs to the last second.
-
Get the latest build of
develop
off of Jenkins, make this your "release candidate" for Linux (make sure the version in theconfig.json
ofholodeck-worlds
is correct) by going to monster.cs.byu.edu. -
Put that build on S3 (with
dev
appended to the version number), verify that the client can download it and run it on Linux. Holodeck aws account has access to the bucket at https://s3.console.aws.amazon.com/s3/buckets/holodeckworlds -
Run integration tests locally by having an editable install of holodeck installed (see
tests/README.md
) -
Run integration tests in tox by typing
tox
from the root of the holodeck repo -
Package a Windows version and repeat steps 5,7, and 8.
Remember to change the config files for the Windows packages!
-
Build the python code and upload it to pip, make sure you can install it
MAKE SURE THE VERSION STILL HAS
dev
APPENDED TO ITOnce you upload a version to pip, you can't re-upload it without bumping the version number. pip knows to treat versions
dev
appended differentlySee here for instructions on how to test & upload packages.
If you need to upload another development version, just add a number after dev, so it would be
1.2.4dev0
-
Install the development version with
pip install --pre holodeck
(you may need topip uninstall holodeck
In the output that pip prints out, make sure it installed the version with
dev
appended -
Run tests again, make sure everything seems OK
-
Change the version numbers to remove
dev
, commit those changes, and merge into master -
Checkout master, repeat step 8 to upload the final version of the python package
-
Upload the final binaries to S3 without the
dev
appended -
In
holodeck
,holodeck-worlds
,holodeck-engine
, andholodeck-configs
make a release that tags the commit that the packages were generated against. This is so we can find out later exactly what was in a released version of holodeck -
Update the Docker images. Note that the docker build process is triggered on push/pull requests to master. The build depends on the pip package and worlds being up to date. Make sure those are in place before doing a final merge on the master branch. Check to make sure the image builds completed successfully.
-
Consider writing a blog post with changes on the PCCL blog
-
Order pizza
-
Wait for the bugs to roll in