Skip to content
Andy Porter edited this page Mar 13, 2023 · 10 revisions

Guidelines for a new fparser release

The preferred way to do this is now to use GitHub's 'release' mechanism (https://github.com/stfc/fparser/releases). Thanks to a GitHub action (configured in .github/workflows/python_publish.yml) this process should automatically result in the new release being uploaded to the Python Package Index (pypi).

Manually uploading a release to pypi

Should the GitHub Action to upload the release fail, it must be done manually. The steps are:

Make sure you have the latest versions of the necessary packages:

pip install --upgrade setuptools wheel twine

Build the distribution:

cd fparser/
python3 setup.py sdist bdist_wheel

Upload the version you've just built (replace the "0.0.16" below as appropriate). This will prompt for your PyPi credentials:

twine upload dist/fparser-0.0.16*

Previous instructions for creating a release

  1. Create a "new api x.y.z" issue.
  2. Make sure you have the latest version of the master branch (clone or checkout master and pull).
  3. Ensure master is frozen.
  4. Update the version number and copyright date in the documentation (conf.py) and license (LICENSE). Commit
  5. Update the changelog file (CHANGELOG.md). Commit.
  6. Update the 'News' section of the README.md. Commit.
  7. Update the version number in setup.py. Commit
  8. Push changes to origin (git push)
  9. Create a new tagged copy using (git tag -a x.y.z) where x.y.z is the new version number
  10. Push new tag to origin (git push --tags)
  11. Check GitHub has created a new release.
  12. Push the new release to pypi (see section below)
  13. Check read-the-docs documentation has updated.
  14. Check the new pypi release has been created (sudo pip install fparser --update)
  15. Close issue