actions / partner-runner-images

About GitHub Actions runner images provided by 3rd parties
MIT License
67 stars 16 forks source link

Add job container support #18

Closed kernelsam closed 2 months ago

kernelsam commented 3 months ago

Running a job container fails with: Error: docker: command not found

workflow:

name: ARM Build

on:
  workflow_dispatch:
  push:
    branches: ["arm-test"]

jobs:
  linux-arm:

    strategy:
      fail-fast: false
      matrix:
        include:
          - os: Ubuntu-22.04-4Core-Arm
            container-image: public.ecr.aws/<image redacted>

    runs-on: ${{ matrix.os }}
    container:
      image: ${{ matrix.container-image }}
      options: --cpus 6
    permissions:
      actions: read
      contents: read
      id-token: write 

    steps:
      - name: print test
        run: |
          echo "arm-test”

debug log:

##[debug]Starting: Set up job
Current runner version: '2.319.1'
Runner name: 'Ubuntu-22.04-4Core-Arm_48cba907caff'
Runner group name: 'Default'
Machine name: 'runner'
VM Image
GITHUB_TOKEN Permissions
Secret source: Actions
##[debug]Primary repository: <redacted>
Prepare workflow directory
##[debug]Creating pipeline directory: '/home/runner/work/<redacted>'
##[debug]Creating workspace directory: '/home/runner/work/<redacted>'
##[debug]Update context data
##[debug]Evaluating job-level environment variables
##[debug]Evaluating job container
##[debug]Evaluating: matrix.container-image
##[debug]Evaluating Index:
##[debug]..Evaluating matrix:
##[debug]..=> Object
##[debug]..Evaluating String:
##[debug]..=> 'container-image'
##[debug]=> 'public.ecr.aws/<image redacted>'
##[debug]Result: 'public.ecr.aws/<image redacted>'
##[debug]Evaluating job service containers
##[debug]Evaluating job defaults
Prepare all required actions
Error: docker: command not found
##[debug]System.IO.FileNotFoundException: docker: command not found
##[debug]File name: 'docker'
##[debug]   at GitHub.Runner.Sdk.WhichUtil.Which(String command, Boolean require, ITraceWriter trace, String prependPath)
##[debug]   at GitHub.Runner.Worker.Container.DockerCommandManager.Initialize(IHostContext hostContext)
##[debug]   at GitHub.Runner.Common.HostContext.CreateService[T]()
##[debug]   at GitHub.Runner.Common.HostContext.GetService[T]()
##[debug]   at GitHub.Runner.Worker.ContainerOperationProvider.Initialize(IHostContext hostContext)
##[debug]   at GitHub.Runner.Common.HostContext.CreateService[T]()
##[debug]   at GitHub.Runner.Common.HostContext.GetService[T]()
##[debug]   at GitHub.Runner.Worker.JobExtension.InitializeJob(IExecutionContext jobContext, AgentJobRequestMessage message)
##[debug]Finishing: Set up job
jasonrandrews commented 2 months ago

Hi @kernelsam

When you created the runner, did you specify "Ubuntu 22.04 by Arm Limited" as the image? This image has docker installed.

Previously, there was an image called "Base image for Ubuntu 22.04" which did not have docker installed.

kernelsam commented 2 months ago

Hey @jasonrandrews apologies for the delay on this, you are correct. I deleted the original runner and recreated it. After it shows the new image Ubuntu 22.04 by Arm Limited and I was able to run container jobs. Thanks for the tip!