-
Notifications
You must be signed in to change notification settings - Fork 4
ReleaseProcedure
We deploy all applications in containers.
There is always an outstanding
Alpha Release [pending]
issue. This issue is updated automatically with new commits by update.sh
, which uses pykern.pkcli.github.issue_update_alpha_pending). Checks are in place to verify that the commits have all passed CI (see ci_check).
When a release is starts (below), the pending moves to a timestamped issue title using pykern.pkcli.github. Past alpha releases are aggregated into beta release issues, which are further aggregated into production release issues.
Past releases can be found by searching on:
Sirepo is released regularly as follows:
- On Monday 10:00 MDT beta is promoted and pushed to prod.
- On Monday 16:00 MDT master is built and pushed to alpha.
- On Wednesday 10:00 MDT alpha is promoted and pushed to beta.
When there are bugs, we'll try to fix them within the week. If we can't get a stable beta release by Friday, we won't push it to production, and it will have to wait a week.
When there are bugs in production after a Monday push, we'll address them immediately during the day on Monday when the developers are fresh.
If Monday is a holiday, the schedule shifts by a day, but otherwise stays the same.
The following creates or promotes a release of the radiasoft/sirepo, radiasoft/beamsim-jupyter, and radiasoft/juptyerhub Docker images. In addition, radiasoft/beamsim image is promoted, but creation of alpha is manual.
- Run one of the following:
- bash update.sh alpha sirepo
- bash update.sh beta sirepo
- bash update.sh prod sirepo
- Test services are functioning properly
- Run one of the following on cori:
- radia_run nersc-sirepo-update alpha
- radia_run nersc-sirepo-update beta
- radia_run nersc-sirepo-update prod
- Close Issue
Provide the list of apps and/or Bivio
and/or bivio-perl
to update.sh
,
e.g. to update Bivio
and Societas
simultaneously:
bash update.sh alpha Societas Bivio
Works the same for alpha, beta, and prod.
Build codes:
bash build-code.sh srw
Images are built on bkf1 (except owncloud, see above):
bash build-docker.sh beamsim
This will tag the image with a version and also alpha, dev, and latest. You build other images similarly.
Alpha runs fully on bkf6. Update the Sirepo service configuration:
bash rsc.sh alpha sirepo
Beta runs on bkf5 and one backend node:
bash rsc.sh beta sirepo
If there are no celery workers running after restart check the logs:
journalctl -u sirepo -S -2m
journalctl -t sirepo -S -2m
You need to look at both -u
(--unit=UNIT
) and -t
(--identifier=SYSLOG_IDENTIFIER
), because the SyslogIdentifier is
systemd
for standard output and error.