From 846e6f3b2b1c6fb6a855beff34e7ce83d47c279a Mon Sep 17 00:00:00 2001 From: Heberto Mayorquin Date: Fri, 21 Mar 2025 09:17:52 -0600 Subject: [PATCH 01/11] how to make a release notes --- doc/development/development.rst | 34 +++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/doc/development/development.rst b/doc/development/development.rst index 7e6cbc059f..5cb799746b 100644 --- a/doc/development/development.rst +++ b/doc/development/development.rst @@ -397,3 +397,37 @@ After this you need to add a block in `Install Sorters + +Where the start date is the date of the last release and the end date is the current date. + +The date of the last release can be found from PyPI. From fd71055198d43337db617ae51671a8446e146711 Mon Sep 17 00:00:00 2001 From: Heberto Mayorquin Date: Fri, 21 Mar 2025 12:14:48 -0600 Subject: [PATCH 02/11] Update doc/development/development.rst Co-authored-by: Zach McKenzie <92116279+zm711@users.noreply.github.com> --- doc/development/development.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/development/development.rst b/doc/development/development.rst index 5cb799746b..71413a34ae 100644 --- a/doc/development/development.rst +++ b/doc/development/development.rst @@ -430,4 +430,4 @@ The signature of the script is: Where the start date is the date of the last release and the end date is the current date. -The date of the last release can be found from PyPI. +The date of the last release can be found on PyPI. From e713e3b6fa2779a53610f4f2fc6de4f5b5b9de8e Mon Sep 17 00:00:00 2001 From: Heberto Mayorquin Date: Fri, 21 Mar 2025 12:15:01 -0600 Subject: [PATCH 03/11] Update doc/development/development.rst Co-authored-by: Zach McKenzie <92116279+zm711@users.noreply.github.com> --- doc/development/development.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/development/development.rst b/doc/development/development.rst index 71413a34ae..b905e45ff5 100644 --- a/doc/development/development.rst +++ b/doc/development/development.rst @@ -405,7 +405,7 @@ How to make a release Checklist ^^^^^^^^^ -* Pyproject: check that the version is ahead of currently release. Also, comment out the @ (git dependencies) +* pyproject.toml: check that the version is ahead of currently release. Also, comment out the @ (git dependencies) * In the top level ``__init__`` uncomment ``DEV_MODE`` (this is used for the docker installations) * Create a new release note for the appropriate version on doc/releases/new_version_tag. From 197be1d1f9d6226cbe64200863a5225d0b510768 Mon Sep 17 00:00:00 2001 From: Heberto Mayorquin Date: Mon, 24 Mar 2025 10:17:24 -0600 Subject: [PATCH 04/11] Apply suggestions from code review Co-authored-by: Chris Halcrow <57948917+chrishalcrow@users.noreply.github.com> --- doc/development/development.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/development/development.rst b/doc/development/development.rst index b905e45ff5..ec4d380c75 100644 --- a/doc/development/development.rst +++ b/doc/development/development.rst @@ -405,11 +405,12 @@ How to make a release Checklist ^^^^^^^^^ -* pyproject.toml: check that the version is ahead of currently release. Also, comment out the @ (git dependencies) +* pyproject.toml: check that the version is ahead of current release. Also, comment out the @ (git dependencies) * In the top level ``__init__`` uncomment ``DEV_MODE`` (this is used for the docker installations) * Create a new release note for the appropriate version on doc/releases/new_version_tag. There can be large releases like: + ``doc/releases/0.101.0.rst`` Which contain a section called "Main Changes" and minor releases which include only bug fixes like: @@ -420,7 +421,7 @@ To collect all the PRs and bug fixes we have a script in: ``doc/scripts/`` called ``auto-release-notes.sh``. Run it with ``bash auto-release-notes.sh`` and it will create the release notes for the module specific changes. -To run the script you will need to authorize to GitHub for the first time. +The first time you run the script, GitHub will guide you through an authorization process if you've not already done so. The signature of the script is: From bf7f079847e7b6450c71b89e312c8456fce89865 Mon Sep 17 00:00:00 2001 From: Heberto Mayorquin Date: Mon, 24 Mar 2025 10:23:07 -0600 Subject: [PATCH 05/11] comments --- doc/development/development.rst | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/doc/development/development.rst b/doc/development/development.rst index ec4d380c75..7376ab0b1a 100644 --- a/doc/development/development.rst +++ b/doc/development/development.rst @@ -13,7 +13,7 @@ There are various ways to contribute to SpikeInterface as a user or developer. S * Crafting tutorials for common workflows (e.g., spike sorting, post-processing, etc.). * Writing unit tests to expand code coverage and use case scenarios. * Reporting bugs and issues. - +o We use a forking workflow ``_ to manage contributions. Here's a summary of the steps involved, with more details available in the provided link: * Fork the SpikeInterface repository. @@ -406,7 +406,7 @@ How to make a release Checklist ^^^^^^^^^ * pyproject.toml: check that the version is ahead of current release. Also, comment out the @ (git dependencies) -* In the top level ``__init__`` uncomment ``DEV_MODE`` (this is used for the docker installations) +* In the top level ``__init__`` (located on ``src/spikeinterface/__init__.py``) uncomment ``DEV_MODE`` (this is used for the docker installations) * Create a new release note for the appropriate version on doc/releases/new_version_tag. There can be large releases like: @@ -431,4 +431,10 @@ The signature of the script is: Where the start date is the date of the last release and the end date is the current date. -The date of the last release can be found on PyPI. +The date of the last release can be found on `PyPI `_. + + +As an specific example: +.. code-block:: bash + + bash auto-release-notes.sh 2025-02-19 2025-03-24 From e0d622931a8373568f5134faf808174fe30cbc92 Mon Sep 17 00:00:00 2001 From: Heberto Mayorquin Date: Tue, 1 Apr 2025 06:54:33 -0600 Subject: [PATCH 06/11] Apply suggestions from code review Co-authored-by: Zach McKenzie <92116279+zm711@users.noreply.github.com> --- doc/development/development.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/development/development.rst b/doc/development/development.rst index 7376ab0b1a..fcd931159a 100644 --- a/doc/development/development.rst +++ b/doc/development/development.rst @@ -406,7 +406,7 @@ How to make a release Checklist ^^^^^^^^^ * pyproject.toml: check that the version is ahead of current release. Also, comment out the @ (git dependencies) -* In the top level ``__init__`` (located on ``src/spikeinterface/__init__.py``) uncomment ``DEV_MODE`` (this is used for the docker installations) +* In the top level ``__init__`` (located at ``src/spikeinterface/__init__.py``) uncomment ``DEV_MODE`` (this is used for the docker installations) * Create a new release note for the appropriate version on doc/releases/new_version_tag. There can be large releases like: @@ -434,7 +434,7 @@ Where the start date is the date of the last release and the end date is the cur The date of the last release can be found on `PyPI `_. -As an specific example: +As a specific example: .. code-block:: bash bash auto-release-notes.sh 2025-02-19 2025-03-24 From fc72bf8b295e81fa522d640cd1b99c3c2f9d1e94 Mon Sep 17 00:00:00 2001 From: Heberto Mayorquin Date: Tue, 1 Apr 2025 11:16:44 -0600 Subject: [PATCH 07/11] update release notes --- doc/development/development.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/doc/development/development.rst b/doc/development/development.rst index fcd931159a..155efe6c1e 100644 --- a/doc/development/development.rst +++ b/doc/development/development.rst @@ -438,3 +438,11 @@ As a specific example: .. code-block:: bash bash auto-release-notes.sh 2025-02-19 2025-03-24 + +* Finish the release notes and merge +* Locally tag the main branch with the newly merged release notes with the new version +* Push the tag to the remote repository which will trigger the release action (.github/workflows/publish-to-pypi.yml) +* Do an after-release PR: + - Uncomment the git installs in pyproject + - Modify `DEV_MODE` in the top level ``__init__`` (located at ``src/spikeinterface/__init__.py``) + - Update `pyproject.toml` version one patch ahead or one minor if it is larger one. From bc329193b2833a11be25d924ec15d3d8ae098791 Mon Sep 17 00:00:00 2001 From: Heberto Mayorquin Date: Tue, 1 Apr 2025 11:18:45 -0600 Subject: [PATCH 08/11] typo --- doc/development/development.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/development/development.rst b/doc/development/development.rst index 155efe6c1e..97f367fd79 100644 --- a/doc/development/development.rst +++ b/doc/development/development.rst @@ -13,7 +13,7 @@ There are various ways to contribute to SpikeInterface as a user or developer. S * Crafting tutorials for common workflows (e.g., spike sorting, post-processing, etc.). * Writing unit tests to expand code coverage and use case scenarios. * Reporting bugs and issues. -o + We use a forking workflow ``_ to manage contributions. Here's a summary of the steps involved, with more details available in the provided link: * Fork the SpikeInterface repository. From 9c19a1578fd0f24d3481b86ca171d09f5bb4c34d Mon Sep 17 00:00:00 2001 From: Heberto Mayorquin Date: Wed, 16 Apr 2025 17:02:17 -0300 Subject: [PATCH 09/11] Update doc/development/development.rst --- doc/development/development.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/development/development.rst b/doc/development/development.rst index 97f367fd79..23157706f7 100644 --- a/doc/development/development.rst +++ b/doc/development/development.rst @@ -442,7 +442,7 @@ As a specific example: * Finish the release notes and merge * Locally tag the main branch with the newly merged release notes with the new version * Push the tag to the remote repository which will trigger the release action (.github/workflows/publish-to-pypi.yml) -* Do an after-release PR: +* Do an after-release `PR `_: - Uncomment the git installs in pyproject - Modify `DEV_MODE` in the top level ``__init__`` (located at ``src/spikeinterface/__init__.py``) - Update `pyproject.toml` version one patch ahead or one minor if it is larger one. From 30c23860c0566f94bc013980285e3485153c8e18 Mon Sep 17 00:00:00 2001 From: Heberto Mayorquin Date: Wed, 16 Apr 2025 17:02:27 -0300 Subject: [PATCH 10/11] Update doc/development/development.rst --- doc/development/development.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/development/development.rst b/doc/development/development.rst index 23157706f7..4f36bed6e5 100644 --- a/doc/development/development.rst +++ b/doc/development/development.rst @@ -429,7 +429,7 @@ The signature of the script is: bash auto-release-notes.sh -Where the start date is the date of the last release and the end date is the current date. +Where the start date is the date of the last release and the end date is the current date. Dates are in YYYY-MM-DD format The date of the last release can be found on `PyPI `_. From 06e0814b33d27ea93839a7a86b207ac18ad4c0c5 Mon Sep 17 00:00:00 2001 From: Alessio Buccino Date: Thu, 17 Apr 2025 11:53:19 +0200 Subject: [PATCH 11/11] Apply suggestions from code review --- doc/development/development.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/development/development.rst b/doc/development/development.rst index 4f36bed6e5..e21ced364f 100644 --- a/doc/development/development.rst +++ b/doc/development/development.rst @@ -406,7 +406,7 @@ How to make a release Checklist ^^^^^^^^^ * pyproject.toml: check that the version is ahead of current release. Also, comment out the @ (git dependencies) -* In the top level ``__init__`` (located at ``src/spikeinterface/__init__.py``) uncomment ``DEV_MODE`` (this is used for the docker installations) +* In the top level ``__init__`` (located at ``src/spikeinterface/__init__.py``) set ``DEV_MODE`` to ``False`` (this is used for the docker installations) * Create a new release note for the appropriate version on doc/releases/new_version_tag. There can be large releases like: @@ -444,5 +444,5 @@ As a specific example: * Push the tag to the remote repository which will trigger the release action (.github/workflows/publish-to-pypi.yml) * Do an after-release `PR `_: - Uncomment the git installs in pyproject - - Modify `DEV_MODE` in the top level ``__init__`` (located at ``src/spikeinterface/__init__.py``) + - Set ``DEV_MODE`` to ``True`` in the top level ``__init__`` (located at ``src/spikeinterface/__init__.py``) - Update `pyproject.toml` version one patch ahead or one minor if it is larger one.