Skip to content

Commit f2bbb1f

Browse files
authored
[OPTMZT-85]: Adjust image policies to align with new image model (#144)
1 parent 391f1b8 commit f2bbb1f

7 files changed

+66
-98
lines changed

docs/guides/modules/execution-managed/pages/android-images-support-policy.adoc

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

14-
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.
14+
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.
1515

1616
- We install the most up-to-date versions of each tool/package in newly built images.
1717
- We aim to package 6 levels of the Android API within each image release.
18-
- 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].
18+
- 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].
1919
2020
Releases may be skipped if there are no material updates to core Android functionality, such as `sdkmanager`, `ndk` or platform versions.
2121

@@ -30,12 +30,10 @@ For the latest major version of Docker:
3030
3131
- `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).
3232
33-
- 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.
34-
3533
[#critical-cve-patches]
3634
== Critical CVE patches
3735

38-
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.
36+
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.
3937

4038
[#bug-reports-issues-and-prs]
4139
== Bug reports, issues, and PRs
@@ -45,24 +43,9 @@ File a link:https://support.circleci.com/hc/en-us/requests/new[Support Ticket wi
4543
[#image-lifespan-eol]
4644
== Image lifespan / EOL
4745

48-
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.
49-
50-
Current Deprecation (Jan 2024):
51-
52-
[.table.table-striped]
53-
[cols=2*, options="header", stripes=even]
54-
|===
55-
| Release cycle
56-
| Image status
57-
58-
| Current year
59-
| Keep all quarterly images of this year. Keep Q4 (October) image release of the last 2 years
60-
61-
|===
62-
63-
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.
46+
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.
6447

65-
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.
48+
Generally we will aim to start EOL process within 3 months of a new version release.
6649

6750
[#exceptions]
6851
== Exceptions

docs/guides/modules/execution-managed/pages/android-machine-image.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ workflows:
4747
executor:
4848
name: android/android-machine
4949
resource-class: large
50-
tag: 2021.10.1
50+
tag: default
5151
```
5252

5353
[#more-complex-orb-usage]
@@ -68,7 +68,7 @@ jobs:
6868
executor:
6969
name: android/android-machine
7070
resource-class: large
71-
tag: 2021.10.1
71+
tag: default
7272
steps:
7373
- checkout
7474
# Create an AVD named "myavd"

docs/guides/modules/execution-managed/pages/linux-cuda-images-support-policy.adoc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ This document outlines the xref:using-gpu.adoc#linux-gpu[CircleCI Linux CUDA ima
1313
[#release-policy]
1414
== Release policy
1515

16-
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.
16+
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.
1717

18-
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.
18+
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.
1919

2020
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.
2121

@@ -35,7 +35,7 @@ The following tags are available for the CircleCI Linux CUDA images:
3535
[#critical-cve-patches]
3636
== Critical CVE patches
3737
38-
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.
38+
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.
3939
4040
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].
4141
@@ -94,7 +94,7 @@ A minor version release -- CUDA 11.8:
9494
9595
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.
9696
97-
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.
97+
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.
9898
9999
[#exceptions]
100100
== Exceptions

docs/guides/modules/execution-managed/pages/linux-vm-support-policy.adoc

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,14 @@ Tags we support for this image (tag is what is specified in `.circleci/config.ym
2424
2525
- `current` version of the image will receive updates approximately every three months.
2626
27-
- `previous` version of the image will receive the previous version of `current`.
28-
2927
- `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.
3028
31-
- 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.
32-
33-
We always aim to release a version of this image every three months.
29+
We always aim to release a version of this image every three months. Tags will be supported on all versions we support.
3430

3531
[#critical-cve-patches]
3632
== Critical CVE patches
3733

38-
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.
34+
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.
3935

4036
[#bug-reports-issues-and-prs]
4137
== Bug reports, issues, and PRs
@@ -56,10 +52,8 @@ Current Deprecation (Jan 2024):
5652
| Support
5753

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

6156
| Ubuntu 22.04 LTS
62-
| Quarterly images built and only Q4 image retained each year
6357
|===
6458

6559

@@ -75,13 +69,13 @@ Example: When Ubuntu 24.04 LTS is released
7569
| Deprecated and removed entirely
7670

7771
| Ubuntu 22.04 LTS
78-
| Retain only Q4 (October) releases from past two years
72+
| `current` and `edge` tags retained
7973

8074
| Ubuntu 24.04 LTS
81-
| Quarterly images built and only Q4 (October) image retained from each year
75+
| `current` and `edge` tags retained
8276
|===
8377

84-
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.
78+
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.
8579

8680
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.
8781

docs/guides/modules/execution-managed/pages/remote-docker-images-support-policy.adoc

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@
66
[#overview]
77
== Overview
88

9-
This document outlines the xref:building-docker-images.adoc[CircleCI remote Docker image] release, update, and deprecation policy. This policy applies to all CircleCI remote Docker images built for the remote Docker feature (setup_remote_docker).
9+
This document outlines the xref:building-docker-images.adoc[CircleCI remote Docker image] release, update, and deprecation policy. This policy applies to all CircleCI remote Docker images built for the remote Docker feature (`setup_remote_docker`).
1010

1111
[#release-policy]
1212
== Release policy
1313

1414
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.
1515

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

1818
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].
1919

@@ -28,14 +28,12 @@ For the latest major version of Docker:
2828
2929
- `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.
3030
31-
- `previous`: Once an `edge` image is promoted to `default`, the previous `default` image is moved to the `previous` tag.
32-
33-
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.
31+
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.
3432

3533
[#critical-cve-patches]
3634
== Critical CVE patches
3735

38-
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.
36+
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.
3937

4038
[#bug-reports-issues-and-prs]
4139
== Bug reports, issues, and PRs
@@ -55,39 +53,39 @@ Current Deprecation:
5553
| Version
5654
| Support
5755

58-
| Docker 20
59-
| We will support one version of Docker 20 with a tag of `20.10.24`
56+
| Docker 25
57+
| `docker25` tag is maintained for Docker 25 support
6058

61-
| Docker 23
62-
| `docker23` tag is maintained for Docker 23 support
59+
| Docker 26
60+
| `docker26` tag is maintained for Docker 26 support
6361

64-
| Docker 24
65-
| Set to `default`, `edge` and `previous` tags
62+
| Docker 27
63+
| Set to `default` and `edge` tags. `docker27` tag is maintained for Docker 27 as default tag as well.
6664
|===
6765

68-
Example: When Docker 25 is released:
66+
Example: When Docker 28 is released:
6967

7068
[.table.table-striped]
7169
[cols=2*, options="header", stripes=even]
7270
|===
7371
| Version
7472
| Support
7573

76-
| Docker 20
74+
| Docker 25
7775
| Deprecated and removed
7876

79-
| Docker 23
80-
| `docker23` tag is frozen and kept until next cycle
77+
| Docker 26
78+
| `docker26` tag kept until next cycle
8179

82-
| Docker 24
83-
| Moved from `default`, `edge` and `previous` tags to `docker24` tag
80+
| Docker 27
81+
| Moved from `default` and `edge` tags to `docker27` tag only
8482

85-
| Docker 25
86-
| Set to `default`, `edge` and `previous` tags
83+
| Docker 28
84+
| Set to `default` and `edge` tags. With `docker28` tag for pinning Docker version.
8785
|===
8886

8987

90-
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.
88+
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.
9189

9290
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
9391

0 commit comments

Comments
 (0)