Developer Notes: Releasing a new version of WebbPSF¶
Releasing new data packages¶
dev_utils/make-data-sdist.sh(details below) to make a gzipped tarred archive of the WebbPSF data
If 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
(0, X, Y)
Extract the resulting data archive and check that you can run the WebbPSF tests with
WEBBPSF_PATHpointing to it
Copy 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.
docs/installation.rstto have that new URL and updated filename in the appropriate location.
Update the shared copy on STScI Central Store:
/grp/jwst/oteand remove the
Copy the archive into
/grp/jwst/ote/and extract it to
Rename the folder to
Create a symbolic link at
/grp/jwst/ote/webbpsf-datato point to the new folder
Update the URL in
installation.rstunder Installing the Required Data Files
Details for using
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
When you are ready, proceed with the WebbPSF release as follows:
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
git tag -s v<version> -m "Release v<version>"
Push tag to github, on
On github, make a PR from
stable(this can be done ahead of time and left open, until all individual PRs are merged into
After verifying that PR is complete and tests pass, merge it. (Once merged, both the
developbranches 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 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
If the minimum needed version of the webbpsf-data package has changed in
webbpsf/__init__.py, edit webbpsf-data/meta.yaml to reflect the new
Edit webbpsf/meta.yaml to reflect the new versions of POPPY and webbpsf-data, if necessary.
Edit in the
git tagin the PyPI release instructions (
Verify that you can build the package from the astroconda-contrib directory:
conda build -c http://ssb.stsci.edu/astroconda webbpsf
Commit your changes to a new branch and push to GitHub.
Create a pull request against
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