Developer Notes: Releasing a new version of WebbPSF¶
Prerequisites¶
Is the
developbuild passing on Travis? with all desired release items included?
Releasing new data packages¶
Run
dev_utils/make-data-sdist.sh(details below) to make a gzipped tarred archive of the WebbPSF dataIf the new data package is required (meaning you can’t run WebbPSF without it, or you can run but may get incorrect results), you must bump
DATA_VERSION_MINin__init__.pyto(0, X, Y)Extract the resulting data archive and check that you can run the WebbPSF tests with
WEBBPSF_PATHpointing to itCopy the data archive into public web space.
This now means on Box. Upload to Box in the webbpsf shared data folder. Get the Box shared file URL.
Update
docs/installation.rstto have that new URL and updated filename in the appropriate location.Update the shared copy on STScI Central Store:
cdto/grp/jwst/oteand remove thewebbpsf-datasymlinkCopy the archive into
/grp/jwst/ote/and extract it to/grp/jwst/ote/webbpsf-dataRename the folder to
webbpsf-data-0.x.yCreate a symbolic link at
/grp/jwst/ote/webbpsf-datato point to the new folderUpdate the URL in
installation.rstunder Installing the Required Data Files
Details for using make-data-sdist.sh:¶
Invoke dev_utils/make-data-sdist.sh one of the following ways to make a gzipped tarred archive of the WebbPSF data suitable for distribution.
If you are on the Institute network:
$ cd webbpsf/dev_utils/
$ ./make-data-sdist.sh 0.X.Y
$ cp ./webbpsf-data-0.X.Y.tar.gz /path/to/public/web/directory/
If you’re working from a local data root:
$ cd webbpsf/dev_utils/
$ DATAROOT="/Users/you/webbpsf-data-sources/" ./make-data-sdist.sh 0.X.Y
$ cp ./webbpsf-data-0.X.Y.tar.gz /where/ever/you/want/
Releasing new versions¶
If you are making a release for poppy at the same time as a release in WebbPSF, do that first.
Update the dependency requirement to the new version of poppy, in webbpsf/setup.cfg.
When you are ready, proceed with the WebbPSF release as follows:
Get the
developbranch into the state that you want, including all PRs merged, updated release notes. This includes all tests passing both locally and on Travis.Tag the commit with
v, being sure to sign the tag with the-soption. *git tag -s v<version> -m "Release v<version>"Push tag to github, on
developOn github, make a PR from
developtostable(this can be done ahead of time and left open, until all individual PRs are merged intodevelop.).After verifying that PR is complete and tests pass, merge it. (Once merged, both the
stableanddevelopbranches should match).Release on Github:
On Github, click on “[N] Releases”.
Select “Draft a new release”.
Specify the version number, title, and brief description of the release.
Press “Publish Release”.
Release to PyPI. This should now happen automatically on Travis. This will be triggered by a Travis build of a tagged commit on the
stablebranch, so it will happen automatically on the prior step for the PR into stable.Release to AstroConda, via steps below.
Releasing a new version through AstroConda¶
To test that an Astroconda package builds, you will need conda-build:
$ conda install conda-build
Fork (if needed) and clone https://github.com/astroconda/astroconda-contrib
If there is a new version of POPPY available to package, edit poppy/meta.yaml to reflect the new
versionandgit_tag.If the minimum needed version of the webbpsf-data package has changed in
webbpsf/__init__.py, edit webbpsf-data/meta.yaml to reflect the newversionandurl.Edit webbpsf/meta.yaml to reflect the new versions of POPPY and webbpsf-data, if necessary.
Edit in the
git_tagname fromgit tagin the PyPI release instructions (v0.X.Y).Verify that you can build the package from the astroconda-contrib directory:
conda build -c http://ssb.stsci.edu/astroconda webbpsfCommit your changes to a new branch and push to GitHub.
Create a pull request against
astroconda/astroconda-contrib.Wait for SSB to build the conda packages.
(optional) Create a new conda environment to test the package installation following these instructions.
Finishing the release¶
Email an announcement to
webbpsf-users@maillist.stsci.edu