From dc2bf2fb55d69cd2173839b5414942e87654d1ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Doma=C5=84ski?= Date: Tue, 22 Aug 2023 14:29:05 +0200 Subject: [PATCH 1/4] dev: comment and cleanup environment.yml (#295) * dev: comment and cleanup environment.yml * review: comments by Irfan * review: comments from Lily * Update environment.yml Co-authored-by: Lily Wang <31115101+lilyminium@users.noreply.github.com> * Update environment.yml Co-authored-by: Lily Wang <31115101+lilyminium@users.noreply.github.com> * review: comments from Lily * update environment.yml * Update environment.yml Co-authored-by: Irfan Alibay * Update environment.yml Co-authored-by: Irfan Alibay * Update environment.yml Co-authored-by: Irfan Alibay * Update environment.yml Co-authored-by: Irfan Alibay --------- Co-authored-by: Lily Wang <31115101+lilyminium@users.noreply.github.com> Co-authored-by: Irfan Alibay --- environment.yml | 70 ++++++++++++++++++++++++------------------------- 1 file changed, 34 insertions(+), 36 deletions(-) diff --git a/environment.yml b/environment.yml index 0807ae729..927d92ebc 100644 --- a/environment.yml +++ b/environment.yml @@ -5,57 +5,55 @@ channels: - plotly - defaults dependencies: - - cython - - distributed==2021.1.0 - - dask==2021.1.0 - - python-graphviz - - pytest - - decorator + # mdanalysis dependencies + - openmm>=7.0.0 + - parmed + - scikit-learn>=1.1.2 + - pyedr>=0.7 + # building documentation - docutils - - graphviz - - ipywidgets<8.0.0 + - pandoc + - pybtex + - sphinx + - sphinxcontrib-bibtex + - tabulate + # extensions - ipython - - ipygany - - jedi - - jinja2 + - ipywidgets<8.0.0 - jupyter_contrib_nbextensions - - matplotlib - - nbclient - - nbconvert + - nbconvert # not called by any notebook explicitly but to download notebooks, or in nbsphinx - nbformat - nbsphinx - - networkx - - nglview - - notebook - - numpy - - packaging - - parmed - - parso - - pip + - notebook<7 + # used for visualising/plotting + - graphviz + - ipygany - plotly - - pybtex - - python=3.9 + - python-graphviz - pyvista - scikit-image - - scikit-learn>=1.1.2 - - sphinx - - sphinxcontrib-bibtex - - threadpoolctl - - tabulate - - widgetsnbextension - - ipycytoscape>=1.3.0 - seaborn>=0.12.1 - - openmm>=7.0.0 - - pandoc + # parallelization + - distributed==2021.1.0 + - dask==2021.1.0 + # used for visualising/making movies of molecules; + - nglview - moviepy - - ipyvtklink + # used for notebook testing + - pytest + - python=3.9 + - pip - pip: - - sphinx_rtd_theme + # docs themes - msmb_theme + - sphinx_rtd_theme + # extensions - sphinx-sitemap + # used for notebook testing - nbval + # developer tooling - pre-commit - - pyedr>=0.7 + # mdanalysis and its tests and test data - git+https://github.com/MDAnalysis/mdanalysis@develop#egg=mdanalysis&subdirectory=package - git+https://github.com/MDAnalysis/mdanalysis@develop#egg=MDAnalysisTests&subdirectory=testsuite - git+https://github.com/MDAnalysis/MDAnalysisData@master#egg=MDAnalysisData From 4522802e4de46fa94f206d559ac20aae53137c0b Mon Sep 17 00:00:00 2001 From: Irfan Alibay Date: Wed, 30 Aug 2023 09:17:55 +0100 Subject: [PATCH 2/4] Pin docutils for now (#304) --- environment.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/environment.yml b/environment.yml index 927d92ebc..4321d58b3 100644 --- a/environment.yml +++ b/environment.yml @@ -11,7 +11,7 @@ dependencies: - scikit-learn>=1.1.2 - pyedr>=0.7 # building documentation - - docutils + - docutils<0.18 - pandoc - pybtex - sphinx From 2b3ccad022296dae545cdfe536129419034af39d Mon Sep 17 00:00:00 2001 From: Irfan Alibay Date: Wed, 30 Aug 2023 10:20:32 +0100 Subject: [PATCH 3/4] Add docs for Cirrus wheels and making a UserGuide release (#303) * Add docs for Cirrus wheels and making a UserGuide release Co-authored-by: Lily Wang <31115101+lilyminium@users.noreply.github.com> --- .../preparing_releases_and_hotfixes.rst | 29 +++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/doc/source/preparing_releases_and_hotfixes.rst b/doc/source/preparing_releases_and_hotfixes.rst index 17fe36dfa..b4b24f962 100644 --- a/doc/source/preparing_releases_and_hotfixes.rst +++ b/doc/source/preparing_releases_and_hotfixes.rst @@ -147,15 +147,15 @@ If everything works, you can now complete the release by: Manually upload Cirrus CI wheels (temporary) -------------------------------------------- +Unfortunately the deployment of Cirrus CI generated wheels (for `osx-arm64` and `linux-aarch64`) does not get properly triggered by a release. However, they are properly uploaded to `TestPyPi`_ -.. todo:: actually add some examples & links of how to do this.` +#. Go to the recently updated TestPyPi release and download all the `.whl` files which have the tags `arm64` and `aarch64`. +#. From a local directory upload these wheels using ``twine``. -Unfortunately the deployment of Cirrus CI generated wheels (for `osx-arm64` and `linux-aarch64`) does not get properly triggered by a release. - -#. Go to the ``package-*`` tag triggered Cirrus CI run results and download the generated wheels. + .. code-block:: bash -#. Upload them to PyPi using ``twine``. + twine upload -r pypi *.whl --verbose Update `conda-forge` packages @@ -171,6 +171,20 @@ To do this you will need to: #. Ask the conda-forge bot to re-render, check that CI returns green, approve and merge the pull request. +Create a release of the UserGuide +--------------------------------- + +For now, the UserGuide is released at the same time as the core library. To make a release of the UserGuide you should: + +#. Create a new release tag and upload them for the UserGuide repository. + + .. code-block:: bash + + git tag -m 'release 2.6.1 of the MDAnalysis UserGuide' release-2.6.1 + git push --tags origin + +#. This will automatically trigger a Github Action to build a new set of docs for that release and upload them. Due to the large size of the ``gh-pages`` branch on the UserGuide, this can be both slow and flaky, make sure to keep an eye out for any potential failures. + Create a blog post outlining the release ---------------------------------------- @@ -193,7 +207,9 @@ Once the release is completed you can go ahead and update the ``develop`` branch Clean up old developer builds of the documentation -------------------------------------------------- -Whilst new docs are automatically deployed on a release, old developer builds (appended with ``-dev``) are not automatically cleaned up. To avoid causing large amounts of files being uploaded to GitHub Pages, we need to delete these old developer builds manually. To do this switch to the ``gh-pages`` branch, delete these old files, and push the change directly. +Whilst new docs are automatically deployed on a release, old developer builds (appended with ``-dev``) are not automatically cleaned up. To avoid causing large amounts of files being uploaded to GitHub Pages, we need to delete these old developer builds manually. To do this switch to the ``gh-pages`` branch, delete these old files, and push the change directly. You should do this for both the core library and the UserGuide. + +While this is still a manual procedure, you should also edit `versions.json` to remove the old dev links. .. _`developer mailing list`: https://groups.google.com/forum/#!forum/mdnalysis-devel @@ -201,3 +217,4 @@ Whilst new docs are automatically deployed on a release, old developer builds (a .. _`MDAnalysis feedstock`: https://github.com/conda-forge/mdanalysis-feedstock .. _`MDAnalysisTests feedstock`: https://github.com/conda-forge/mdanalysistests-feedstock .. _`stable branch of the docs page`: https://docs.mdanalysis.org/stable +.. _`TestPyPi`: https://test.pypi.org/project/MDAnalysis/ From 0ea2f36c4483f0f7ffa2ee61ffa7b20a68b7ff95 Mon Sep 17 00:00:00 2001 From: Irfan Alibay Date: Thu, 31 Aug 2023 01:21:31 +0100 Subject: [PATCH 4/4] Add RTD preview action (#305) --- .github/workflows/rtd.yaml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 .github/workflows/rtd.yaml diff --git a/.github/workflows/rtd.yaml b/.github/workflows/rtd.yaml new file mode 100644 index 000000000..337f8e6b1 --- /dev/null +++ b/.github/workflows/rtd.yaml @@ -0,0 +1,19 @@ +name: readthedocs/preview + +on: + pull_request_target: + types: [opened] + branches: + - develop + +jobs: + rtdpreview: + if: "github.repository == 'MDAnalysis/UserGuide'" + runs-on: ubuntu-latest + timeout-minutes: 5 + permissions: + pull-requests: write + steps: + - uses: readthedocs/actions/preview@v1 + with: + project-slug: "mdanalysis"