#!/usr/bin/env bash set -euo pipefail # ========================================================== # Update / Install GitHub Actions Runner Controller (ARC) # + Update Runner Scale Set (gha-runner-scale-set) # ========================================================== # --- Controller settings --- CONTROLLER_NAMESPACE="actions-runner-system" CONTROLLER_RELEASE="actions-runner-controller" CONTROLLER_CHART="actions-runner-controller/actions-runner-controller" CONTROLLER_VALUES_FILE="$(dirname "$0")/controller-values.yaml" # --- Runner scale set settings --- RUNNER_NAMESPACE="arc-systems" RUNNER_RELEASE="mealcraft-runners" RUNNER_CHART="oci://ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-set" RUNNER_VERSION="0.13.0" RUNNER_VALUES_FILE="$(dirname "$0")/values.yaml" echo "=== Updating ARC Controller ===" kubectl create namespace "$CONTROLLER_NAMESPACE" \ --dry-run=client -o yaml | kubectl apply -f - helm repo add actions-runner-controller \ https://actions-runner-controller.github.io/actions-runner-controller \ >/dev/null 2>&1 || true helm repo update helm upgrade --install \ "$CONTROLLER_RELEASE" \ "$CONTROLLER_CHART" \ -n "$CONTROLLER_NAMESPACE" \ -f "$CONTROLLER_VALUES_FILE" echo "=== Updating Runner Scale Set ===" export HELM_EXPERIMENTAL_OCI=1 helm upgrade --install \ "$RUNNER_RELEASE" \ "$RUNNER_CHART" \ --version "$RUNNER_VERSION" \ -n "$RUNNER_NAMESPACE" \ -f "$RUNNER_VALUES_FILE" echo echo "✅ ARC + Runner update complete" echo echo "Next steps:" echo "- kubectl get pods -n $RUNNER_NAMESPACE" echo "- Re-run autoscaling workflow"