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

Fix release workflow and prepare 3.10.0 release #957

Merged
merged 14 commits into from
Oct 3, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions .github/PULL_REQUEST_TEMPLATE/release.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,19 @@ Prepare for release of HDMF [version]

### Before merging:
- [ ] Major and minor releases: Update package versions in `requirements.txt`, `requirements-dev.txt`,
`requirements-doc.txt`, `requirements-min.txt`, `requirements-opt.txt`, `environment-ros3.yml`, and `setup.py` as needed
`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
- [ ] Check legal file dates and information in `Legal.txt`, `license.txt`, `README.rst`, `docs/source/conf.py`,
and any other locations as needed
- [ ] Update `setup.py` as needed
- [ ] Update `pyproject.toml` as needed
- [ ] Update `README.rst` as needed
- [ ] Update `src/hdmf/common/hdmf-common-schema` submodule as needed. Check the version number and commit SHA manually
- [ ] Update changelog (set release date) in `CHANGELOG.md` and any other docs as needed
- [ ] Run tests locally including gallery tests, and inspect all warnings and outputs
(`pytest && python test_gallery.py`)
- [ ] Run PyNWB tests locally including gallery and validation tests, and inspect all warnings and outputs
(`cd pynwb; python test.py -v > out.txt 2>&1`)
- [ ] Test docs locally by going into the `docs` directory and running the following: `make clean && make html`
- [ ] Test docs locally and inspect all warnings and outputs `cd docs; make clean && make html`
- [ ] Push changes to this PR and make sure all PRs to be included in this release have been merged
- [ ] Check that the readthedocs build for this PR succeeds (build latest to pull the new branch, then activate and
build docs for new branch): https://readthedocs.org/projects/hdmf/builds/
Expand Down
10 changes: 9 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# HDMF Changelog

## HDMF 3.10.0 (October 3, 2023)

Since version 3.9.1 should have been released as 3.10.0 but failed to release on PyPI and conda-forge, this release
will increase the minor version number to 3.10.0. See the 3.9.1 release notes below for new features.

### Bug fixes
- Fixed issue with testing and deployment of releases. @rly [#957](https://github.com/hdmf-dev/hdmf/pull/957)

## HDMF 3.9.1 (September 29, 2023)

### Enhancements
Expand All @@ -20,7 +28,7 @@
- Updated `add_ref_termset` to add all instances of `TermSet` within a given root container. @mavaylon1 [#935](https://github.com/hdmf-dev/hdmf/pull/935)
- Added Dynamic Enumerations and Schemasheets support to `TermSet`. @mavaylon1 [#923](https://github.com/hdmf-dev/hdmf/pull/923)
- Updated `HERD` to support user defined file name for the `HERD` zip file. @mavaylon1 [#941](https://github.com/hdmf-dev/hdmf/pull/941)
- Added method `Containter.set_data_io`, which wraps an existing data field in a `DataIO`. @bendichter [#938](https://github.com/hdmf-dev/hdmf/pull/938)
- Added method `Container.set_data_io`, which wraps an existing data field in a `DataIO`. @bendichter [#938](https://github.com/hdmf-dev/hdmf/pull/938)

## HDMF 3.8.1 (July 25, 2023)

Expand Down
2 changes: 1 addition & 1 deletion docs/CONTRIBUTING.rst
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ Style Guides
Python Code Style Guide
^^^^^^^^^^^^^^^^^^^^^^^

Before you create a Pull Request, make sure you are following the PEP8_ style guide. .
Before you create a Pull Request, make sure you are following the HDMF style guide.
To check whether your code conforms to the HDMF style guide, simply run the ruff_ tool in the project's root
directory. ``ruff`` will also sort imports automatically and check against additional code style rules.

Expand Down
12 changes: 6 additions & 6 deletions environment-ros3.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ channels:
- defaults
dependencies:
- python==3.11
- h5py==3.8.0
- matplotlib==3.7.1
- numpy==1.24.3
- pandas==2.0.1
- h5py==3.9.0
- matplotlib==3.8.0
- numpy==1.26.0
- pandas==2.1.1
- python-dateutil==2.8.2
- pytest==7.3.1
- pytest-cov==4.0.0
- pytest==7.4.2
- pytest-cov==4.1.0
- setuptools
16 changes: 8 additions & 8 deletions requirements-dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
# compute coverage, and create test environments. note that depending on the version of python installed, different
# versions of requirements may be installed due to package incompatibilities.
#
black==23.3.0
codespell==2.2.4
coverage==7.2.5
pre-commit==3.3.1
pytest==7.3.1
pytest-cov==4.0.0
black==23.9.1
codespell==2.2.6
coverage==7.3.2
pre-commit==3.4.0
pytest==7.4.2
pytest-cov==4.1.0
python-dateutil==2.8.2
ruff==0.0.265
tox==4.5.1
ruff==0.0.292
tox==4.11.3
11 changes: 6 additions & 5 deletions requirements-opt.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
# pinned dependencies that are optional. used to reproduce an entire development environment to use HDMF
tqdm==4.65.0
zarr==2.14.2
linkml-runtime==1.5.5; python_version >= "3.9"
schemasheets==0.1.23; python_version >= "3.9"
oaklib==0.5.12; python_version >= "3.9"
tqdm==4.66.1
zarr==2.16.1
linkml-runtime==1.6.0; python_version >= "3.9"
schemasheets==0.1.24; python_version >= "3.9"
oaklib==0.5.20; python_version >= "3.9"
pydantic==1.10.13 # linkml-runtime 1.6.0 and related packages require pydantic<2
pyyaml==6.0.1; python_version >= "3.9"
10 changes: 5 additions & 5 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# pinned dependencies to reproduce an entire development environment to use HDMF
h5py==3.9.0
importlib-resources==6.0.0; python_version < "3.9" # TODO: remove when minimum python version is 3.9
jsonschema==4.18.4
numpy==1.25.1
pandas==2.0.3
ruamel.yaml==0.17.32
scipy==1.11.1
jsonschema==4.19.1
numpy==1.26.0
pandas==2.1.1
ruamel.yaml==0.17.33
scipy==1.11.3
9 changes: 9 additions & 0 deletions test_gallery.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ def _import_from_file(script):
"and is not guaranteed to maintain backward compatibility"
)

pydantic_warning_re = ("Support for class-based `config` is deprecated, use ConfigDict instead.")


def run_gallery_tests():
global TOTAL, FAILURES, ERRORS
Expand Down Expand Up @@ -70,6 +72,13 @@ def run_gallery_tests():
message=_numpy_warning_re,
category=RuntimeWarning,
)
warnings.filterwarnings(
# this warning is triggered when some linkml dependency like curies uses pydantic in a way that
# will be deprecated in the future
"ignore",
message=pydantic_warning_re,
category=DeprecationWarning,
)
_import_from_file(script)
except (ImportError, ValueError) as e:
if "linkml" in str(e) and sys.version_info < (3, 9):
Expand Down
Loading
Loading