You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1. AlmaLinux - Oldest version (targets lowest glibc version) (amd64)
46
46
47
-
When updating the distro versions in the CI matrix as new versions are released
48
-
and older versions reach EOL:
47
+
## Updating Distro Versions in the VMR
49
48
50
-
1. Update `main` to the newer version one to two months prior to the GA/EOL date.
51
-
This is done to flush out any issues and to avoid destabilizing the servicing
52
-
branches.
53
-
1. At the GA/EOL date, update the servicing branches.
49
+
There are two scenarios when updating distro versions in the CI pipeline:
50
+
51
+
### Case 1: OS Leg in VMR Produces N-1 artifact (Previous Version Support)
52
+
53
+
When updating a distro that produces an N-1 (previous version) artifact in the VMR:
54
+
55
+
1.**Update VMR pipeline variables:**
56
+
- Create "Previous" versions of existing distro variables by adding `Previous` suffix to preserve the old values
57
+
- Update current distro variables to new version values
58
+
59
+
1.**Update VMR pipeline:**
60
+
- Add container configuration for previous version
61
+
- For previous legs, update the distro parameters to use the previous variables you created in Step 1.
62
+
63
+
1.**Update SBRP Cleanup pipeline:**
64
+
- If applicable, update the default artifact name in the source-build-reference-packages clean up pipeline - [example](https://github.com/dotnet/source-build-reference-packages/pull/1284)
65
+
66
+
1.**File a tracking issue** to remove the previous variables and update the artifact RID used in `prep-source-build.sh` - [example](https://github.com/dotnet/source-build/issues/5238)
67
+
68
+
1.**Submit and test your changes:**
69
+
- Open a pull request with all changes - [example](https://github.com/dotnet/dotnet/pull/1093)
70
+
- Queue a full build of the VMR to validate the changes
71
+
72
+
1.**Update release pipelines:**
73
+
- Update the artifact name for relevant .NET version in the source-build release and re-bootstrap pipeline - [example](https://dev.azure.com/dnceng/internal/_git/dotnet-release/commit/c9be53307205765ebae48c18d00ef6260e596817?path=/eng/pipeline/source-build-release/steps/re-bootstrap.yml&version=GBmain&line=90&lineEnd=91&lineStartColumn=1&lineEndColumn=1&type=2&lineStyle=plain&_a=files).
74
+
- The release validation will fail until the next source-build release. File an issue to update the artifacts used for the release validation after the next release.
75
+
76
+
1.**Complete the transition:**
77
+
- Queue the re-bootstrap pipeline after the next successful CI build of the VMR
78
+
- In the resulting PR, make the changes described in your tracking issue (Step 4)
79
+
- Merge the resulting PR and close the tracking issue
80
+
81
+
82
+
### Case 2: OS Leg in VMR Produces Regular Artifact (Standard Update)
83
+
84
+
For distros not used in n-1 legs:
85
+
86
+
1.**Update VMR pipeline variables:**
87
+
- Update the distro-specific variables to new version values
88
+
89
+
1.**Update SBRP Cleanup pipeline:**
90
+
- If applicable, update default artifact name in the source-build-reference-packages clean up pipeline - [example](https://github.com/dotnet/source-build-reference-packages/pull/1284)
91
+
92
+
2.**Submit changes:**
93
+
- Open a pull request with all the above changes
94
+
- Queue a full build of the VMR to validate the changes
0 commit comments