From 88cf6a6b2c353b67fb8e0b58350c94f4b4c2d3ca Mon Sep 17 00:00:00 2001 From: Chris Holdgraf Date: Fri, 5 Nov 2021 14:21:01 -0700 Subject: [PATCH 1/2] Add supported versions section. --- CONTRIBUTING.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5318b89..7257f27 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -18,6 +18,7 @@ Thank you for you interest in contributing ✨ - [Structure of EBP Repositories](#structure-of-ebp-repositories) - [Design Philosophy](#design-philosophy) - [Coding Style](#coding-style) + - [Supported Versions](#supported-versions) - [Naming Conventions](#naming-conventions) - [Testing](#testing) - [Documentation](#documentation) @@ -102,6 +103,33 @@ be followed perfectly all the time. Here are a few of those principles: Coding style is largely enforced automatically, using [pre-commit hooks](https://pre-commit.com/). For Python packages, the pre-commit should include automated code formatting *via* [Black](https://black.readthedocs.io/) and code linting *via* [flake8](https://flake8.pycqa.org). +(dev/supported_versions)= +## Supported Versions + +Below are guidelines for the versions we support for a few key dependencies across our projects. + +### General strategy + +We want to follow these principles in deciding which versions to support, and how to test against them: + +- Support any major versions that are realistically used by a significant number of users. +- Avoid ballooning our test matrices so that CI/CD becomes cumbersome for development. +- Allow ourselves at least 6 months of buffer to support new versions after they are released. + +### Python + +We support **all `3.X` releases that Python also supports**. +We follow the [Python End of Life dates](https://devguide.python.org/#status-of-python-branches) to determine which versions versions this means. + +Our test suites should test against the following Python versions: + +- The oldest supported version +- The latest two versions older than 6 months + +### Sphinx + +We support and test the **latest two major-version releases of Sphinx** that are older than 6 months. + (dev/naming_conventions)= ## Naming Conventions From 7d8bfa3a19cc506735a4229666db7a7eff5f0411 Mon Sep 17 00:00:00 2001 From: Chris Holdgraf Date: Fri, 5 Nov 2021 14:32:59 -0700 Subject: [PATCH 2/2] Update CONTRIBUTING.md --- CONTRIBUTING.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9219ef5..aa0211a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -116,6 +116,9 @@ We want to follow these principles in deciding which versions to support, and ho - Support any major versions that are realistically used by a significant number of users. - Avoid ballooning our test matrices so that CI/CD becomes cumbersome for development. - Allow ourselves at least 6 months of buffer to support new versions after they are released. +- When a new version is released, create a pull request that adds the version to our test matrix, to identify which tests will fail. + Over the next 6 months, periodically update the branch from `main` and see if changes have fixed the tests. + When they all pass, merge the PR. ### Python