actions / actions/actions-runner-controller

Service containers are not working

Open
#2,861 10 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

bug needs triage
Dominant language
Go
Stars
6.5k
Forks
1.5k
Avg merge
2d 2h
Merged PRs (30d)
27

Description

Checks
Controller Version

0.5.0

Helm Chart Version

0.5.0

CertManager Version

No response

Deployment Method

Helm

cert-manager installation

N/A

Checks
  • This isn't a question or user support case (For Q&A and community support, go to Discussions. It might also be a good idea to contract with any of contributors and maintainers if your business is so critical and therefore you need priority support
  • I've read releasenotes before submitting this issue and I'm sure it's not due to any recently-introduced backward-incompatible changes
  • My actions-runner-controller version (v0.x.y) does support the feature
  • I've already upgraded ARC (including the CRDs, see charts/actions-runner-controller/docs/UPGRADING.md for details) to the latest and it didn't fix the issue
  • I've migrated to the workflow job webhook event (if you using webhook driven scaling)
Resource Definitions
githubConfigUrl: "https://github.com/xxxxx"
        watchSingleNamespace: "gha-runner"
        minRunners: 0
        maxRunners: 50
        githubConfigSecret: gha-app-secret
        runnerScaleSetName: "runner-default-x64"
        containerMode:
          type: "kubernetes"
          kubernetesModeWorkVolumeClaim:
            accessModes: ["ReadWriteOnce"]
            storageClassName: "gp3"
            resources:
              requests:
                storage: 10Gi
                memory: "2Gi"
        controllerServiceAccount:
          namespace: gha-runner-controller
          name: gha-runner-controller
        template:
          spec:
            securityContext:
                fsGroup: 123
            containers:
            - name: runner
              image: ghcr.io/actions/actions-runner:latest
              command: ["/home/runner/run.sh"]
              env:
              - name: ACTIONS_RUNNER_REQUIRE_JOB_CONTAINER
                value: "false"
              resources:
                requests:
                  memory: "4096Mi"
                  cpu: "2"
                limits:
                  memory: "4096Mi"
              volumeMounts:
                - name: work
                  mountPath: /home/runner/_work
            volumes:
              - name: work
                ephemeral:
                  volumeClaimTemplate:
                    spec:
                      accessModes: ["ReadWriteOnce"]
                      storageClassName: "gp3"
                      resources:
                        requests:
                          storage: 10Gi
            tolerations:
              - key: dedicated
                operator: Equal
                value: github-actions-default
            affinity:
              nodeAffinity:
                requiredDuringSchedulingIgnoredDuringExecution:
                  nodeSelectorTerms:
                  - matchExpressions:
                    - key: tier
                      operator: In
                      values:
                      - github-actions-default
To Reproduce
Use something like that in the workflow:

jobs:
  build:
    name: Build
    runs-on: runner-default-x64
    services:
      selenium:
        image: selenium/standalone-chrome

      redis:
        image: redis:4-alpine
Describe the bug

When i try to use service containers i get this error and the pipeline stops due to this error.

Describe the expected behavior

Start service containers to be used within the build phase.

Whole Controller Logs
N/A
Whole Runner Pod Logs
https://gist.github.com/elcidowneador/8064ed64ad7dfcd86580fc3321c5a41b
Additional Context

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the service-container workflow in the issue and the linked whole runner pod log, then compare the setup with TROUBLESHOOTING.md and charts/actions-runner-controller/docs/UPGRADING.md. Trace how the Helm-configured runner handles the selenium and redis services. Done means both service containers start and the build job can use them successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, helm, kubernetes
Domain
ci-cd, devops, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.