mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-14 09:51:22 -06:00
Closes #5923: Include depdency upgrades as part of standard release process
This commit is contained in:
parent
61e5eff666
commit
5b5110acbf
@ -2,24 +2,9 @@
|
|||||||
|
|
||||||
## Minor Version Bumps
|
## Minor Version Bumps
|
||||||
|
|
||||||
### Update Requirements
|
### Address Pinned Dependencies
|
||||||
|
|
||||||
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:
|
Check `base_requirements.txt` for any dependencies pinned to a specific version, and upgrade them to their most stable release (where possible).
|
||||||
|
|
||||||
```
|
|
||||||
# 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 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.
|
|
||||||
|
|
||||||
### Update Static Libraries
|
### Update Static Libraries
|
||||||
|
|
||||||
@ -58,6 +43,27 @@ Submit a pull request to merge the `feature` branch into the `develop` branch in
|
|||||||
|
|
||||||
## All Releases
|
## 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
|
### Verify CI Build Status
|
||||||
|
|
||||||
Ensure that continuous integration testing on the `develop` branch is completing successfully.
|
Ensure that continuous integration testing on the `develop` branch is completing successfully.
|
||||||
|
Loading…
Reference in New Issue
Block a user