Virtual environment rebrand - readme updates (#6006)

* Create release-preview.md

* Update release-preview.md

* Update release-preview.md

* Update release-preview.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* update support policy wording

* Update README.md

* Preparing for upstream PR

deleted a test file I made

* fixing some linting errors

* Update README.md

* Apply suggestions from code review

Co-authored-by: Mikhail Timofeev <48208649+miketimofeev@users.noreply.github.com>

* Updating per PR suggestions

* Delete software-and-images-guidelines.md

* Updates per Steve's suggestion

* Update README.md

* Apply suggestions from code review

Co-authored-by: Sam Tran <samvantran@github.com>

* Update README.md

* Revert "Update README.md"

This reverts commit 9ff7d224e3.

* docs: fix markdownlint errors

Co-authored-by: Mikhail Timofeev <48208649+miketimofeev@users.noreply.github.com>
Co-authored-by: Sam Tran <samvantran@github.com>
This commit is contained in:
Larissa Fortuna
2022-08-08 08:25:58 -07:00
committed by GitHub
parent bf34dfb00a
commit ce8db94ed2
2 changed files with 161 additions and 83 deletions

View File

@@ -1,38 +0,0 @@
# Software and image guidelines
## Software preinstallation policy
In general, these are the guidelines we consider when deciding what to pre-install:
- Tools and ecosystems that are broadly popular and widely-used will be given priority.
- Recent versions of tools will be given priority over older versions.
- Tools and versions that are deprecated or have reached end-of-life will not be added.
- If a tool can be installed during the build, we will evaluate how much time is saved
and how much space is used by having the tool pre-installed.
- MIT, Apache, and GNU licenses are ok, anything else we'll have to check with lawyers.
- If a tool takes much space we will evaluate space usage and provide a decision if this tool can be pre-installed.
- If a tool requires the support of more than one version, we will consider the cost of this maintenance, how often new versions bring dangerous updates.
**Note:** For new tools, please, create an issue and get an approval from us to add this tool to the image before creating the pull request.
## Software and images support policy
These are the guidelines we follow in software and images supporting routine:
- Tools and versions will typically be removed 6 months after they are deprecated or have reached end-of-life.
- We support at least 2 latest OS versions. We begin the deprecation process of the oldest image label once a new OS version has been released.
- The images generally contain the latest versions of packages installed except for Ubuntu LTS where we rely on the Canonical-provided repositories mostly.
- Popular tools can have several versions installed side-by-side with the following strategy:
| Tool name | Installation strategy |
|-----------|-----------------------|
| Docker images | not more than 3 latest LTS OS\tool versions. New images or new versions of current images are added using the standard tool request process |
| Java | all LTS versions |
| Node.js | 3 latest LTS versions |
| Go | 3 latest minor versions |
| Python <br/> Ruby | 5 most popular `major.minor` versions |
| PyPy | 3 most popular `major.minor` versions |
| .NET Core | 2 latest LTS versions and 1 latest version. For each feature version only latest patch is installed |
| GCC <br/> GNU Fortran <br/> Clang <br/> GNU C++ | 3 latest major versions |
| Android NDK | 1 latest non-LTS, 2 latest LTS versions |
| Xcode | - all OS compatible versions side-by-side <br/> - for beta, GM versions - latest beta only <br/> - old patch versions are deprecated in 3 months |
## Software default versions update policy for tools with multiple versions installed
In general, once a new version is installed on the image, we announce the default version update 2 weeks prior to deploying it to give time to adapt to upcoming changes. For potentially dangerous updates, we can extend the timeline up to 1 month between the announcement and deployment.