Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release SHTOOLS 4.13.0 #481

Open
25 of 27 tasks
MarkWieczorek opened this issue Jul 5, 2024 · 2 comments
Open
25 of 27 tasks

Release SHTOOLS 4.13.0 #481

MarkWieczorek opened this issue Jul 5, 2024 · 2 comments

Comments

@MarkWieczorek
Copy link
Member

MarkWieczorek commented Jul 5, 2024

Scheduled Date: July 12, 2024

Before release

Make all changes on the branch develop. Verify that the version numbers and other metadata are up to date in the following files:

  • Makefile : update shtools version number (for use with fortran man page documentation only; not required for maintenance releases x.x.>0)
  • docs/_data/sidebars/mydoc_sidebar.yml : update pyshtools version number for web documentation
  • docs/_data/sidebars/fortran_sidebar.yml : update shtools version number for web documentation
  • docs/pages/mydoc/release-notes-v4.md : update release notes
  • docs/pages/fortran/fortran-release-notes-v4.md : update release notes
  • requirements.txt : update version numbers of the python dependencies, if necessary
  • environment.yml : update version numbers of the conda environment, if necesseary
  • binder/environment.yml : update version number of pyshtools and other dependencies
  • fpm.toml : update shtools version number
  • AUTHORS.md, docs/pages/mydoc/contributors.md, docs/pages/fortran/fortran-contributors.md : Add new contributors, if necessary

Update the documentation files and man pages

  • cd docs; bundle update; cd .. : update the Gemfile for the jekyll web documentation
  • make remove-doc : this ensures that the correct version number will be written to the fortran man pages
  • make doc : make the fortran man pages, create markdown files from the python docstrings, and create web documentation.

Release

  • Commit all changes to the develop branch and then merge all changes to the master branch.
  • Go to GitHub Release, create a tag of the form vX.X, and draft a new release.
  • Update the master branch on your personal repo, along with the newly created tag, using git pull shtools master --tags, where shtools is the name of the remote repo on github.

Verify workflow execution

  • Creation and upload of a zipped archive to Zenodo
  • Creation and upload of static web site.
  • Upload of a source tarball as a release asset.
  • Upload of the source distribution to pypi.
  • Creation and upload of macOS and Linux binary wheels to pypi. If the workflow doesn't trigger, choose to run the github action on build-shtools.
  • Manually trigger Appveyor on the build-shtools repo to create and upload a windows wheel.

Update Homebrew

  • Verify that the homebrew bot updated the file shtools.rb in a pull request, and that this was merged. If this doesn't occur automatically, edit the file shtools.rb in the homebrew-core repo and make the following changes:
  • Change "url" to point to the new version (the link to the tar.gz archive can be found on the release page).
  • Update the sha256 hash of the tar.gz pypi upload by using shasum -a 256 filename.
  • Commit and push changes.

Update MacPorts

  • Update the MacPorts installation. If this doesn't happen automatically, editing the file science/shtools/Portfile in the macports-ports repo and change the following:
  • Change the version number in github.setup.
  • Update the sha256, rmd160 and file size of the release asset.
  • Commit and push changes.

Update conda-forge

  • Go to pyshtools-feedstock and check that the recipe/meta.yaml file has been updated and that an automatic pull request has been generated by the conda-forge bot.

Post release

  • Build a new Binder image by running one of the tutorials.
  • Advertise on Mastodon and Matrix.
@MarkWieczorek
Copy link
Member Author

Not working:

Conda builds for windows and linux (ARM64). https://github.com/conda-forge/pyshtools-feedstock

@MarkWieczorek
Copy link
Member Author

MarkWieczorek commented Jul 10, 2024

Also, for some reason this doesn't install on binder.

Step 39/50 : RUN TIMEFORMAT='time: %3R' bash -c 'time ${MAMBA_EXE} env update -p ${NB_PYTHON_PREFIX} --file "binder/environment.yml" && time ${MAMBA_EXE} clean --all -f -y && ${MAMBA_EXE} list -p ${NB_PYTHON_PREFIX} '
 ---> Running in 9250e60933e9
Channels:
 - conda-forge
 - defaults
Platform: linux-64
Collecting package metadata (repodata.json): ...working... done
Solving environment: ...working... �[91mbash: line 1:     8 Killed                  ${MAMBA_EXE} env update -p ${NB_PYTHON_PREFIX} --file "binder/environment.yml"
time: 50.783
�[0m ---> Removed intermediate container 9250e60933e9
The command '/bin/sh -c TIMEFORMAT='time: %3R' bash -c 'time ${MAMBA_EXE} env update -p ${NB_PYTHON_PREFIX} --file "binder/environment.yml" && time ${MAMBA_EXE} clean --all -f -y && ${MAMBA_EXE} list -p ${NB_PYTHON_PREFIX} '' returned a non-zero code: 137Error in event stream: Error

The environment.yml file is

name: pyshtools
channels:
    - conda-forge
dependencies:
    - python=3.12
    - pyshtools>=4.13.0
    - palettable>=3.3

I also downgraded python to 3.11, but get the same error.

@MarkWieczorek MarkWieczorek pinned this issue Jul 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant