Skip to content

Commit 7ce0936

Browse files
[CI] Make premerge_resources accept Github ARC version
This allows for easily controlling the ARC version of the premerge clusters separately which allows for zero downtime upgrades, assuming the upgrade is performed correctly (shown in the documentation). This patch also makes the docs a bit more clear.
1 parent 6744be6 commit 7ce0936

File tree

4 files changed

+19
-9
lines changed

4 files changed

+19
-9
lines changed

premerge/cluster-management.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -219,9 +219,13 @@ terraform destroy -target module.premerge_cluster_us_central_resources.kubernete
219219
### Bumping the Version Number
220220

221221
This is necessary only for bumping the version of ARC. This involves simply
222-
updating the version field for the `helm_release` objects in `main.tf`. Make sure
223-
to commit the changes and push them to `llvm-zorg` to ensure others working on
224-
the terraform configuration have an up to date state when they pull the repository.
222+
updating the version field for the `premerge_resources` objects in `main.tf`.
223+
Each premerge cluster (`llvm-premerge-cluster-us-central` and
224+
`llvm-premerge-cluster-us-west`) has a separate version. This allows for
225+
updating them separately which allows for zero-downtime upgrades when the
226+
system is operating at low capacity. Make sure to commit the changes and push
227+
them to `llvm-zorg` to ensure others working on the terraform configuration
228+
have an up to date state when they pull the repository.
225229

226230
### Bringing the Cluster Back Up
227231

premerge/main.tf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@ module "premerge_cluster_us_central_resources" {
132132
runner_group_name = "llvm-premerge-cluster-us-central"
133133
linux_runners_namespace_name = "llvm-premerge-linux-runners"
134134
windows_2022_runners_namespace_name = "llvm-premerge-windows-2022-runners"
135+
github_arc_version = "0.11.0"
135136
providers = {
136137
kubernetes = kubernetes.llvm-premerge-us-central
137138
helm = helm.llvm-premerge-us-central
@@ -148,6 +149,7 @@ module "premerge_cluster_us_west_resources" {
148149
runner_group_name = "llvm-premerge-cluster-us-west"
149150
linux_runners_namespace_name = "llvm-premerge-linux-runners"
150151
windows_2022_runners_namespace_name = "llvm-premerge-windows-2022-runners"
152+
github_arc_version = "0.11.0"
151153
providers = {
152154
kubernetes = kubernetes.llvm-premerge-us-west
153155
helm = helm.llvm-premerge-us-west

premerge/premerge_resources/main.tf

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ resource "helm_release" "github_actions_runner_controller" {
136136
name = "llvm-premerge-controller"
137137
namespace = "llvm-premerge-controller"
138138
repository = "oci://ghcr.io/actions/actions-runner-controller-charts"
139-
version = "0.11.0"
139+
version = var.github_arc_version
140140
chart = "gha-runner-scale-set-controller"
141141

142142
depends_on = [
@@ -148,7 +148,7 @@ resource "helm_release" "github_actions_runner_set_linux" {
148148
name = "llvm-premerge-linux-runners"
149149
namespace = var.linux_runners_namespace_name
150150
repository = "oci://ghcr.io/actions/actions-runner-controller-charts"
151-
version = "0.11.0"
151+
version = var.github_arc_version
152152
chart = "gha-runner-scale-set"
153153

154154
values = [
@@ -166,7 +166,7 @@ resource "helm_release" "github_actions_runner_set_windows_2022" {
166166
name = "llvm-premerge-windows-2022-runners"
167167
namespace = var.windows_2022_runners_namespace_name
168168
repository = "oci://ghcr.io/actions/actions-runner-controller-charts"
169-
version = "0.11.0"
169+
version = var.github_arc_version
170170
chart = "gha-runner-scale-set"
171171

172172
values = [
@@ -184,7 +184,7 @@ resource "helm_release" "github_actions_runner_set_libcxx" {
184184
name = "llvm-premerge-libcxx-runners"
185185
namespace = "llvm-premerge-libcxx-runners"
186186
repository = "oci://ghcr.io/actions/actions-runner-controller-charts"
187-
version = "0.11.0"
187+
version = var.github_arc_version
188188
chart = "gha-runner-scale-set"
189189

190190
values = [
@@ -202,7 +202,7 @@ resource "helm_release" "github_actions_runner_set_libcxx_release" {
202202
name = "llvm-premerge-libcxx-release-runners"
203203
namespace = "llvm-premerge-libcxx-release-runners"
204204
repository = "oci://ghcr.io/actions/actions-runner-controller-charts"
205-
version = "0.11.0"
205+
version = var.github_arc_version
206206
chart = "gha-runner-scale-set"
207207

208208
values = [
@@ -220,7 +220,7 @@ resource "helm_release" "github_actions_runner_set_libcxx_next" {
220220
name = "llvm-premerge-libcxx-next-runners"
221221
namespace = "llvm-premerge-libcxx-next-runners"
222222
repository = "oci://ghcr.io/actions/actions-runner-controller-charts"
223-
version = "0.11.0"
223+
version = var.github_arc_version
224224
chart = "gha-runner-scale-set"
225225

226226
values = [

premerge/premerge_resources/variables.tf

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@ variable "grafana_token" {
2121
type = string
2222
}
2323

24+
variable "github_arc_version" {
25+
type = string
26+
}
27+
2428
variable "externalservices_prometheus_host" {
2529
type = string
2630
default = "https://prometheus-prod-13-prod-us-east-0.grafana.net"

0 commit comments

Comments
 (0)