Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Container options not parsed in acrtrc #2412

Open
this-oliver opened this issue Aug 2, 2024 · 0 comments
Open

Container options not parsed in acrtrc #2412

this-oliver opened this issue Aug 2, 2024 · 0 comments
Labels
kind/bug Something isn't working

Comments

@this-oliver
Copy link

Bug report info

act version:            0.2.61
GOOS:                   linux
GOARCH:                 amd64
NumCPU:                 20
Docker host:            DOCKER_HOST environment variable is not set
Sockets found:
        /var/run/docker.sock
Config files:
        /home/bob/.config/act/actrc:
                --platform ubuntu-latest=catthehacker/ubuntu:act-latest
                --platform ubuntu-22.04=catthehacker/ubuntu:act-22.04
                --platform ubuntu-20.04=catthehacker/ubuntu:act-20.04
                --platform ubuntu-18.04=catthehacker/ubuntu:act-18.04
                --platform arc=repo.artifactory.org.com/runner-image/releases/v1.1.4:v1.1.4
                --github-instance org.com
                --container-options "--group-add $(stat -c %g /var/run/docker.sock)"
                --replace-ghe-action-with-github-com actions/checkout,actions/setup-node,advanced-security/spdx-dependency-submission-action
Build info:
        Go version:            go1.20.14
        Module path:           github.com/nektos/act
        Main version:          (devel)
        Main path:             github.com/nektos/act
        Main checksum:
        Build settings:
                -buildmode:           exe
                -compiler:            gc
                -trimpath:            true
                CGO_ENABLED:          0
                GOARCH:               amd64
                GOOS:                 linux
                GOAMD64:              v1
                vcs:                  git
                vcs.revision:         e8856f0fb00fcdd16eef2325b845f55f5d346f51
                vcs.time:             2023-08-21T16:17:06Z
                vcs.modified:         true
Docker Engine:
        Engine version:        27.1.1
        Engine runtime:        runc
        Cgroup version:        1
        Cgroup driver:         cgroupfs
        Storage driver:        overlay2
        Registry URI:          https://index.docker.io/v1/
        OS:                    Debian GNU/Linux 12 (bookworm)
        OS type:               linux
        OS version:            12
        OS arch:               x86_64
        OS kernel:             5.15.153.1-microsoft-standard-WSL2
        OS CPU:                20
        OS memory:             31934 MB
        Security options:
                name=seccomp,profile=builtin

Command used with act

gh act

Describe issue

I get the error Cannot parse container options: '"--group-add $(stat -c %g /var/run/docker.sock)"': 'unknown flag: --group-add $(stat -c %g /var/run/docker.sock)' whenever I try to run act with the command --container-options "--group-add $(stat -c %g /var/run/docker.sock)" in the actrc config file but the issue doesn't appear when I run the same flag directly in the command as follows gh act --container-options "--group-add $(stat -c %g /var/run/docker.sock)".

Link to GitHub repository

No response

Workflow content

name: CI

on:
  push:
    branches: main
  pull_request:
    branches: main

jobs:
  quality-analysis:
    runs-on: arc
    steps:
      - name: checkout code
        uses: actions/checkout@v4
      - uses: actions/setup-node@v3
        with:
          node-version: 18
      - name: Install dependencies
        run: npm install
      - name: Run unit tests
        run: npm test

  security:
    runs-on: arc
    steps:
      - name: checkout code
        uses: actions/checkout@v4
      - name: Scan for code/dependency vulnerabilities
        uses: devsecops/action-security@v0
        with:
          report: true

  deploy:
    needs: [quality-analysis, security]
    runs-on: arc
    steps:
      - name: checkout code
        uses: actions/checkout@v4
      - name: build
        run: echo "add build steps here"
      - name: deploy
        run: echo "add deploy steps here"

Relevant log output

