Skip to content

Commit

Permalink
Fix release workflow and prepare 3.10.0 release (#957)
Browse files Browse the repository at this point in the history
  • Loading branch information
rly authored Oct 3, 2023
1 parent 4377095 commit 0c605a2
Show file tree
Hide file tree
Showing 11 changed files with 55 additions and 2,106 deletions.
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

0 comments on commit 0c605a2

Please sign in to comment.