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

Prepare release 3.0 #2015

Draft
wants to merge 6 commits into
base: dev
Choose a base branch
from
Draft

Prepare release 3.0 #2015

wants to merge 6 commits into from

Conversation

stephprince
Copy link
Contributor

@stephprince stephprince commented Dec 23, 2024

Prepare for release of PyNWB 3.0

TODO

  • merge all PRs with breaking changes into this branch
  • make pre-release 3.0.0rc1 on GitHub and PyPi for downstream testing

Before merging:

  • Make sure all PRs to be included in this release have been merged to dev.
  • Major and minor releases: Update package versions in requirements.txt, requirements-dev.txt,
    requirements-doc.txt, requirements-opt.txt, and environment-ros3.yml to the latest versions,
    and update dependency ranges in pyproject.toml and minimums in requirements-min.txt as needed.
    Run pip install pur && pur -r requirements-dev.txt -r requirements.txt -r requirements-opt.txt
    and manually update environment-ros3.yml.
  • Check legal file dates and information in Legal.txt, license.txt, README.rst, docs/source/conf.py,
    and any other locations as needed
  • Update pyproject.toml as needed
  • Update README.rst as needed
  • Update src/pynwb/nwb-schema submodule as needed. Check the version number and commit SHA
    manually. Make sure we are using the latest release and not the latest commit on the main branch.
  • Update changelog (set release date) in CHANGELOG.md and any other docs as needed
  • Run tests locally including gallery, validation, and streaming tests, and inspect all warnings and outputs
    (python test.py -v -p -i -b -w -r > out.txt 2>&1). Try to remove all warnings.
  • Test docs locally and inspect all warnings and outputs cd docs; make clean && make html
  • After pushing this branch to GitHub, manually trigger the "Run all tests" GitHub Actions workflow on this
    branch by going to https://github.com/NeurodataWithoutBorders/pynwb/actions/workflows/run_all_tests.yml, selecting
    "Run workflow" on the right, selecting this branch, and clicking "Run workflow". Make sure all tests pass.
  • Check that the readthedocs build for this PR succeeds (see the PR check)

After merging:

  1. Create release by following steps in docs/source/make_a_release.rst or use alias git pypi-release [tag] if set up
  2. After the CI bot creates the new release (wait ~10 min), update the release notes on the
    GitHub releases page with the changelog
  3. Check that the readthedocs "stable" build runs and succeeds
  4. Either monitor conda-forge/pynwb-feedstock for the
    regro-cf-autotick-bot bot to create a PR updating the version of HDMF to the latest PyPI release, usually within
    24 hours of release, or manually create a PR updating recipe/meta.yaml with the latest version number
    and SHA256 retrieved from PyPI > PyNWB > Download Files > View hashes for the .tar.gz file. Re-render and update
    dependencies as needed.

Copy link

codecov bot commented Dec 23, 2024

Codecov Report

Attention: Patch coverage is 97.14286% with 6 lines in your changes missing coverage. Please review.

Project coverage is 92.69%. Comparing base (80fc386) to head (f02e61b).

Files with missing lines Patch % Lines
src/pynwb/__init__.py 78.57% 2 Missing and 1 partial ⚠️
src/pynwb/file.py 89.47% 1 Missing and 1 partial ⚠️
src/pynwb/validation.py 98.55% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##              dev    #2015      +/-   ##
==========================================
+ Coverage   91.69%   92.69%   +1.00%     
==========================================
  Files          27       28       +1     
  Lines        2708     2710       +2     
  Branches      707      709       +2     
==========================================
+ Hits         2483     2512      +29     
+ Misses        149      128      -21     
+ Partials       76       70       -6     
Flag Coverage Δ
integration 73.35% <79.52%> (+0.53%) ⬆️
unit 83.13% <66.19%> (+0.49%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

stephprince and others added 2 commits December 23, 2024 13:18
* update deprecated classes and methods

* update deprecation warnings

* update tests for deprecated classes and functions

* fix warnings and formatting

* add scratch tests and deprecations

* keep function behavior for deprecation warnings

* update CHANGELOG.md

* add tests for deprecations

* update scratch tutorial

* skip deprecated gallery examples

* update CHANGELOG.md

* remove old icephys tutorial

* add pynwb 4.0 deprecation info

* add error on new pass on construct method

* remove warnings on construct for deprecations

* fix formatting

* update hdmf-zarr url

* Apply suggestions from code review

Co-authored-by: Ryan Ly <[email protected]>

* Update src/pynwb/core.py

Co-authored-by: Ryan Ly <[email protected]>

* add code review suggestions

* add catch for extra warning

* remove unused variable

---------

Co-authored-by: Ryan Ly <[email protected]>
* reconcile io path validator differences

* make io and path output the same

* update tests for io validation

* add test that io and path output is same

* update tests for io output with status

* add validate helper function and fix status tracking

* update arguments and status checks

* fix test comparing io and path outputs

* update error message for io inputs

* add tests to compare all io and path outputs

* remove script for testing

* add initial json export option

* update validator inputs and outputs, remove hdf5io references

* update tests for non status output

* add tests for json validator output

* move pynwb.validate into validation module

* update json report

* add validation entry point

* separate cli and validation function files

* update validation tutorial

* move get_backend to pynwb init

* update example validation for new io behavior

* update ruff ignores

* fix test comments

* update CHANGELOG

* add tests for _get_backend

* update backend imports for optional zarr

* fix test name

* update test filename

* close io after validation

* fix test assertion

* add condition for ros3 validation

* Update CHANGELOG.md

* Apply suggestions from code review

Co-authored-by: Ryan Ly <[email protected]>

* update cli args and docs

* fix formatting

* update json-file-path argname

* update extension tutorial

* Apply suggestions from code review

Co-authored-by: Ryan Ly <[email protected]>

* warn for positional args in validation

---------

Co-authored-by: Ryan Ly <[email protected]>
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

Successfully merging this pull request may close these issues.

1 participant