Skip to content

Commit 44fb1db

Browse files
committed
[OPTMZT-89]: Update image policies for 2025
1 parent 5f34751 commit 44fb1db

7 files changed

+65
-97
lines changed

jekyll/_cci2/android-images-support-policy.adoc

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@ This document outlines the CircleCI Android image release, update, and deprecati
1818
[#release-policy]
1919
== Release policy
2020

21-
Android images are released once a quarter, with patch releases potentially being made for security issues. These images are generally built on top of the latest version of our most recent stable base Ubuntu image with added packages for Android.
21+
Android images are released once a quarter, with patch releases potentially made for security issues. These images are generally built on top of the latest version of our most recent stable base Ubuntu image with added packages for Android.
2222

2323
- We install the most up-to-date versions of each tool/package in newly built images.
2424
- We aim to package 6 levels of the Android API within each image release.
25-
- As this image is not specifically designed for the Android Gradle Plugin (AGP), some updates may come later than desired. However, we aim to follow compatibility matrices for link:https://docs.gradle.org/current/userguide/compatibility.html[AGP] and link:https://developer.android.com/build/releases/gradle-plugin#updating-gradle[Gradle].
25+
- As this image is not specifically designed for the Android Gradle Plugin (AGP), some updates may come later than desired. We aim to follow compatibility matrices for link:https://docs.gradle.org/current/userguide/compatibility.html[AGP] and link:https://developer.android.com/build/releases/gradle-plugin#updating-gradle[Gradle].
2626

2727
Releases may be skipped if there are no material updates to core Android functionality, such as `sdkmanager`, `ndk` or platform versions.
2828

@@ -37,12 +37,10 @@ For the latest major version of Docker:
3737

3838
- `edge`: These tags are reserved for previews of new releases, which will initially point to this tag. The `edge` tags may include incremental updates to the `current` image release, which may change without notice, and is not recommended to be used for production CI workloads. `current` will be updated with these changes after a period of stability (generally an average of a week).
3939

40-
- Date based tagging: Android images are generally released once every 3 months. The date-based tagging conventions take the format of `<year>.<month>.<patch>`, such as `2023.10.1`. We recommend using the `default` version and not pinning to a date version.
41-
4240
[#critical-cve-patches]
4341
== Critical CVE patches
4442

45-
When critical CVEs are disclosed that affect the versions of the operating system or software stack in our Docker convenience images, we will investigate the impact that this has on our images being used within the CircleCI execution environment. If customers are impacted by these CVEs we will push a patch fix to the released image(s), and this image will supersede the original image.
43+
When critical CVEs are disclosed around the operating system or software stack of this image, we will investigate the impact this has on the image within the CircleCI execution environment. If customers are impacted by these CVEs we will push a patch fix to the released image(s), and this image will supersede the original image.
4644

4745
[#bug-reports-issues-and-prs]
4846
== Bug reports, issues, and PRs
@@ -52,24 +50,9 @@ File a link:https://support.circleci.com/hc/en-us/requests/new[Support Ticket wi
5250
[#image-lifespan-eol]
5351
== Image lifespan / EOL
5452

55-
We will keep a total of seven images at maximum, with a deprecation cycle happening once per year. The table below shows which images will be kept in each cycle. Generally we will aim to start EOL process within 3 months of a new version release.
56-
57-
Current Deprecation (Jan 2024):
58-
59-
[.table.table-striped]
60-
[cols=2*, options="header", stripes=even]
61-
|===
62-
| Release cycle
63-
| Image status
64-
65-
| Current year
66-
| Keep all quarterly images of this year. Keep Q4 (October) image release of the last 2 years
67-
68-
|===
69-
70-
When an image is selected for deprecation and removal, we will create an announcement on our Discuss forum, along with reaching out via email to developers who have requested one of the deprecated images in their recent jobs.
53+
When a new API Level for Android is released we will release it to edge. We will give a 3 month warning before the default image will have oldest version no longer supported. We will create an announcement on our Discuss forum and along with additional outreach where possible.
7154

72-
We will also plan brownouts to ensure users are aware of the approaching removal of deprecated images. Generally, we will aim to start an EOL process within 3 months of a new version release.
55+
Generally we will aim to start EOL process within 3 months of a new version release.
7356

7457
[#exceptions]
7558
== Exceptions

jekyll/_cci2/android-machine-image.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ workflows:
5454
executor:
5555
name: android/android-machine
5656
resource-class: large
57-
tag: 2021.10.1
57+
tag: default
5858
```
5959

6060
[#more-complex-orb-usage]
@@ -75,7 +75,7 @@ jobs:
7575
executor:
7676
name: android/android-machine
7777
resource-class: large
78-
tag: 2021.10.1
78+
tag: default
7979
steps:
8080
- checkout
8181
# Create an AVD named "myavd"

jekyll/_cci2/linux-cuda-images-support-policy.adoc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ This document outlines the xref:using-gpu#linux-gpu[CircleCI Linux CUDA image] r
2020
[#release-policy]
2121
== Release policy
2222

23-
The CircleCI CUDA images are based on our Linux VM machine images for the purpose of providing an image that can leverage the additional processing capabilities of CircleCI’s GPU executor.
23+
The CircleCI CUDA images are based on our Linux VM machine images. This provides an image that can leverage the additional processing capabilities of CircleCI’s GPU executor.
2424

25-
We aim to support the three most recent minor versions (or three most recent even numbered minor versions, if minor version >= `6`) of the two most recent and supported major CUDA releases. We closely track Nvidia’s own release cycle and aim to release our images within a week of the CUDA release.
25+
We aim to support the two most recent and supported major CUDA releases. We closely track Nvidia’s own release cycle and aim to release our images within a week of the CUDA release.
2626

2727
The release policy is not an SLA (service level agreement). We can not, and do not, provide an official SLA turnaround time for new CUDA images.
2828

@@ -42,7 +42,7 @@ The following tags are available for the CircleCI Linux CUDA images:
4242
[#critical-cve-patches]
4343
== Critical CVE patches
4444

45-
When critical CVEs are disclosed that affect the versions of the operating system or software stack in either Linux or Windows images, we will investigate the impact that this has on our images being used across CircleCI execution environments.
45+
When critical CVEs are disclosed around the operating system or software stack of this image, we will investigate the impact this has on the image within the CircleCI execution environment.
4646

4747
In most cases, due to the ephemeral and isolated nature of the environment, it is not necessary to patch these images. We will always communicate our stance on these disclosures via our link:https://discuss.circleci.com/[Discuss Forum].
4848

@@ -101,7 +101,7 @@ A minor version release -- CUDA 11.8:
101101

102102
Once a new even numbered minor version is released, that version will be added and the oldest existing version will be removed, provided that more than 3 minor versions exist.
103103

104-
When an image is selected for deprecation and removal, we will create an announcement on our Discuss forum, along with reaching out via email to developers who have requested one of the deprecated images in their recent jobs. We will also plan brownouts to help ensure you are aware of the approaching removal of deprecated images.
104+
When an image is selected for deprecation and removal, we will create an announcement on our Discuss forum and along with additional outreach where possible.
105105

106106
[#exceptions]
107107
== Exceptions

jekyll/_cci2/linux-vm-support-policy.adoc

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -31,18 +31,14 @@ Tags we support for this image (tag is what is specified in `.circleci/config.ym
3131

3232
- `current` version of the image will receive updates approximately every three months.
3333

34-
- `previous` version of the image will receive the previous version of `current`.
35-
3634
- `edge` tags are reserved for previews of new releases, which will initially point to this tag. The edge tags may include incremental updates to the current quarterly (every 3 months) image release, which may change without notice, and is not recommended to be used for production CI workloads. `current` will be updated with these changes after a period of stability.
3735

38-
- Date based tagging: The Ubuntu LTS based images have the image slug format of: `ubuntu-<LTS version>:<year>.<month>.<patch>`, such as `ubuntu-2204:2023.10.1`. We recommend using the `default` version and not pinning to a date version.
39-
40-
We always aim to release a version of this image every three months.
36+
We always aim to release a version of this image every three months. Tags will be supported on all versions we support.
4137

4238
[#critical-cve-patches]
4339
== Critical CVE patches
4440

45-
When critical CVEs are disclosed that affect the versions of the operating system or software stack in Linux VM images, we will investigate the impact that this has on our images being used within the CircleCI execution environment. If customers are impacted by these CVEs we will push a patch fix to the released image(s). This image will supersede the original image.
41+
When critical CVEs are disclosed around the operating system or software stack of this image, we will investigate the impact this has on the image within the CircleCI execution environment. If customers are impacted by these CVEs we will push a patch fix to the released image(s). This image will supersede the original image.
4642

4743
[#bug-reports-issues-and-prs]
4844
== Bug reports, issues, and PRs
@@ -63,10 +59,8 @@ Current Deprecation (Jan 2024):
6359
| Support
6460

6561
| Ubuntu 20.04 LTS
66-
| Build quarterly images for current year and retain Q4 (October) release from the past two years.
6762

6863
| Ubuntu 22.04 LTS
69-
| Quarterly images built and only Q4 image retained each year
7064
|===
7165

7266

@@ -82,13 +76,13 @@ Example: When Ubuntu 24.04 LTS is released
8276
| Deprecated and removed entirely
8377

8478
| Ubuntu 22.04 LTS
85-
| Retain only Q4 (October) releases from past two years
79+
| `current` and `edge` tags retained
8680

8781
| Ubuntu 24.04 LTS
88-
| Quarterly images built and only Q4 (October) image retained from each year
82+
| `current` and `edge` tags retained
8983
|===
9084

91-
When an image is selected for deprecation and removal, we will create an announcement on our Discuss forum, along with reaching out via email to developers who have requested one of the deprecated images in their recent jobs.
85+
When an image is selected for deprecation and removal, we will create an announcement on our Discuss forum and along with additional outreach where possible.
9286

9387
We will also plan brownouts to ensure users are aware of the approaching removal of deprecated images. Generally, we will aim to start an EOL process within 3 months of a new version release.
9488

jekyll/_cci2/remote-docker-images-support-policy.adoc

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ This document outlines the xref:building-docker-images#[CircleCI remote Docker i
2121

2222
The CircleCI remote Docker images are based on our Linux VM images with Docker installed for the purposes of providing a remote environment that can execute Docker commands within jobs on the Docker executor.
2323

24-
We aim to support the latest two versions of the Docker Engine that are classified as within Security Support status.
24+
We aim to support the latest three versions of the Docker Engine that are classified as within Security Support status.
2525

2626
Remote Docker images will be updated when a patch version is released upstream. Tags will be redirected to the updated images automatically as described in the xref:#tagging[tagging] section of this document. We will announce these releases on our link:https://discuss.circleci.com/[Discuss Forum].
2727

@@ -36,14 +36,12 @@ For the latest major version of Docker:
3636

3737
- `edge`: This tag is reserved for previews of new releases, which will initially point to this tag. The tag may include incremental updates relative to the current quarterly image release, which may change without notice, and is not recommended for production CI workloads.
3838

39-
- `previous`: Once an `edge` image is promoted to `default`, the previous `default` image is moved to the `previous` tag.
40-
41-
For the previous major version of Docker, we support a single tag following the format of `dockerXX`, for example, `docker23` for Docker 23. This tag will point to the latest patch version of the major release, and will be updated if any patch versions are issued upstream. We recommend using the default version.
39+
For the previous major version of Docker, we support a single tag following the format of `dockerXX`, for example, `docker27` for Docker 27. This tag will point to the latest patch version of the major release, and will be updated if any patch versions are issued upstream. We recommend using the default version.
4240

4341
[#critical-cve-patches]
4442
== Critical CVE patches
4543

46-
When critical CVEs are disclosed that affect the versions of the operating system or software stack in our remote Docker images, we will investigate the impact that this has on our images being used within the CircleCI execution environment. If customers are impacted by these CVEs we will push a patch fix to the released image(s), this image will supersede the original image.
44+
When critical CVEs are disclosed around the operating system or software stack of this image, we will investigate the impact this has on the image within the CircleCI execution environment. If customers are impacted by these CVEs we will push a patch fix to the released image(s), this image will supersede the original image.
4745

4846
[#bug-reports-issues-and-prs]
4947
== Bug reports, issues, and PRs
@@ -63,39 +61,39 @@ Current Deprecation:
6361
| Version
6462
| Support
6563

66-
| Docker 20
67-
| We will support one version of Docker 20 with a tag of `20.10.24`
64+
| Docker 25
65+
| `docker25` tag is maintained for Docker 25 support
6866

69-
| Docker 23
70-
| `docker23` tag is maintained for Docker 23 support
67+
| Docker 26
68+
| `docker26` tag is maintained for Docker 26 support
7169

72-
| Docker 24
73-
| Set to `default`, `edge` and `previous` tags
70+
| Docker 27
71+
| Set to `default` and `edge` tags. `docker27` tag is maintained for Docker 27 as default tag as well.
7472
|===
7573

76-
Example: When Docker 25 is released:
74+
Example: When Docker 28 is released:
7775

7876
[.table.table-striped]
7977
[cols=2*, options="header", stripes=even]
8078
|===
8179
| Version
8280
| Support
8381

84-
| Docker 20
82+
| Docker 25
8583
| Deprecated and removed
8684

87-
| Docker 23
88-
| `docker23` tag is frozen and kept until next cycle
85+
| Docker 26
86+
| `docker26` tag kept until next cycle
8987

90-
| Docker 24
91-
| Moved from `default`, `edge` and `previous` tags to `docker24` tag
88+
| Docker 27
89+
| Moved from `default` and `edge` tags to `docker27` tag only
9290

93-
| Docker 25
94-
| Set to `default`, `edge` and `previous` tags
91+
| Docker 28
92+
| Set to `default` and `edge` tags. With `docker28` tag for pinning Docker version.
9593
|===
9694

9795

98-
When an image is selected for deprecation and removal, we will create an announcement on our Discuss forum, along with reaching out via email to developers who have requested one of the deprecated images in their recent jobs.
96+
When an image is selected for deprecation and removal, we will create an announcement on our Discuss forum and along with additional outreach where possible.
9997

10098
We will also plan brownouts to ensure users are aware of the approaching removal of deprecated images. Generally, we will aim to start an EOL process within 3 months of a new version release
10199

jekyll/_cci2/windows-images-support-policy.adoc

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -33,23 +33,19 @@ We support various tags for the Windows environment, allowing you to choose a su
3333

3434
- `edge`: tags are reserved for previews of new releases, which will initially point to this tag. The `edge` tags may include incremental updates to the current quarterly image release, which may change without notice, and is not recommended to be used for production CI workloads. `current` will be updated with these changes after a period of stability.
3535

36-
- `previous`: version of Windows Server will receive the previous version of `current`.
37-
3836
We generally install the latest Major version of Visual Studio Community Edition that coincides with the Windows Server version in the image when it is built.
3937

40-
We always aim to release a version of the supported windows images (for example, currently this is `Windows server 2019` and `Windows server 2022`) every 3 months. We recommend using the `default` version and not pinning to a date version.
38+
We always aim to release a version of the supported Windows images every 3 months. We recommend using the `default` version and not pinning to a date version.
4139

4240
[#tagging-with-the-windows-orb]
4341
== Tagging with the Windows orb
4442

4543
The variant of Windows Server can be specified by choosing the name parameter in the Windows orb. The most recent version of Windows Server will always be accessible via the `win/default` name, but previous versions require explicit definition, such as `win/server-2019`.
4644

47-
Each quarterly (published every 3 months) image for the `current` tag Windows Server version is published to a date-based tag, such as `2023.10.1`, which can be explicitly defined in the version parameter of the orb.
48-
4945
[#critical-cve-patches]
5046
== Critical CVE patches
5147

52-
When critical CVEs are disclosed that affect the versions of the operating system or software stack in our Windows Images, we will investigate the impact that this has on our images being used within the CircleCI execution environment. If customers are impacted by these CVEs we will push a patch fix to the released image(s), this image will supersede the original image.
48+
When critical CVEs are disclosed around the operating system or software stack of this image, we will investigate the impact this has on the image within the CircleCI execution environment. If customers are impacted by these CVEs we will push a patch fix to the released image(s), this image will supersede the original image.
5349

5450
[#bug-reports-issues-and-prs]
5551
== Bug reports, issues, and PRs
@@ -59,11 +55,11 @@ You can file a link:https://support.circleci.com/hc/en-us/requests/new[support t
5955
[#image-lifespan-eol]
6056
== Image lifespan / EOL
6157

62-
Once the next major version of Windows Server is released by Microsoft, and generally available to customers, we will deprecate the oldest version of Windows Server that we support and schedule it to be removed.
58+
Once the next major version of Windows Server is released, we will deprecate the oldest version of Windows Server that we support and schedule it to be removed.
6359

64-
After the new version of Windows Server has been released, we will then move the current Windows Server version into an extended support phase and move to the tagging system described in the <<tagging>> section of this document.
60+
After the new version of Windows Server has been released, we will then move the current Windows Server version into an extended support phase.
6561

66-
Current deprecation (Jan 2024):
62+
Current deprecation:
6763

6864
[.table.table-striped]
6965
[cols=2*, options="header", stripes=even]
@@ -72,10 +68,10 @@ Current deprecation (Jan 2024):
7268
| Support
7369

7470
| Windows Server 2019
75-
| Build quarterly images and retain Q4 (October) releases from previous two years
71+
| `current` and `edge` tags retained
7672

7773
| Windows Server 2022
78-
| Build quarterly images and only Q4 (October) releases retained each year
74+
| `current` and `edge` tags retained
7975
|===
8076

8177
Example: When Windows Server 2025 is released
@@ -90,13 +86,13 @@ Example: When Windows Server 2025 is released
9086
| Deprecated and removed entirely
9187

9288
| Windows Server 2022
93-
| Retain only current and past two Q4 (October) releases
89+
| `current` and `edge` tags retained
9490

9591
| Windows Server 2025
96-
| Quarterly images built and only Q4 (October) image retained each year
92+
| `current` and `edge` tags retained
9793
|===
9894

99-
When an image is selected for deprecation and removal, we will create an announcement on our Discuss forum, along with reaching out via email to developers who have requested one of the deprecated images in their recent jobs.
95+
When an image is selected for deprecation and removal, we will create an announcement on our Discuss forum and along with additional outreach where possible.
10096

10197
We will also plan brownouts to ensure users are aware of the approaching removal of deprecated images. Generally, we will aim to start an EOL process within 3 months of a new version release.
10298

0 commit comments

Comments
 (0)