fix: add kubectl/helm install + RBAC for integration-test CI job

- Install kubectl and helm in integration-test runner (DinD image lacks them)
- Configure kubectl with in-cluster service account credentials
- Add ClusterRoleBinding for runner SA to create inttest namespaces
- Add runner-rbac.yaml to runmefirst.sh install sequence
This commit is contained in:
Celes Renata
2026-04-18 04:31:43 +00:00
parent 7a0e26c77b
commit 0ed7ecbd65
2 changed files with 45 additions and 0 deletions
+30
View File
@@ -177,6 +177,36 @@ jobs:
runs-on: self-hosted-gremlin
steps:
- uses: actions/checkout@v5
- name: Install kubectl
run: |
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x kubectl
mv kubectl /usr/local/bin/kubectl
kubectl version --client
- name: Install Helm
run: |
curl -fsSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
helm version
- name: Configure kubectl
run: |
# Use in-cluster service account if available, otherwise skip
if [ -f /var/run/secrets/kubernetes.io/serviceaccount/token ]; then
kubectl config set-cluster in-cluster \
--server=https://kubernetes.default.svc \
--certificate-authority=/var/run/secrets/kubernetes.io/serviceaccount/ca.crt
kubectl config set-credentials runner \
--token="$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)"
kubectl config set-context runner --cluster=in-cluster --user=runner
kubectl config use-context runner
echo "Using in-cluster service account"
else
echo "No in-cluster credentials found — kubectl must be pre-configured"
fi
kubectl cluster-info || echo "WARNING: kubectl cannot reach cluster API"
- name: Run integration tests
run: |
bash infra/inttest/run_pipeline.sh \
+15
View File
@@ -0,0 +1,15 @@
# RBAC for ARC runner pods — allows integration tests to create
# ephemeral namespaces and deploy sandbox infrastructure.
# The service account is auto-created by the ARC runner scale set chart.
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arc-runner-inttest
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: self-hosted-gremlin-gha-rs-no-permission
namespace: arc-system