DEBU[0000] Handling container host and socket
DEBU[0000] Defaulting container socket to DOCKER_HOST
INFO[0000] Using docker host 'unix:///var/run/docker.sock', and daemon socket 'unix:///var/run/docker.sock'
DEBU[0000] Loading environment from /home/bob/app/.env
DEBU[0000] Loading action inputs from /home/bob/app/.input
DEBU[0000] Loading secrets from /home/bob/app/.secrets
DEBU[0000] Loading vars from /home/bob/app/.vars
DEBU[0000] Evaluated matrix inclusions: map[]
DEBU[0000] Loading workflows from '/home/bob/app/.github/workflows'
DEBU[0000] Loading workflows recursively
DEBU[0000] Found workflow 'ci.yaml' in '/home/bob/app/.github/workflows/ci.yaml'
DEBU[0000] Reading workflow '/home/bob/app/.github/workflows/ci.yaml'
DEBU[0000] Conditional GET for notices etag=3afd0192-3e44-4605-b79d-f67196b544ab
DEBU[0000] Preparing plan with all jobs
DEBU[0000] Using default workflow event: push
DEBU[0000] Planning jobs for event: push
DEBU[0000] gc: 2024-08-02 11:52:44.124777193 +0200 CEST m=+0.004219033  module=artifactcache
DEBU[0000] Plan Stages: [0xc0003b4270 0xc0003b4288]
DEBU[0000] Stages Runs: [quality-analysis security]
DEBU[0000] Job.Name: quality-analysis
DEBU[0000] Job.RawNeeds: {0 0    <nil> []    0 0}
DEBU[0000] Job.RawRunsOn: {8 0 !!str arc  <nil> []    11 14}
DEBU[0000] Job.Env: {0 0    <nil> []    0 0}
DEBU[0000] Job.If: {0 0  success()  <nil> []    0 0}
DEBU[0000] Job.Steps: checkout code
DEBU[0000] Job.Steps: actions/setup-node@v3
DEBU[0000] Job.Steps: Install dependencies
DEBU[0000] Job.Steps: Run unit tests
DEBU[0000] Job.TimeoutMinutes:
DEBU[0000] Job.Services: map[]
DEBU[0000] Job.Strategy: <nil>
DEBU[0000] Job.RawContainer: {0 0    <nil> []    0 0}
DEBU[0000] Job.Defaults.Run.Shell:
DEBU[0000] Job.Defaults.Run.WorkingDirectory:
DEBU[0000] Job.Outputs: map[]
DEBU[0000] Job.Uses:
DEBU[0000] Job.With: map[]
DEBU[0000] Job.Result:
DEBU[0000] Empty Strategy, matrixes=[map[]]
DEBU[0000] Job Matrices: [map[]]
DEBU[0000] Runner Matrices: map[]
DEBU[0000] Final matrix after applying user inclusions '[map[]]'
DEBU[0000] Loading revision from git directory
DEBU[0000] Found revision: c4030f4037c21775edd64dee9fd4a2d78c06f467
DEBU[0000] HEAD points to 'c4030f4037c21775edd64dee9fd4a2d78c06f467'
DEBU[0000] using github ref: refs/heads/ft-workflow
DEBU[0000] Found revision: c4030f4037c21775edd64dee9fd4a2d78c06f467
DEBU[0000] Stages Runs: [quality-analysis security]
DEBU[0000] Job.Name: security
DEBU[0000] Job.RawNeeds: {0 0    <nil> []    0 0}
DEBU[0000] Job.RawRunsOn: {8 0 !!str arc  <nil> []    27 14}
DEBU[0000] Job.Env: {0 0    <nil> []    0 0}
DEBU[0000] Job.If: {0 0  success()  <nil> []    0 0}
DEBU[0000] Job.Steps: checkout code
DEBU[0000] Job.Steps: Scan for code/dependency vulnerabilities
DEBU[0000] Job.TimeoutMinutes:
DEBU[0000] Job.Services: map[]
DEBU[0000] Job.Strategy: <nil>
DEBU[0000] Job.RawContainer: {0 0    <nil> []    0 0}
DEBU[0000] Job.Defaults.Run.Shell:
DEBU[0000] Job.Defaults.Run.WorkingDirectory:
DEBU[0000] Job.Outputs: map[]
DEBU[0000] Job.Uses:
DEBU[0000] Job.With: map[]
DEBU[0000] Job.Result:
DEBU[0000] Empty Strategy, matrixes=[map[]]
DEBU[0000] Job Matrices: [map[]]
DEBU[0000] Runner Matrices: map[]
DEBU[0000] Final matrix after applying user inclusions '[map[]]'
DEBU[0000] Loading revision from git directory
DEBU[0000] Found revision: c4030f4037c21775edd64dee9fd4a2d78c06f467
DEBU[0000] HEAD points to 'c4030f4037c21775edd64dee9fd4a2d78c06f467'
DEBU[0000] using github ref: refs/heads/ft-workflow
DEBU[0000] Found revision: c4030f4037c21775edd64dee9fd4a2d78c06f467
DEBU[0000] Detected CPUs: 20
[CI/quality-analysis] [DEBUG] evaluating expression 'success()'
[CI/security        ] [DEBUG] evaluating expression 'success()'
[CI/security        ] [DEBUG] expression 'success()' evaluated to 'true'
[CI/security        ] 🚀  Start image=repo.artifactory.org.com/runner-image/releases/v1.1.4:v1.1.4
[CI/quality-analysis] [DEBUG] expression 'success()' evaluated to 'true'
[CI/quality-analysis] 🚀  Start image=repo.artifactory.org.com/runner-image/releases/v1.1.4:v1.1.4
DEBU[0000] Parallel tasks (0) below minimum, setting to 1
[CI/security        ]   🐳  docker pull image=repo.artifactory.org.com/runner-image/releases/v1.1.4:v1.1.4 platform= username= forcePull=true
[CI/security        ] [DEBUG]   🐳  docker pull repo.artifactory.org.com/runner-image/releases/v1.1.4:v1.1.4
DEBU[0000] Parallel tasks (0) below minimum, setting to 1
[CI/security        ] [DEBUG] pulling image 'repo.artifactory.org.com/runner-image/releases/v1.1.4:v1.1.4' ()
[CI/quality-analysis]   🐳  docker pull image=repo.artifactory.org.com/runner-image/releases/v1.1.4:v1.1.4 platform= username= forcePull=true
[CI/quality-analysis] [DEBUG]   🐳  docker pull repo.artifactory.org.com/runner-image/releases/v1.1.4:v1.1.4
[CI/quality-analysis] [DEBUG] pulling image 'repo.artifactory.org.com/runner-image/releases/v1.1.4:v1.1.4' ()
[CI/quality-analysis] [DEBUG] Pulling from runner-image/releases/v1.1.4 :: v1.1.4
[CI/quality-analysis] [DEBUG] Digest: sha256:766b89cd40d477148de363e289e602cd8b436e5c8e0e5c7853cbbb83c25138b9 ::
[CI/quality-analysis] [DEBUG] Status: Image is up to date for repo.artifactory.org.com/runner-image/releases/v1.1.4:v1.1.4 ::
[CI/security        ] [DEBUG] Pulling from runner-image/releases/v1.1.4 :: v1.1.4
DEBU[0000] Parallel tasks (0) below minimum, setting to 1
[CI/quality-analysis]   🐳  docker create image=repo.artifactory.org.com/runner-image/releases/v1.1.4:v1.1.4 platform= entrypoint=["tail" "-f" "/dev/null"] cmd=[] network="host"
[CI/quality-analysis] [DEBUG] Common container.Config ==> &{Hostname: Domainname: User: AttachStdin:false AttachStdout:false AttachStderr:false ExposedPorts:map[] Tty:true OpenStdin:false StdinOnce:false Env:[RUNNER_TOOL_CACHE=/opt/hostedtoolcache RUNNER_OS=Linux RUNNER_ARCH=X64 RUNNER_TEMP=/tmp LANG=C.UTF-8] Cmd:[] Healthcheck:<nil> ArgsEscaped:false Image:repo.artifactory.org.com/runner-image/releases/v1.1.4:v1.1.4 Volumes:map[] WorkingDir:/home/bob/app Entrypoint:[] NetworkDisabled:false MacAddress: OnBuild:[] Labels:map[] StopSignal: StopTimeout:<nil> Shell:[]}
[CI/security        ] [DEBUG] Digest: sha256:766b89cd40d477148de363e289e602cd8b436e5c8e0e5c7853cbbb83c25138b9 ::
[CI/security        ] [DEBUG] Status: Image is up to date for repo.artifactory.org.com/runner-image/releases/v1.1.4:v1.1.4 ::
[CI/quality-analysis] [DEBUG] Common container.HostConfig ==> &{Binds:[/var/run/docker.sock:/var/run/docker.sock] ContainerIDFile: LogConfig:{Type: Config:map[]} NetworkMode:host PortBindings:map[] RestartPolicy:{Name: MaximumRetryCount:0} AutoRemove:false VolumeDriver: VolumesFrom:[] ConsoleSize:[0 0] Annotations:map[] CapAdd:[] CapDrop:[] CgroupnsMode: DNS:[] DNSOptions:[] DNSSearch:[] ExtraHosts:[] GroupAdd:[] IpcMode: Cgroup: Links:[] OomScoreAdj:0 PidMode: Privileged:false PublishAllPorts:false ReadonlyRootfs:false SecurityOpt:[] StorageOpt:map[] Tmpfs:map[] UTSMode: UsernsMode: ShmSize:0 Sysctls:map[] Runtime: Isolation: Resources:{CPUShares:0 Memory:0 NanoCPUs:0 CgroupParent: BlkioWeight:0 BlkioWeightDevice:[] BlkioDeviceReadBps:[] BlkioDeviceWriteBps:[] BlkioDeviceReadIOps:[] BlkioDeviceWriteIOps:[] CPUPeriod:0 CPUQuota:0 CPURealtimePeriod:0 CPURealtimeRuntime:0 CpusetCpus: CpusetMems: Devices:[] DeviceCgroupRules:[] DeviceRequests:[] KernelMemory:0 KernelMemoryTCP:0 MemoryReservation:0 MemorySwap:0 MemorySwappiness:<nil> OomKillDisable:<nil> PidsLimit:<nil> Ulimits:[] CPUCount:0 CPUPercent:0 IOMaximumIOps:0 IOMaximumBandwidth:0} Mounts:[{Type:volume Source:act-toolcache Target:/opt/hostedtoolcache ReadOnly:false Consistency: BindOptions:<nil> VolumeOptions:<nil> TmpfsOptions:<nil> ClusterOptions:<nil>} {Type:volume Source:act-CI-quality-analysis-13b4298e7cc91767972b8091021220fc686679f45dbc7129c784cde784fdc716-env Target:/var/run/act ReadOnly:false Consistency: BindOptions:<nil> VolumeOptions:<nil> TmpfsOptions:<nil> ClusterOptions:<nil>} {Type:volume Source:act-CI-quality-analysis-13b4298e7cc91767972b8091021220fc686679f45dbc7129c784cde784fdc716 Target:/home/bob/app ReadOnly:false Consistency: BindOptions:<nil> VolumeOptions:<nil> TmpfsOptions:<nil> ClusterOptions:<nil>}] MaskedPaths:[] ReadonlyPaths:[] Init:<nil>}
DEBU[0000] Parallel tasks (0) below minimum, setting to 1
[CI/security        ]   🐳  docker create image=repo.artifactory.org.com/runner-image/releases/v1.1.4:v1.1.4 platform= entrypoint=["tail" "-f" "/dev/null"] cmd=[] network="host"
[CI/security        ] [DEBUG] Common container.Config ==> &{Hostname: Domainname: User: AttachStdin:false AttachStdout:false AttachStderr:false ExposedPorts:map[] Tty:true OpenStdin:false StdinOnce:false Env:[RUNNER_TOOL_CACHE=/opt/hostedtoolcache RUNNER_OS=Linux RUNNER_ARCH=X64 RUNNER_TEMP=/tmp LANG=C.UTF-8] Cmd:[] Healthcheck:<nil> ArgsEscaped:false Image:repo.artifactory.org.com/runner-image/releases/v1.1.4:v1.1.4 Volumes:map[] WorkingDir:/home/bob/app Entrypoint:[] NetworkDisabled:false MacAddress: OnBuild:[] Labels:map[] StopSignal: StopTimeout:<nil> Shell:[]}
[CI/security        ] [DEBUG] Common container.HostConfig ==> &{Binds:[/var/run/docker.sock:/var/run/docker.sock] ContainerIDFile: LogConfig:{Type: Config:map[]} NetworkMode:host PortBindings:map[] RestartPolicy:{Name: MaximumRetryCount:0} AutoRemove:false VolumeDriver: VolumesFrom:[] ConsoleSize:[0 0] Annotations:map[] CapAdd:[] CapDrop:[] CgroupnsMode: DNS:[] DNSOptions:[] DNSSearch:[] ExtraHosts:[] GroupAdd:[] IpcMode: Cgroup: Links:[] OomScoreAdj:0 PidMode: Privileged:false PublishAllPorts:false ReadonlyRootfs:false SecurityOpt:[] StorageOpt:map[] Tmpfs:map[] UTSMode: UsernsMode: ShmSize:0 Sysctls:map[] Runtime: Isolation: Resources:{CPUShares:0 Memory:0 NanoCPUs:0 CgroupParent: BlkioWeight:0 BlkioWeightDevice:[] BlkioDeviceReadBps:[] BlkioDeviceWriteBps:[] BlkioDeviceReadIOps:[] BlkioDeviceWriteIOps:[] CPUPeriod:0 CPUQuota:0 CPURealtimePeriod:0 CPURealtimeRuntime:0 CpusetCpus: CpusetMems: Devices:[] DeviceCgroupRules:[] DeviceRequests:[] KernelMemory:0 KernelMemoryTCP:0 MemoryReservation:0 MemorySwap:0 MemorySwappiness:<nil> OomKillDisable:<nil> PidsLimit:<nil> Ulimits:[] CPUCount:0 CPUPercent:0 IOMaximumIOps:0 IOMaximumBandwidth:0} Mounts:[{Type:volume Source:act-toolcache Target:/opt/hostedtoolcache ReadOnly:false Consistency: BindOptions:<nil> VolumeOptions:<nil> TmpfsOptions:<nil> ClusterOptions:<nil>} {Type:volume Source:act-CI-security-c2a1f99cb29341accc7208e574e09ee6c85863cb6dc2f338067b26c4c7c2503a-env Target:/var/run/act ReadOnly:false Consistency: BindOptions:<nil> VolumeOptions:<nil> TmpfsOptions:<nil> ClusterOptions:<nil>} {Type:volume Source:act-CI-security-c2a1f99cb29341accc7208e574e09ee6c85863cb6dc2f338067b26c4c7c2503a Target:/home/bob/app ReadOnly:false Consistency: BindOptions:<nil> VolumeOptions:<nil> TmpfsOptions:<nil> ClusterOptions:<nil>}] MaskedPaths:[] ReadonlyPaths:[] Init:<nil>}
Error: Cannot parse container options: '"--group-add $(stat -c %g /var/run/docker.sock)"': 'unknown flag: --group-add $(stat -c %g /var/run/docker.sock)'

Additional information

I am running my environment on a Windows Subsystem for Linux (WSL) which depends on the Docker Desktop running on the Windows host (not on the WSL).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant