Appendix: Windows App Release Process
We generally find that automation of software release processes is truly a life-changer. But there are still aspects of the release process for the WWT Windows client that aren't fully automated. Some of them could definitely benefit from automation; others probably aren't worth it.
TODO: it would be really nice to have a way to prototype dataset updates without potentially affecting existing installs, but we don't have the infrastructure to do that yet.
- In a wwt-windows-client checkout on
master
, prepare a Cranko release request, including release notes for both app and datasets. - Upload any new data files to the cloud, updating the data version in
wwtfiles:catalog/wwt6_login.txt
. - Generate new preloaded data cabinet file using a development build of the
app:
- Delete
~/AppData/Local/American Astronomical Society/WorldWideTelescope/
- Launch the app
- Turn on MPC asteroids in Solar System view
- Zoom all the way out to SDSS galaxies
- Switch to Sky mode
- Open Mars folder of Explore ribbon
- Click on Tours tab to load up its folder
- Switch to Earth mode, spin around
- Toggle 8k cloud maps in the Earth cloud layer properties
- Right-click Earth in Layer Manager and "Add WMS Layer"
- Register the built-in WMS server under the name "NASA"
- Open up the "View from Location" selector dialog
- Switch to Mars view, spin around
- Switch back to Earth mode to pull 8k cloud maps
- Open the language settings UI
- Exit the app
- Run the
MakeDataCabinetFile
tool - Upload resulting file to
wwtfiles:devops/datafiles_release.cabinet
- For posterity, clone the blob to one with a name corresponding to its data
version, e.g.
datafiles_2022-01-20.cabinet
.
- Delete
- Push Cranko release request to WWT
rc
branch. This triggers the main release processing. - Download the release installer from GitHub and duplicate to
wwtwebstatic:$web/releases/wwt/
. - Update the installer redirection URL:
- Update
temporary_redirects.map
in wwt-nginx-core. - Build local Docker image and test locally.
- Submit pull request, merge to
master
- Verify that production service has updated with
curl -I https://worldwidetelescope.org/support/wwtsetup-latest.msi
.
- Update
- Update the user website:
- Update either
content/download/_index.md
orcontent/download/beta.md
in wwt-user-website. - Preview changes with Zola.
- Submit pull request, merge to
master
. - Verify that user website has updated.
- Update either
- Re-update the login file to announce the new version:
- Pull down the login file
- Rename it to
wwt6_login.txt
- Update the
ClientVersion:
line - Upload to
wwtfiles:catalog/wwt6_login.txt
- Check that an older install detects the update.