Просмотр исходного кода

Closes #5923: Include depdency upgrades as part of standard release process

Jeremy Stretch 5 лет назад
Родитель
Сommit
5b5110acbf
1 измененных файлов с 23 добавлено и 17 удалено
  1. 23 17
      docs/development/release-checklist.md

+ 23 - 17
docs/development/release-checklist.md

@@ -2,24 +2,9 @@
 
 ## Minor Version Bumps
 
-### Update Requirements
-
-Required Python packages are maintained in two files. `base_requirements.txt` contains a list of all the packages required by NetBox. Some of them may be pinned to a specific version of the package due to a known issue. For example:
-
-```
-# https://github.com/encode/django-rest-framework/issues/6053
-djangorestframework==3.8.1
-```
-
-The other file is `requirements.txt`, which lists each of the required packages pinned to its current stable version. When NetBox is installed, the Python environment is configured to match this file. This helps ensure that a new release of a dependency doesn't break NetBox.
+### Address Pinned Dependencies
 
-Every minor version release should refresh `requirements.txt` so that it lists the most recent stable release of each package. To do this:
-
-1. Create a new virtual environment.
-2. Install the latest version of all required packages `pip install -U -r base_requirements.txt`).
-3. Run all tests and check that the UI and API function as expected.
-4. Review each requirement's release notes for any breaking or otherwise noteworthy changes.
-5. Update the package versions in `requirements.txt` as appropriate.
+Check `base_requirements.txt` for any dependencies pinned to a specific version, and upgrade them to their most stable release (where possible).
 
 ### Update Static Libraries
 
@@ -58,6 +43,27 @@ Submit a pull request to merge the `feature` branch into the `develop` branch in
 
 ## All Releases
 
+### Update Requirements
+
+Required Python packages are maintained in two files. `base_requirements.txt` contains a list of all the packages required by NetBox. Some of them may be pinned to a specific version of the package due to a known issue. For example:
+
+```
+# https://github.com/encode/django-rest-framework/issues/6053
+djangorestframework==3.8.1
+```
+
+The other file is `requirements.txt`, which lists each of the required packages pinned to its current stable version. When NetBox is installed, the Python environment is configured to match this file. This helps ensure that a new release of a dependency doesn't break NetBox.
+
+Every release should refresh `requirements.txt` so that it lists the most recent stable release of each package. To do this:
+
+1. Create a new virtual environment.
+2. Install the latest version of all required packages `pip install -U -r base_requirements.txt`).
+3. Run all tests and check that the UI and API function as expected.
+4. Review each requirement's release notes for any breaking or otherwise noteworthy changes.
+5. Update the package versions in `requirements.txt` as appropriate.
+
+In cases where upgrading a dependency to its most recent release is breaking, it should be pinned to its current minor version in `base_requirements.txt` (with an explanatory comment) and revisited for the next major NetBox release.
+
 ### Verify CI Build Status
 
 Ensure that continuous integration testing on the `develop` branch is completing successfully.