actions / actions/actions-runner-controller
Unabled to download Buildx from Github Releases
Open
Nobody has claimed this yet.
bug
community
needs triage
- Dominant language
- Go
- Stars
- 6.5k
- Forks
- 1.5k
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 27
Description
Checks
- I've already read https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/troubleshooting-actions-runner-controller-errors and I'm sure my issue is not covered in the troubleshooting guide.
- I am using charts that are officially provided
Controller Version
0.27.5
Deployment Method
Helm
Checks
- This isn't a question or user support case (For Q&A and community support, go to Discussions).
- I've read the Changelog before submitting this issue and I'm sure it's not due to any recently-introduced backward-incompatible changes
To Reproduce
1. Create a workflow that used `docker/build-and-push@v5.1.0`
2. Run workflow
Describe the bug
Docker setup gets stuck at the step builderx from GitHub Releases. Work does not fail it times out in 2 hours.
Describe the expected behavior
buildx is installed and action progress to next step.
Additional Context
## Docker Image
FROM summerwind/actions-runner:v2.311.0-ubuntu-22.04
# Install dependencies
RUN sudo apt-get update && \
sudo apt-get install -y \
build-essential \
libpq-dev \
moreutils
## Deployment Yaml
kind: Deployment
apiVersion: apps/v1
metadata:
annotations:
deployment.kubernetes.io/revision: '15'
meta.helm.sh/release-name: actions-runner-controller
meta.helm.sh/release-namespace: actions-runner-system
resourceVersion: '914557817'
name: actions-runner-controller
uid: 71bd6e40-e7f7-451c-893e-a3372eb285c4
creationTimestamp: '2023-10-26T10:38:09Z'
generation: 21
managedFields:
- manager: helm
operation: Update
apiVersion: apps/v1
time: '2023-10-26T10:45:07Z'
fieldsType: FieldsV1
fieldsV1:
'f:metadata':
'f:annotations':
.: {}
'f:meta.helm.sh/release-name': {}
'f:meta.helm.sh/release-namespace': {}
'f:labels':
.: {}
'f:app.kubernetes.io/instance': {}
'f:app.kubernetes.io/managed-by': {}
'f:app.kubernetes.io/name': {}
'f:app.kubernetes.io/version': {}
'f:helm.sh/chart': {}
'f:spec':
'f:progressDeadlineSeconds': {}
'f:revisionHistoryLimit': {}
'f:selector': {}
'f:strategy':
'f:rollingUpdate':
.: {}
'f:maxSurge': {}
'f:maxUnavailable': {}
'f:type': {}
'f:template':
'f:metadata':
'f:labels':
.: {}
'f:app.kubernetes.io/instance': {}
'f:app.kubernetes.io/name': {}
'f:spec':
'f:volumes':
.: {}
'k:{"name":"cert"}':
.: {}
'f:name': {}
'f:secret':
.: {}
'f:defaultMode': {}
'f:secretName': {}
'k:{"name":"secret"}':
.: {}
'f:name': {}
'f:secret':
.: {}
'f:defaultMode': {}
'f:secretName': {}
'k:{"name":"tmp"}':
.: {}
'f:emptyDir': {}
'f:name': {}
'f:containers':
'k:{"name":"kube-rbac-proxy"}':
'f:image': {}
'f:terminationMessagePolicy': {}
.: {}
'f:resources':
.: {}
'f:limits':
.: {}
'f:memory': {}
'f:requests':
.: {}
'f:memory': {}
'f:args': {}
'f:securityContext': {}
'f:terminationMessagePath': {}
'f:imagePullPolicy': {}
'f:ports':
.: {}
'k:{"containerPort":8443,"protocol":"TCP"}':
.: {}
'f:containerPort': {}
'f:name': {}
'f:protocol': {}
'f:name': {}
'k:{"name":"manager"}':
'f:image': {}
'f:volumeMounts':
.: {}
'k:{"mountPath":"/etc/actions-runner-controller"}':
.: {}
'f:mountPath': {}
'f:name': {}
'f:readOnly': {}
'k:{"mountPath":"/tmp"}':
.: {}
'f:mountPath': {}
'f:name': {}
'k:{"mountPath":"/tmp/k8s-webhook-server/serving-certs"}':
.: {}
'f:mountPath': {}
'f:name': {}
'f:readOnly': {}
'f:terminationMessagePolicy': {}
.: {}
'f:resources':
.: {}
'f:limits':
.: {}
'f:memory': {}
'f:requests':
.: {}
'f:memory': {}
'f:command': {}
'f:env':
.: {}
'k:{"name":"GITHUB_APP_ID"}':
.: {}
'f:name': {}
'f:valueFrom':
.: {}
'f:secretKeyRef': {}
'k:{"name":"GITHUB_APP_INSTALLATION_ID"}':
.: {}
'f:name': {}
'f:valueFrom':
.: {}
'f:secretKeyRef': {}
'k:{"name":"GITHUB_APP_PRIVATE_KEY"}':
.: {}
'f:name': {}
'f:valueFrom':
.: {}
'f:secretKeyRef': {}
'k:{"name":"GITHUB_BASICAUTH_PASSWORD"}':
.: {}
'f:name': {}
'f:valueFrom':
.: {}
'f:secretKeyRef': {}
'k:{"name":"GITHUB_TOKEN"}':
.: {}
'f:name': {}
'f:valueFrom':
.: {}
'f:secretKeyRef': {}
'f:securityContext': {}
'f:terminationMessagePath': {}
'f:imagePullPolicy': {}
'f:ports':
.: {}
'k:{"containerPort":9443,"protocol":"TCP"}':
.: {}
'f:containerPort': {}
'f:name': {}
'f:protocol': {}
'f:name': {}
'f:dnsPolicy': {}
'f:serviceAccount': {}
'f:restartPolicy': {}
'f:schedulerName': {}
'f:terminationGracePeriodSeconds': {}
'f:serviceAccountName': {}
'f:securityContext': {}
- manager: Mozilla
operation: Update
apiVersion: apps/v1
time: '2024-02-07T17:43:52Z'
fieldsType: FieldsV1
fieldsV1:
'f:spec':
'f:template':
'f:spec':
'f:containers':
'k:{"name":"manager"}':
'f:args': {}
- manager: kube-controller-manager
operation: Update
apiVersion: apps/v1
time: '2024-03-07T11:39:34Z'
fieldsType: FieldsV1
fieldsV1:
'f:metadata':
'f:annotations':
'f:deployment.kubernetes.io/revision': {}
'f:status':
'f:availableReplicas': {}
'f:conditions':
.: {}
'k:{"type":"Available"}':
.: {}
'f:lastTransitionTime': {}
'f:lastUpdateTime': {}
'f:message': {}
'f:reason': {}
'f:status': {}
'f:type': {}
'k:{"type":"Progressing"}':
.: {}
'f:lastTransitionTime': {}
'f:lastUpdateTime': {}
'f:message': {}
'f:reason': {}
'f:status': {}
'f:type': {}
'f:observedGeneration': {}
'f:readyReplicas': {}
'f:replicas': {}
'f:updatedReplicas': {}
subresource: status
namespace: actions-runner-system
labels:
app.kubernetes.io/instance: actions-runner-controller
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: actions-runner-controller
app.kubernetes.io/version: 0.27.5
helm.sh/chart: actions-runner-controller-0.23.5
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/instance: actions-runner-controller
app.kubernetes.io/name: actions-runner-controller
template:
metadata:
creationTimestamp: null
labels:
app.kubernetes.io/instance: actions-runner-controller
app.kubernetes.io/name: actions-runner-controller
spec:
restartPolicy: Always
serviceAccountName: actions-runner-controller
schedulerName: default-scheduler
terminationGracePeriodSeconds: 10
securityContext: {}
containers:
- resources:
limits:
memory: 256Mi
requests:
memory: 256Mi
terminationMessagePath: /dev/termination-log
name: manager
command:
- /manager
env:
- name: GITHUB_TOKEN
valueFrom:
secretKeyRef:
name: controller-manager
key: github_token
optional: true
- name: GITHUB_APP_ID
valueFrom:
secretKeyRef:
name: controller-manager
key: github_app_id
optional: true
- name: GITHUB_APP_INSTALLATION_ID
valueFrom:
secretKeyRef:
name: controller-manager
key: github_app_installation_id
optional: true
- name: GITHUB_APP_PRIVATE_KEY
valueFrom:
secretKeyRef:
name: controller-manager
key: github_app_private_key
optional: true
- name: GITHUB_BASICAUTH_PASSWORD
valueFrom:
secretKeyRef:
name: controller-manager
key: github_basicauth_password
optional: true
securityContext: {}
ports:
- name: webhook-server
containerPort: 9443
protocol: TCP
imagePullPolicy: IfNotPresent
volumeMounts:
- name: secret
readOnly: true
mountPath: /etc/actions-runner-controller
- name: tmp
mountPath: /tmp
- name: cert
readOnly: true
mountPath: /tmp/k8s-webhook-server/serving-certs
terminationMessagePolicy: File
image: 'summerwind/actions-runner-controller:v0.27.5'
args:
- '--metrics-addr=127.0.0.1:8080'
- '--enable-leader-election'
- '--port=9443'
- '--sync-period=1m'
- '--default-scale-down-delay=10m'
- '--docker-image=docker:dind'
- >-
--runner-image=PRIVATE_IMAGE_URL
- '--runner-image-pull-secret=reg'
- '--log-format=text'
- resources:
limits:
memory: 256Mi
requests:
memory: 256Mi
terminationMessagePath: /dev/termination-log
name: kube-rbac-proxy
securityContext: {}
ports:
- name: metrics-port
containerPort: 8443
protocol: TCP
imagePullPolicy: IfNotPresent
terminationMessagePolicy: File
image: 'quay.io/brancz/kube-rbac-proxy:v0.13.1'
args:
- '--secure-listen-address=0.0.0.0:8443'
- '--upstream=http://127.0.0.1:8080/'
- '--logtostderr=true'
- '--v=10'
serviceAccount: actions-runner-controller
volumes:
- name: secret
secret:
secretName: controller-manager
defaultMode: 420
- name: cert
secret:
secretName: actions-runner-controller-serving-cert
defaultMode: 420
- name: tmp
emptyDir: {}
dnsPolicy: ClusterFirst
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 25%
maxSurge: 25%
revisionHistoryLimit: 10
progressDeadlineSeconds: 600
status:
observedGeneration: 21
replicas: 1
updatedReplicas: 1
readyReplicas: 1
availableReplicas: 1
conditions:
- type: Progressing
status: 'True'
lastUpdateTime: '2024-02-08T16:30:38Z'
lastTransitionTime: '2023-10-26T10:38:09Z'
reason: NewReplicaSetAvailable
message: >-
ReplicaSet "actions-runner-controller-766f668c77" has successfully
progressed.
- type: Available
status: 'True'
lastUpdateTime: '2024-03-07T11:39:34Z'
lastTransitionTime: '2024-03-07T11:39:34Z'
reason: MinimumReplicasAvailable
message: Deployment has minimum availability.
Controller Logs
https://gist.github.com/Lewis-Globacap/f6bf04f9640588e301fa13647e64221c
Runner Pod Logs
https://gist.github.com/Lewis-Globacap/b433209f3fe8ebe71732983c8c858947
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the workflow using docker/build-and-push@v5.1.0 on the described self-hosted runner image and Helm deployment. Inspect the buildx installation step and its surrounding runner or controller configuration to identify why downloading from GitHub Releases hangs. Done means buildx installs successfully and the workflow advances past that step.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, github-actions, helm, kubernetes
- Domain
- ci-cd, devops, infrastructure
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100