[GH-ISSUE #2126] Service ports do not get set in job context #1013

Closed
opened 2026-03-01 21:48:12 +03:00 by kerem · 2 comments
Owner

Originally created by @lbowenwest on GitHub (Dec 14, 2023).
Original GitHub issue: https://github.com/nektos/act/issues/2126

Bug report info

act version:            0.2.55
GOOS:                   darwin
GOARCH:                 arm64
NumCPU:                 8
Docker host:            DOCKER_HOST environment variable is not set
Sockets found:
	/var/run/docker.sock
	$HOME/.docker/run/docker.sock
Config files:           
	/Users/lygon/.actrc:
		-P ubuntu-latest=catthehacker/ubuntu:act-latest
		-P ubuntu-22.04=catthehacker/ubuntu:act-22.04
		-P ubuntu-20.04=catthehacker/ubuntu:act-20.04
		-P ubuntu-18.04=catthehacker/ubuntu:act-18.04
Build info:
	Go version:            go1.21.4
	Module path:           command-line-arguments
	Main version:          
	Main path:             
	Main checksum:         
	Build settings:
		-buildmode:           exe
		-compiler:            gc
		-ldflags:             -X main.version=0.2.55
		DefaultGODEBUG:       panicnil=1
		CGO_ENABLED:          1
		CGO_CFLAGS:           
		CGO_CPPFLAGS:         
		CGO_CXXFLAGS:         
		CGO_LDFLAGS:          
		GOARCH:               arm64
		GOOS:                 darwin
Docker Engine:
	Engine version:        24.0.6
	Engine runtime:        runc
	Cgroup version:        2
	Cgroup driver:         cgroupfs
	Storage driver:        overlay2
	Registry URI:          https://index.docker.io/v1/
	OS:                    Docker Desktop
	OS type:               linux
	OS version:            
	OS arch:               aarch64
	OS kernel:             6.4.16-linuxkit
	OS CPU:                8
	OS memory:             7844 MB
	Security options:
		name=seccomp,profile=unconfined
		name=cgroupns

Command used with act

act --container-architecture linux/amd64 -j test

Describe issue

When using a service container, and mapping the port to a random port, the value does not get set in job.services.<service_id>.ports[<port>] as it should according to the github docs here

Repo is private, but I recreated a minimal example

No response

Workflow content

name: "Example"
on: 
  pull_request:

jobs:
  test:
    runs-on: ubuntu-latest

    services:
      db:
        image: mysql:8
        env:
          MYSQL_ROOT_PASSWORD: root
          MYSQL_DATABASE: database
        ports:
          - 3306

    steps:
      - run: echo "${{ job.services.db.ports['3306'] }}"

Relevant log output

[Example/test] [DEBUG] evaluating expression 'success()'
[Example/test] [DEBUG] expression 'success()' evaluated to 'true'
[Example/test] 🚀  Start image=catthehacker/ubuntu:act-latest
[Example/test]   🐳  docker pull image=mysql:8 platform=linux/amd64 username= forcePull=true
[Example/test] [DEBUG]   🐳  docker pull mysql:8
[Example/test] [DEBUG] pulling image 'docker.io/library/mysql:8' (linux/amd64)
[Example/test] [DEBUG] Pulling from library/mysql :: 8
[Example/test] [DEBUG] Digest: sha256:6057dec95d87a0d7880d9cfc9b3d9292f9c11473a5104b906402a2b73396e377 :: 
[Example/test] [DEBUG] Status: Image is up to date for mysql:8 :: 
[Example/test]   🐳  docker pull image=catthehacker/ubuntu:act-latest platform=linux/amd64 username= forcePull=true
[Example/test] [DEBUG]   🐳  docker pull catthehacker/ubuntu:act-latest
[Example/test] [DEBUG] pulling image 'docker.io/catthehacker/ubuntu:act-latest' (linux/amd64)
[Example/test] [DEBUG] Pulling from catthehacker/ubuntu :: act-latest
[Example/test] [DEBUG] Digest: sha256:3ca465b3596b0a694f73ea22767d25bac06305be59e974fee40e48c568373c17 :: 
[Example/test] [DEBUG] Status: Image is up to date for catthehacker/ubuntu:act-latest :: 
[Example/test] Cleaning up services for job test
[Example/test] Cleaning up network for job test, and network name is: act-Example-test-dab04b86a6be4669e7b91a88293289b2744d3e265b118296c92a23453ea60396-test-network
[Example/test] [DEBUG] [{bactobio-platform_default f2582728ec9c49bfb71330ecaf6f2af1dc9fc3a04d2ae0439fad3897476b5cbf 2023-12-12 17:35:06.094836544 +0000 UTC local bridge false {default map[] [{172.28.0.0/16  172.28.0.1 map[]}]} false false false {} false map[] map[] map[com.docker.compose.network:default com.docker.compose.project:bactobio-platform com.docker.compose.version:2.23.0] [] map[]} {act-Python--Parallel-Tests-python-parallel-tests-3c0b24a5aeb7a45259bf9b9a5f69b50355a0cc63e249bca8b5ad2183e4cdca12-python-parallel-tests-network 330397e6f11ddb9fd27f8c839efeb0f1ebf77bc7b29f6bf652db9cbae4e6062e 2023-12-14 11:36:04.628778629 +0000 UTC local bridge false {default map[] [{192.168.80.0/20  192.168.80.1 map[]}]} false false false {} false map[] map[] map[] [] map[]} {axum-testing_default 28ca0e945938cf88b27b558ac4e557566551dbc5ac05d8d3c13e0682f4746cee 2023-12-13 14:44:17.191876796 +0000 UTC local bridge false {default map[] [{172.21.0.0/16  172.21.0.1 map[]}]} false false false {} false map[] map[] map[com.docker.compose.network:default com.docker.compose.project:axum-testing com.docker.compose.version:2.23.0] [] map[]} {act-Python--Linting--Serial-Tests-python-linting-and-serial-tes-7b7ddcfb01a0db81096efef32410986735ccabd607b91ecccc994c53858b9cea-python-linting-and-serial-tests-network fc9f0cfaf1a0110a5916de151a82fe93e68222422b99976ef33d53c5d45052b9 2023-12-14 11:42:45.722881092 +0000 UTC local bridge false {default map[] [{192.168.112.0/20  192.168.112.1 map[]}]} false false false {} false map[] map[] map[] [] map[]} {host 3613752d139462b50ff2a3d1065a765e157e937c16ef9880f2ed8c41f84fb64d 2023-11-27 10:59:59.831149792 +0000 UTC local host false {default map[] []} false false false {} false map[] map[] map[] [] map[]} {none 5031cab90b423c80854c6e405faeff8586e4d74d7fbd2bcaab52f16a258adbd9 2023-11-27 10:59:59.82776025 +0000 UTC local null false {default map[] []} false false false {} false map[] map[] map[] [] map[]} {bridge 360601ffb29ede98ea97d381bca84726f36b8955e425a290d6e45d5f1e612621 2023-12-12 21:13:25.578386458 +0000 UTC local bridge false {default map[] [{172.17.0.0/16  172.17.0.1 map[]}]} false false false {} false map[] map[com.docker.network.bridge.default_bridge:true com.docker.network.bridge.enable_icc:true com.docker.network.bridge.enable_ip_masquerade:true com.docker.network.bridge.host_binding_ipv4:0.0.0.0 com.docker.network.bridge.name:docker0 com.docker.network.driver.mtu:65535] map[] [] map[]}]
[Example/test] [DEBUG] [{bactobio-platform_default f2582728ec9c49bfb71330ecaf6f2af1dc9fc3a04d2ae0439fad3897476b5cbf 2023-12-12 17:35:06.094836544 +0000 UTC local bridge false {default map[] [{172.28.0.0/16  172.28.0.1 map[]}]} false false false {} false map[] map[] map[com.docker.compose.network:default com.docker.compose.project:bactobio-platform com.docker.compose.version:2.23.0] [] map[]} {act-Python--Parallel-Tests-python-parallel-tests-3c0b24a5aeb7a45259bf9b9a5f69b50355a0cc63e249bca8b5ad2183e4cdca12-python-parallel-tests-network 330397e6f11ddb9fd27f8c839efeb0f1ebf77bc7b29f6bf652db9cbae4e6062e 2023-12-14 11:36:04.628778629 +0000 UTC local bridge false {default map[] [{192.168.80.0/20  192.168.80.1 map[]}]} false false false {} false map[] map[] map[] [] map[]} {axum-testing_default 28ca0e945938cf88b27b558ac4e557566551dbc5ac05d8d3c13e0682f4746cee 2023-12-13 14:44:17.191876796 +0000 UTC local bridge false {default map[] [{172.21.0.0/16  172.21.0.1 map[]}]} false false false {} false map[] map[] map[com.docker.compose.network:default com.docker.compose.project:axum-testing com.docker.compose.version:2.23.0] [] map[]} {act-Python--Linting--Serial-Tests-python-linting-and-serial-tes-7b7ddcfb01a0db81096efef32410986735ccabd607b91ecccc994c53858b9cea-python-linting-and-serial-tests-network fc9f0cfaf1a0110a5916de151a82fe93e68222422b99976ef33d53c5d45052b9 2023-12-14 11:42:45.722881092 +0000 UTC local bridge false {default map[] [{192.168.112.0/20  192.168.112.1 map[]}]} false false false {} false map[] map[] map[] [] map[]} {host 3613752d139462b50ff2a3d1065a765e157e937c16ef9880f2ed8c41f84fb64d 2023-11-27 10:59:59.831149792 +0000 UTC local host false {default map[] []} false false false {} false map[] map[] map[] [] map[]} {none 5031cab90b423c80854c6e405faeff8586e4d74d7fbd2bcaab52f16a258adbd9 2023-11-27 10:59:59.82776025 +0000 UTC local null false {default map[] []} false false false {} false map[] map[] map[] [] map[]} {bridge 360601ffb29ede98ea97d381bca84726f36b8955e425a290d6e45d5f1e612621 2023-12-12 21:13:25.578386458 +0000 UTC local bridge false {default map[] [{172.17.0.0/16  172.17.0.1 map[]}]} false false false {} false map[] map[com.docker.network.bridge.default_bridge:true com.docker.network.bridge.enable_icc:true com.docker.network.bridge.enable_ip_masquerade:true com.docker.network.bridge.host_binding_ipv4:0.0.0.0 com.docker.network.bridge.name:docker0 com.docker.network.driver.mtu:65535] map[] [] map[]}]
[Example/test]   🐳  docker pull image=mysql:8 platform=linux/amd64 username= forcePull=false
[Example/test] [DEBUG]   🐳  docker pull mysql:8
[Example/test] [DEBUG] Image exists? true
[Example/test]   🐳  docker create image=mysql:8 platform=linux/amd64 entrypoint=[] cmd=[] network="act-Example-test-dab04b86a6be4669e7b91a88293289b2744d3e265b118296c92a23453ea60396-test-network"
[Example/test] [DEBUG] Common container.Config ==> &{Hostname: Domainname: User: AttachStdin:false AttachStdout:false AttachStderr:false ExposedPorts:map[3306/tcp:{}] Tty:false OpenStdin:false StdinOnce:false Env:[MYSQL_DATABASE=database MYSQL_ROOT_PASSWORD=root] Cmd:[] Healthcheck:<nil> ArgsEscaped:false Image:mysql:8 Volumes:map[] WorkingDir:/Users/lygon/Workspace/act-issue Entrypoint:[] NetworkDisabled:false MacAddress: OnBuild:[] Labels:map[] StopSignal: StopTimeout:<nil> Shell:[]}
[Example/test] [DEBUG] Common container.HostConfig ==> &{Binds:[/var/run/docker.sock:/var/run/docker.sock] ContainerIDFile: LogConfig:{Type: Config:map[]} NetworkMode:act-Example-test-dab04b86a6be4669e7b91a88293289b2744d3e265b118296c92a23453ea60396-test-network PortBindings:map[3306/tcp:[{HostIP: HostPort:}]] 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:[] MaskedPaths:[] ReadonlyPaths:[] Init:<nil>}
[Example/test] [DEBUG] input.NetworkAliases ==> [db]
[Example/test] [DEBUG] Created container name=act-Example-test-dab04b86a6be4669e7b91a88293289b2744d3e265b1182-197f6c4d2a229d9a7ad78513be088921ca057c11382d4071803e9023457ab909 id=7f70347d36c8c229da0754a9687d90b96b66cbefbf1b73c7e821b1b88a49759f from image mysql:8 (platform: linux/amd64)
[Example/test] [DEBUG] ENV ==> [MYSQL_DATABASE=database MYSQL_ROOT_PASSWORD=root]
[Example/test]   🐳  docker run image=mysql:8 platform=linux/amd64 entrypoint=[] cmd=[] network="act-Example-test-dab04b86a6be4669e7b91a88293289b2744d3e265b118296c92a23453ea60396-test-network"
[Example/test] [DEBUG] Starting container: 7f70347d36c8c229da0754a9687d90b96b66cbefbf1b73c7e821b1b88a49759f
[Example/test] [DEBUG] Started container: 7f70347d36c8c229da0754a9687d90b96b66cbefbf1b73c7e821b1b88a49759f
[Example/test]   🐳  docker create image=catthehacker/ubuntu:act-latest platform=linux/amd64 entrypoint=["tail" "-f" "/dev/null"] cmd=[] network="host"
[Example/test] [DEBUG] Common container.Config ==> &{Hostname: Domainname: User: AttachStdin:false AttachStdout:false AttachStderr:false ExposedPorts:map[] Tty:false OpenStdin:false StdinOnce:false Env:[RUNNER_TOOL_CACHE=/opt/hostedtoolcache RUNNER_OS=Linux RUNNER_ARCH=ARM64 RUNNER_TEMP=/tmp LANG=C.UTF-8] Cmd:[] Healthcheck:<nil> ArgsEscaped:false Image:catthehacker/ubuntu:act-latest Volumes:map[] WorkingDir:/Users/lygon/Workspace/act-issue Entrypoint:[] NetworkDisabled:false MacAddress: OnBuild:[] Labels:map[] StopSignal: StopTimeout:<nil> Shell:[]}
[Example/test] [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:/toolcache ReadOnly:false Consistency: BindOptions:<nil> VolumeOptions:<nil> TmpfsOptions:<nil> ClusterOptions:<nil>} {Type:volume Source:act-Example-test-dab04b86a6be4669e7b91a88293289b2744d3e265b118296c92a23453ea60396-env Target:/var/run/act ReadOnly:false Consistency: BindOptions:<nil> VolumeOptions:<nil> TmpfsOptions:<nil> ClusterOptions:<nil>} {Type:volume Source:act-Example-test-dab04b86a6be4669e7b91a88293289b2744d3e265b118296c92a23453ea60396 Target:/Users/lygon/Workspace/act-issue ReadOnly:false Consistency: BindOptions:<nil> VolumeOptions:<nil> TmpfsOptions:<nil> ClusterOptions:<nil>}] MaskedPaths:[] ReadonlyPaths:[] Init:<nil>}
[Example/test] [DEBUG] input.NetworkAliases ==> [test]
[Example/test] [DEBUG] not a use defined config??
[Example/test] [DEBUG] Created container name=act-Example-test-dab04b86a6be4669e7b91a88293289b2744d3e265b118296c92a23453ea60396 id=4bae0e3fde66f647856ed4c4a9da65700be041827622cec1b30c161a73634b94 from image catthehacker/ubuntu:act-latest (platform: linux/amd64)
[Example/test] [DEBUG] ENV ==> [RUNNER_TOOL_CACHE=/opt/hostedtoolcache RUNNER_OS=Linux RUNNER_ARCH=ARM64 RUNNER_TEMP=/tmp LANG=C.UTF-8]
[Example/test]   🐳  docker run image=catthehacker/ubuntu:act-latest platform=linux/amd64 entrypoint=["tail" "-f" "/dev/null"] cmd=[] network="host"
[Example/test] [DEBUG] Starting container: 4bae0e3fde66f647856ed4c4a9da65700be041827622cec1b30c161a73634b94
[Example/test] [DEBUG] Started container: 4bae0e3fde66f647856ed4c4a9da65700be041827622cec1b30c161a73634b94
[Example/test] [DEBUG] Writing entry to tarball workflow/event.json len:2
[Example/test] [DEBUG] Writing entry to tarball workflow/envs.txt len:0
[Example/test] [DEBUG] Extracting content to '/var/run/act/'
[Example/test] unable to get git repo: remote not found
[Example/test] [DEBUG] Found revision: 97dfb24f1bfc2e8bdc0a002d64e87a148dd15b6f
[Example/test] [DEBUG] expression 'echo "${{ job.services.db.ports['3306'] }}"' rewritten to 'format('echo "{0}"', job.services.db.ports['3306'])'
[Example/test] [DEBUG] evaluating expression 'format('echo "{0}"', job.services.db.ports['3306'])'
[Example/test] [DEBUG] expression 'format('echo "{0}"', job.services.db.ports['3306'])' evaluated to '%!t(string=echo "")'
[Example/test] [DEBUG] expression 'echo "${{ job.services.db.ports['3306'] }}"' rewritten to 'format('echo "{0}"', job.services.db.ports['3306'])'
[Example/test] [DEBUG] evaluating expression 'format('echo "{0}"', job.services.db.ports['3306'])'
[Example/test] [DEBUG] expression 'format('echo "{0}"', job.services.db.ports['3306'])' evaluated to '%!t(string=echo "")'
[Example/test] unable to get git repo: remote not found
[Example/test] [DEBUG] Found revision: 97dfb24f1bfc2e8bdc0a002d64e87a148dd15b6f
[Example/test] unable to get git repo: remote not found
[Example/test] [DEBUG] Found revision: 97dfb24f1bfc2e8bdc0a002d64e87a148dd15b6f
[Example/test] unable to get git repo: remote not found
[Example/test] [DEBUG] Found revision: 97dfb24f1bfc2e8bdc0a002d64e87a148dd15b6f
[Example/test] [DEBUG] setupEnv => map[ACT:true ACTIONS_CACHE_URL:http://192.168.207.146:51508/ CI:true GITHUB_ACTION:0 GITHUB_ACTIONS:true GITHUB_ACTION_PATH: GITHUB_ACTION_REF: GITHUB_ACTION_REPOSITORY: GITHUB_ACTOR:nektos/act GITHUB_API_URL:https://api.github.com GITHUB_BASE_REF: GITHUB_EVENT_NAME:pull_request GITHUB_EVENT_PATH:/var/run/act/workflow/event.json GITHUB_GRAPHQL_URL:https://api.github.com/graphql GITHUB_HEAD_REF: GITHUB_JOB:test GITHUB_REF:refs/pull/%!f(<nil>)/merge GITHUB_REF_NAME:%!f(<nil>)/merge GITHUB_REF_TYPE: GITHUB_REPOSITORY: GITHUB_REPOSITORY_OWNER: GITHUB_RETENTION_DAYS:0 GITHUB_RUN_ID:1 GITHUB_RUN_NUMBER:1 GITHUB_SERVER_URL:https://github.com GITHUB_SHA:97dfb24f1bfc2e8bdc0a002d64e87a148dd15b6f GITHUB_WORKFLOW:Example GITHUB_WORKSPACE:/Users/lygon/Workspace/act-issue ImageOS:ubuntu20 RUNNER_PERFLOG:/dev/null RUNNER_TRACKING_ID:]
[Example/test] unable to get git repo: remote not found
[Example/test] [DEBUG] Found revision: 97dfb24f1bfc2e8bdc0a002d64e87a148dd15b6f
[Example/test] unable to get git repo: remote not found
[Example/test] [DEBUG] Found revision: 97dfb24f1bfc2e8bdc0a002d64e87a148dd15b6f
[Example/test] [DEBUG] evaluating expression ''
[Example/test] [DEBUG] expression '' evaluated to 'true'
[Example/test] [DEBUG] expression 'echo "${{ job.services.db.ports['3306'] }}"' rewritten to 'format('echo "{0}"', job.services.db.ports['3306'])'
[Example/test] [DEBUG] evaluating expression 'format('echo "{0}"', job.services.db.ports['3306'])'
[Example/test] [DEBUG] expression 'format('echo "{0}"', job.services.db.ports['3306'])' evaluated to '%!t(string=echo "")'
[Example/test] ⭐ Run Main echo ""
[Example/test] [DEBUG] Writing entry to tarball workflow/outputcmd.txt len:0
[Example/test] [DEBUG] Writing entry to tarball workflow/statecmd.txt len:0
[Example/test] [DEBUG] Writing entry to tarball workflow/pathcmd.txt len:0
[Example/test] [DEBUG] Writing entry to tarball workflow/envs.txt len:0
[Example/test] [DEBUG] Writing entry to tarball workflow/SUMMARY.md len:0
[Example/test] [DEBUG] Extracting content to '/var/run/act'
[Example/test] unable to get git repo: remote not found
[Example/test] [DEBUG] Found revision: 97dfb24f1bfc2e8bdc0a002d64e87a148dd15b6f
[Example/test] unable to get git repo: remote not found
[Example/test] [DEBUG] Found revision: 97dfb24f1bfc2e8bdc0a002d64e87a148dd15b6f
[Example/test] unable to get git repo: remote not found
[Example/test] [DEBUG] Found revision: 97dfb24f1bfc2e8bdc0a002d64e87a148dd15b6f
[Example/test] unable to get git repo: remote not found
[Example/test] [DEBUG] Found revision: 97dfb24f1bfc2e8bdc0a002d64e87a148dd15b6f
[Example/test] [DEBUG] expression 'echo "${{ job.services.db.ports['3306'] }}"' rewritten to 'format('echo "{0}"', job.services.db.ports['3306'])'
[Example/test] [DEBUG] evaluating expression 'format('echo "{0}"', job.services.db.ports['3306'])'
[Example/test] [DEBUG] expression 'format('echo "{0}"', job.services.db.ports['3306'])' evaluated to '%!t(string=echo "")'
[Example/test] [DEBUG] Wrote command 

echo ""

 to 'workflow/0'
[Example/test] [DEBUG] Writing entry to tarball workflow/0 len:9
[Example/test] [DEBUG] Extracting content to '/var/run/act'
[Example/test]   🐳  docker exec cmd=[bash --noprofile --norc -e -o pipefail /var/run/act/workflow/0] user= workdir=
[Example/test] [DEBUG] Exec command '[bash --noprofile --norc -e -o pipefail /var/run/act/workflow/0]'
[Example/test] [DEBUG] Working directory '/Users/lygon/Workspace/act-issue'
[Example/test]   | 
[Example/test]   ✅  Success - Main echo ""
[Example/test] [DEBUG] expression 'echo "${{ job.services.db.ports['3306'] }}"' rewritten to 'format('echo "{0}"', job.services.db.ports['3306'])'
[Example/test] [DEBUG] evaluating expression 'format('echo "{0}"', job.services.db.ports['3306'])'
[Example/test] [DEBUG] expression 'format('echo "{0}"', job.services.db.ports['3306'])' evaluated to '%!t(string=echo "")'
[Example/test] Cleaning up container for job test
[Example/test] [DEBUG] Removed container: 4bae0e3fde66f647856ed4c4a9da65700be041827622cec1b30c161a73634b94
[Example/test] [DEBUG]   🐳  docker volume rm act-Example-test-dab04b86a6be4669e7b91a88293289b2744d3e265b118296c92a23453ea60396
[Example/test] [DEBUG]   🐳  docker volume rm act-Example-test-dab04b86a6be4669e7b91a88293289b2744d3e265b118296c92a23453ea60396-env
[Example/test] Cleaning up services for job test
[Example/test] [DEBUG] Removed container: 7f70347d36c8c229da0754a9687d90b96b66cbefbf1b73c7e821b1b88a49759f
[Example/test] Cleaning up network for job test, and network name is: act-Example-test-dab04b86a6be4669e7b91a88293289b2744d3e265b118296c92a23453ea60396-test-network
[Example/test] [DEBUG] [{act-Example-test-dab04b86a6be4669e7b91a88293289b2744d3e265b118296c92a23453ea60396-test-network a70e4f7ab075cd3eba5805b62f76e78e3b88e23fd199cfe82519328e7f667042 2023-12-14 12:08:19.503293594 +0000 UTC local bridge false {default map[] [{192.168.192.0/20  192.168.192.1 map[]}]} false false false {} false map[] map[] map[] [] map[]} {host 3613752d139462b50ff2a3d1065a765e157e937c16ef9880f2ed8c41f84fb64d 2023-11-27 10:59:59.831149792 +0000 UTC local host false {default map[] []} false false false {} false map[] map[] map[] [] map[]} {none 5031cab90b423c80854c6e405faeff8586e4d74d7fbd2bcaab52f16a258adbd9 2023-11-27 10:59:59.82776025 +0000 UTC local null false {default map[] []} false false false {} false map[] map[] map[] [] map[]} {bridge 360601ffb29ede98ea97d381bca84726f36b8955e425a290d6e45d5f1e612621 2023-12-12 21:13:25.578386458 +0000 UTC local bridge false {default map[] [{172.17.0.0/16  172.17.0.1 map[]}]} false false false {} false map[] map[com.docker.network.bridge.default_bridge:true com.docker.network.bridge.enable_icc:true com.docker.network.bridge.enable_ip_masquerade:true com.docker.network.bridge.host_binding_ipv4:0.0.0.0 com.docker.network.bridge.name:docker0 com.docker.network.driver.mtu:65535] map[] [] map[]} {bactobio-platform_default f2582728ec9c49bfb71330ecaf6f2af1dc9fc3a04d2ae0439fad3897476b5cbf 2023-12-12 17:35:06.094836544 +0000 UTC local bridge false {default map[] [{172.28.0.0/16  172.28.0.1 map[]}]} false false false {} false map[] map[] map[com.docker.compose.network:default com.docker.compose.project:bactobio-platform com.docker.compose.version:2.23.0] [] map[]} {act-Python--Parallel-Tests-python-parallel-tests-3c0b24a5aeb7a45259bf9b9a5f69b50355a0cc63e249bca8b5ad2183e4cdca12-python-parallel-tests-network 330397e6f11ddb9fd27f8c839efeb0f1ebf77bc7b29f6bf652db9cbae4e6062e 2023-12-14 11:36:04.628778629 +0000 UTC local bridge false {default map[] [{192.168.80.0/20  192.168.80.1 map[]}]} false false false {} false map[] map[] map[] [] map[]} {axum-testing_default 28ca0e945938cf88b27b558ac4e557566551dbc5ac05d8d3c13e0682f4746cee 2023-12-13 14:44:17.191876796 +0000 UTC local bridge false {default map[] [{172.21.0.0/16  172.21.0.1 map[]}]} false false false {} false map[] map[] map[com.docker.compose.network:default com.docker.compose.project:axum-testing com.docker.compose.version:2.23.0] [] map[]} {act-Python--Linting--Serial-Tests-python-linting-and-serial-tes-7b7ddcfb01a0db81096efef32410986735ccabd607b91ecccc994c53858b9cea-python-linting-and-serial-tests-network fc9f0cfaf1a0110a5916de151a82fe93e68222422b99976ef33d53c5d45052b9 2023-12-14 11:42:45.722881092 +0000 UTC local bridge false {default map[] [{192.168.112.0/20  192.168.112.1 map[]}]} false false false {} false map[] map[] map[] [] map[]}]
[Example/test] 🏁  Job succeeded
[Example/test] unable to get git repo: remote not found
[Example/test] [DEBUG] Found revision: 97dfb24f1bfc2e8bdc0a002d64e87a148dd15b6f

Additional information

No response

Originally created by @lbowenwest on GitHub (Dec 14, 2023). Original GitHub issue: https://github.com/nektos/act/issues/2126 ### Bug report info ```plain text act version: 0.2.55 GOOS: darwin GOARCH: arm64 NumCPU: 8 Docker host: DOCKER_HOST environment variable is not set Sockets found: /var/run/docker.sock $HOME/.docker/run/docker.sock Config files: /Users/lygon/.actrc: -P ubuntu-latest=catthehacker/ubuntu:act-latest -P ubuntu-22.04=catthehacker/ubuntu:act-22.04 -P ubuntu-20.04=catthehacker/ubuntu:act-20.04 -P ubuntu-18.04=catthehacker/ubuntu:act-18.04 Build info: Go version: go1.21.4 Module path: command-line-arguments Main version: Main path: Main checksum: Build settings: -buildmode: exe -compiler: gc -ldflags: -X main.version=0.2.55 DefaultGODEBUG: panicnil=1 CGO_ENABLED: 1 CGO_CFLAGS: CGO_CPPFLAGS: CGO_CXXFLAGS: CGO_LDFLAGS: GOARCH: arm64 GOOS: darwin Docker Engine: Engine version: 24.0.6 Engine runtime: runc Cgroup version: 2 Cgroup driver: cgroupfs Storage driver: overlay2 Registry URI: https://index.docker.io/v1/ OS: Docker Desktop OS type: linux OS version: OS arch: aarch64 OS kernel: 6.4.16-linuxkit OS CPU: 8 OS memory: 7844 MB Security options: name=seccomp,profile=unconfined name=cgroupns ``` ### Command used with act ```sh act --container-architecture linux/amd64 -j test ``` ### Describe issue When using a service container, and mapping the port to a random port, the value does not get set in `job.services.<service_id>.ports[<port>]` as it should according to the github [docs here](https://docs.github.com/en/actions/using-containerized-services/about-service-containers#mapping-docker-host-and-service-container-ports) Repo is private, but I recreated a minimal example ### Link to GitHub repository _No response_ ### Workflow content ```yml name: "Example" on: pull_request: jobs: test: runs-on: ubuntu-latest services: db: image: mysql:8 env: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: database ports: - 3306 steps: - run: echo "${{ job.services.db.ports['3306'] }}" ``` ### Relevant log output ```sh [Example/test] [DEBUG] evaluating expression 'success()' [Example/test] [DEBUG] expression 'success()' evaluated to 'true' [Example/test] 🚀 Start image=catthehacker/ubuntu:act-latest [Example/test] 🐳 docker pull image=mysql:8 platform=linux/amd64 username= forcePull=true [Example/test] [DEBUG] 🐳 docker pull mysql:8 [Example/test] [DEBUG] pulling image 'docker.io/library/mysql:8' (linux/amd64) [Example/test] [DEBUG] Pulling from library/mysql :: 8 [Example/test] [DEBUG] Digest: sha256:6057dec95d87a0d7880d9cfc9b3d9292f9c11473a5104b906402a2b73396e377 :: [Example/test] [DEBUG] Status: Image is up to date for mysql:8 :: [Example/test] 🐳 docker pull image=catthehacker/ubuntu:act-latest platform=linux/amd64 username= forcePull=true [Example/test] [DEBUG] 🐳 docker pull catthehacker/ubuntu:act-latest [Example/test] [DEBUG] pulling image 'docker.io/catthehacker/ubuntu:act-latest' (linux/amd64) [Example/test] [DEBUG] Pulling from catthehacker/ubuntu :: act-latest [Example/test] [DEBUG] Digest: sha256:3ca465b3596b0a694f73ea22767d25bac06305be59e974fee40e48c568373c17 :: [Example/test] [DEBUG] Status: Image is up to date for catthehacker/ubuntu:act-latest :: [Example/test] Cleaning up services for job test [Example/test] Cleaning up network for job test, and network name is: act-Example-test-dab04b86a6be4669e7b91a88293289b2744d3e265b118296c92a23453ea60396-test-network [Example/test] [DEBUG] [{bactobio-platform_default f2582728ec9c49bfb71330ecaf6f2af1dc9fc3a04d2ae0439fad3897476b5cbf 2023-12-12 17:35:06.094836544 +0000 UTC local bridge false {default map[] [{172.28.0.0/16 172.28.0.1 map[]}]} false false false {} false map[] map[] map[com.docker.compose.network:default com.docker.compose.project:bactobio-platform com.docker.compose.version:2.23.0] [] map[]} {act-Python--Parallel-Tests-python-parallel-tests-3c0b24a5aeb7a45259bf9b9a5f69b50355a0cc63e249bca8b5ad2183e4cdca12-python-parallel-tests-network 330397e6f11ddb9fd27f8c839efeb0f1ebf77bc7b29f6bf652db9cbae4e6062e 2023-12-14 11:36:04.628778629 +0000 UTC local bridge false {default map[] [{192.168.80.0/20 192.168.80.1 map[]}]} false false false {} false map[] map[] map[] [] map[]} {axum-testing_default 28ca0e945938cf88b27b558ac4e557566551dbc5ac05d8d3c13e0682f4746cee 2023-12-13 14:44:17.191876796 +0000 UTC local bridge false {default map[] [{172.21.0.0/16 172.21.0.1 map[]}]} false false false {} false map[] map[] map[com.docker.compose.network:default com.docker.compose.project:axum-testing com.docker.compose.version:2.23.0] [] map[]} {act-Python--Linting--Serial-Tests-python-linting-and-serial-tes-7b7ddcfb01a0db81096efef32410986735ccabd607b91ecccc994c53858b9cea-python-linting-and-serial-tests-network fc9f0cfaf1a0110a5916de151a82fe93e68222422b99976ef33d53c5d45052b9 2023-12-14 11:42:45.722881092 +0000 UTC local bridge false {default map[] [{192.168.112.0/20 192.168.112.1 map[]}]} false false false {} false map[] map[] map[] [] map[]} {host 3613752d139462b50ff2a3d1065a765e157e937c16ef9880f2ed8c41f84fb64d 2023-11-27 10:59:59.831149792 +0000 UTC local host false {default map[] []} false false false {} false map[] map[] map[] [] map[]} {none 5031cab90b423c80854c6e405faeff8586e4d74d7fbd2bcaab52f16a258adbd9 2023-11-27 10:59:59.82776025 +0000 UTC local null false {default map[] []} false false false {} false map[] map[] map[] [] map[]} {bridge 360601ffb29ede98ea97d381bca84726f36b8955e425a290d6e45d5f1e612621 2023-12-12 21:13:25.578386458 +0000 UTC local bridge false {default map[] [{172.17.0.0/16 172.17.0.1 map[]}]} false false false {} false map[] map[com.docker.network.bridge.default_bridge:true com.docker.network.bridge.enable_icc:true com.docker.network.bridge.enable_ip_masquerade:true com.docker.network.bridge.host_binding_ipv4:0.0.0.0 com.docker.network.bridge.name:docker0 com.docker.network.driver.mtu:65535] map[] [] map[]}] [Example/test] [DEBUG] [{bactobio-platform_default f2582728ec9c49bfb71330ecaf6f2af1dc9fc3a04d2ae0439fad3897476b5cbf 2023-12-12 17:35:06.094836544 +0000 UTC local bridge false {default map[] [{172.28.0.0/16 172.28.0.1 map[]}]} false false false {} false map[] map[] map[com.docker.compose.network:default com.docker.compose.project:bactobio-platform com.docker.compose.version:2.23.0] [] map[]} {act-Python--Parallel-Tests-python-parallel-tests-3c0b24a5aeb7a45259bf9b9a5f69b50355a0cc63e249bca8b5ad2183e4cdca12-python-parallel-tests-network 330397e6f11ddb9fd27f8c839efeb0f1ebf77bc7b29f6bf652db9cbae4e6062e 2023-12-14 11:36:04.628778629 +0000 UTC local bridge false {default map[] [{192.168.80.0/20 192.168.80.1 map[]}]} false false false {} false map[] map[] map[] [] map[]} {axum-testing_default 28ca0e945938cf88b27b558ac4e557566551dbc5ac05d8d3c13e0682f4746cee 2023-12-13 14:44:17.191876796 +0000 UTC local bridge false {default map[] [{172.21.0.0/16 172.21.0.1 map[]}]} false false false {} false map[] map[] map[com.docker.compose.network:default com.docker.compose.project:axum-testing com.docker.compose.version:2.23.0] [] map[]} {act-Python--Linting--Serial-Tests-python-linting-and-serial-tes-7b7ddcfb01a0db81096efef32410986735ccabd607b91ecccc994c53858b9cea-python-linting-and-serial-tests-network fc9f0cfaf1a0110a5916de151a82fe93e68222422b99976ef33d53c5d45052b9 2023-12-14 11:42:45.722881092 +0000 UTC local bridge false {default map[] [{192.168.112.0/20 192.168.112.1 map[]}]} false false false {} false map[] map[] map[] [] map[]} {host 3613752d139462b50ff2a3d1065a765e157e937c16ef9880f2ed8c41f84fb64d 2023-11-27 10:59:59.831149792 +0000 UTC local host false {default map[] []} false false false {} false map[] map[] map[] [] map[]} {none 5031cab90b423c80854c6e405faeff8586e4d74d7fbd2bcaab52f16a258adbd9 2023-11-27 10:59:59.82776025 +0000 UTC local null false {default map[] []} false false false {} false map[] map[] map[] [] map[]} {bridge 360601ffb29ede98ea97d381bca84726f36b8955e425a290d6e45d5f1e612621 2023-12-12 21:13:25.578386458 +0000 UTC local bridge false {default map[] [{172.17.0.0/16 172.17.0.1 map[]}]} false false false {} false map[] map[com.docker.network.bridge.default_bridge:true com.docker.network.bridge.enable_icc:true com.docker.network.bridge.enable_ip_masquerade:true com.docker.network.bridge.host_binding_ipv4:0.0.0.0 com.docker.network.bridge.name:docker0 com.docker.network.driver.mtu:65535] map[] [] map[]}] [Example/test] 🐳 docker pull image=mysql:8 platform=linux/amd64 username= forcePull=false [Example/test] [DEBUG] 🐳 docker pull mysql:8 [Example/test] [DEBUG] Image exists? true [Example/test] 🐳 docker create image=mysql:8 platform=linux/amd64 entrypoint=[] cmd=[] network="act-Example-test-dab04b86a6be4669e7b91a88293289b2744d3e265b118296c92a23453ea60396-test-network" [Example/test] [DEBUG] Common container.Config ==> &{Hostname: Domainname: User: AttachStdin:false AttachStdout:false AttachStderr:false ExposedPorts:map[3306/tcp:{}] Tty:false OpenStdin:false StdinOnce:false Env:[MYSQL_DATABASE=database MYSQL_ROOT_PASSWORD=root] Cmd:[] Healthcheck:<nil> ArgsEscaped:false Image:mysql:8 Volumes:map[] WorkingDir:/Users/lygon/Workspace/act-issue Entrypoint:[] NetworkDisabled:false MacAddress: OnBuild:[] Labels:map[] StopSignal: StopTimeout:<nil> Shell:[]} [Example/test] [DEBUG] Common container.HostConfig ==> &{Binds:[/var/run/docker.sock:/var/run/docker.sock] ContainerIDFile: LogConfig:{Type: Config:map[]} NetworkMode:act-Example-test-dab04b86a6be4669e7b91a88293289b2744d3e265b118296c92a23453ea60396-test-network PortBindings:map[3306/tcp:[{HostIP: HostPort:}]] 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:[] MaskedPaths:[] ReadonlyPaths:[] Init:<nil>} [Example/test] [DEBUG] input.NetworkAliases ==> [db] [Example/test] [DEBUG] Created container name=act-Example-test-dab04b86a6be4669e7b91a88293289b2744d3e265b1182-197f6c4d2a229d9a7ad78513be088921ca057c11382d4071803e9023457ab909 id=7f70347d36c8c229da0754a9687d90b96b66cbefbf1b73c7e821b1b88a49759f from image mysql:8 (platform: linux/amd64) [Example/test] [DEBUG] ENV ==> [MYSQL_DATABASE=database MYSQL_ROOT_PASSWORD=root] [Example/test] 🐳 docker run image=mysql:8 platform=linux/amd64 entrypoint=[] cmd=[] network="act-Example-test-dab04b86a6be4669e7b91a88293289b2744d3e265b118296c92a23453ea60396-test-network" [Example/test] [DEBUG] Starting container: 7f70347d36c8c229da0754a9687d90b96b66cbefbf1b73c7e821b1b88a49759f [Example/test] [DEBUG] Started container: 7f70347d36c8c229da0754a9687d90b96b66cbefbf1b73c7e821b1b88a49759f [Example/test] 🐳 docker create image=catthehacker/ubuntu:act-latest platform=linux/amd64 entrypoint=["tail" "-f" "/dev/null"] cmd=[] network="host" [Example/test] [DEBUG] Common container.Config ==> &{Hostname: Domainname: User: AttachStdin:false AttachStdout:false AttachStderr:false ExposedPorts:map[] Tty:false OpenStdin:false StdinOnce:false Env:[RUNNER_TOOL_CACHE=/opt/hostedtoolcache RUNNER_OS=Linux RUNNER_ARCH=ARM64 RUNNER_TEMP=/tmp LANG=C.UTF-8] Cmd:[] Healthcheck:<nil> ArgsEscaped:false Image:catthehacker/ubuntu:act-latest Volumes:map[] WorkingDir:/Users/lygon/Workspace/act-issue Entrypoint:[] NetworkDisabled:false MacAddress: OnBuild:[] Labels:map[] StopSignal: StopTimeout:<nil> Shell:[]} [Example/test] [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:/toolcache ReadOnly:false Consistency: BindOptions:<nil> VolumeOptions:<nil> TmpfsOptions:<nil> ClusterOptions:<nil>} {Type:volume Source:act-Example-test-dab04b86a6be4669e7b91a88293289b2744d3e265b118296c92a23453ea60396-env Target:/var/run/act ReadOnly:false Consistency: BindOptions:<nil> VolumeOptions:<nil> TmpfsOptions:<nil> ClusterOptions:<nil>} {Type:volume Source:act-Example-test-dab04b86a6be4669e7b91a88293289b2744d3e265b118296c92a23453ea60396 Target:/Users/lygon/Workspace/act-issue ReadOnly:false Consistency: BindOptions:<nil> VolumeOptions:<nil> TmpfsOptions:<nil> ClusterOptions:<nil>}] MaskedPaths:[] ReadonlyPaths:[] Init:<nil>} [Example/test] [DEBUG] input.NetworkAliases ==> [test] [Example/test] [DEBUG] not a use defined config?? [Example/test] [DEBUG] Created container name=act-Example-test-dab04b86a6be4669e7b91a88293289b2744d3e265b118296c92a23453ea60396 id=4bae0e3fde66f647856ed4c4a9da65700be041827622cec1b30c161a73634b94 from image catthehacker/ubuntu:act-latest (platform: linux/amd64) [Example/test] [DEBUG] ENV ==> [RUNNER_TOOL_CACHE=/opt/hostedtoolcache RUNNER_OS=Linux RUNNER_ARCH=ARM64 RUNNER_TEMP=/tmp LANG=C.UTF-8] [Example/test] 🐳 docker run image=catthehacker/ubuntu:act-latest platform=linux/amd64 entrypoint=["tail" "-f" "/dev/null"] cmd=[] network="host" [Example/test] [DEBUG] Starting container: 4bae0e3fde66f647856ed4c4a9da65700be041827622cec1b30c161a73634b94 [Example/test] [DEBUG] Started container: 4bae0e3fde66f647856ed4c4a9da65700be041827622cec1b30c161a73634b94 [Example/test] [DEBUG] Writing entry to tarball workflow/event.json len:2 [Example/test] [DEBUG] Writing entry to tarball workflow/envs.txt len:0 [Example/test] [DEBUG] Extracting content to '/var/run/act/' [Example/test] unable to get git repo: remote not found [Example/test] [DEBUG] Found revision: 97dfb24f1bfc2e8bdc0a002d64e87a148dd15b6f [Example/test] [DEBUG] expression 'echo "${{ job.services.db.ports['3306'] }}"' rewritten to 'format('echo "{0}"', job.services.db.ports['3306'])' [Example/test] [DEBUG] evaluating expression 'format('echo "{0}"', job.services.db.ports['3306'])' [Example/test] [DEBUG] expression 'format('echo "{0}"', job.services.db.ports['3306'])' evaluated to '%!t(string=echo "")' [Example/test] [DEBUG] expression 'echo "${{ job.services.db.ports['3306'] }}"' rewritten to 'format('echo "{0}"', job.services.db.ports['3306'])' [Example/test] [DEBUG] evaluating expression 'format('echo "{0}"', job.services.db.ports['3306'])' [Example/test] [DEBUG] expression 'format('echo "{0}"', job.services.db.ports['3306'])' evaluated to '%!t(string=echo "")' [Example/test] unable to get git repo: remote not found [Example/test] [DEBUG] Found revision: 97dfb24f1bfc2e8bdc0a002d64e87a148dd15b6f [Example/test] unable to get git repo: remote not found [Example/test] [DEBUG] Found revision: 97dfb24f1bfc2e8bdc0a002d64e87a148dd15b6f [Example/test] unable to get git repo: remote not found [Example/test] [DEBUG] Found revision: 97dfb24f1bfc2e8bdc0a002d64e87a148dd15b6f [Example/test] [DEBUG] setupEnv => map[ACT:true ACTIONS_CACHE_URL:http://192.168.207.146:51508/ CI:true GITHUB_ACTION:0 GITHUB_ACTIONS:true GITHUB_ACTION_PATH: GITHUB_ACTION_REF: GITHUB_ACTION_REPOSITORY: GITHUB_ACTOR:nektos/act GITHUB_API_URL:https://api.github.com GITHUB_BASE_REF: GITHUB_EVENT_NAME:pull_request GITHUB_EVENT_PATH:/var/run/act/workflow/event.json GITHUB_GRAPHQL_URL:https://api.github.com/graphql GITHUB_HEAD_REF: GITHUB_JOB:test GITHUB_REF:refs/pull/%!f(<nil>)/merge GITHUB_REF_NAME:%!f(<nil>)/merge GITHUB_REF_TYPE: GITHUB_REPOSITORY: GITHUB_REPOSITORY_OWNER: GITHUB_RETENTION_DAYS:0 GITHUB_RUN_ID:1 GITHUB_RUN_NUMBER:1 GITHUB_SERVER_URL:https://github.com GITHUB_SHA:97dfb24f1bfc2e8bdc0a002d64e87a148dd15b6f GITHUB_WORKFLOW:Example GITHUB_WORKSPACE:/Users/lygon/Workspace/act-issue ImageOS:ubuntu20 RUNNER_PERFLOG:/dev/null RUNNER_TRACKING_ID:] [Example/test] unable to get git repo: remote not found [Example/test] [DEBUG] Found revision: 97dfb24f1bfc2e8bdc0a002d64e87a148dd15b6f [Example/test] unable to get git repo: remote not found [Example/test] [DEBUG] Found revision: 97dfb24f1bfc2e8bdc0a002d64e87a148dd15b6f [Example/test] [DEBUG] evaluating expression '' [Example/test] [DEBUG] expression '' evaluated to 'true' [Example/test] [DEBUG] expression 'echo "${{ job.services.db.ports['3306'] }}"' rewritten to 'format('echo "{0}"', job.services.db.ports['3306'])' [Example/test] [DEBUG] evaluating expression 'format('echo "{0}"', job.services.db.ports['3306'])' [Example/test] [DEBUG] expression 'format('echo "{0}"', job.services.db.ports['3306'])' evaluated to '%!t(string=echo "")' [Example/test] ⭐ Run Main echo "" [Example/test] [DEBUG] Writing entry to tarball workflow/outputcmd.txt len:0 [Example/test] [DEBUG] Writing entry to tarball workflow/statecmd.txt len:0 [Example/test] [DEBUG] Writing entry to tarball workflow/pathcmd.txt len:0 [Example/test] [DEBUG] Writing entry to tarball workflow/envs.txt len:0 [Example/test] [DEBUG] Writing entry to tarball workflow/SUMMARY.md len:0 [Example/test] [DEBUG] Extracting content to '/var/run/act' [Example/test] unable to get git repo: remote not found [Example/test] [DEBUG] Found revision: 97dfb24f1bfc2e8bdc0a002d64e87a148dd15b6f [Example/test] unable to get git repo: remote not found [Example/test] [DEBUG] Found revision: 97dfb24f1bfc2e8bdc0a002d64e87a148dd15b6f [Example/test] unable to get git repo: remote not found [Example/test] [DEBUG] Found revision: 97dfb24f1bfc2e8bdc0a002d64e87a148dd15b6f [Example/test] unable to get git repo: remote not found [Example/test] [DEBUG] Found revision: 97dfb24f1bfc2e8bdc0a002d64e87a148dd15b6f [Example/test] [DEBUG] expression 'echo "${{ job.services.db.ports['3306'] }}"' rewritten to 'format('echo "{0}"', job.services.db.ports['3306'])' [Example/test] [DEBUG] evaluating expression 'format('echo "{0}"', job.services.db.ports['3306'])' [Example/test] [DEBUG] expression 'format('echo "{0}"', job.services.db.ports['3306'])' evaluated to '%!t(string=echo "")' [Example/test] [DEBUG] Wrote command echo "" to 'workflow/0' [Example/test] [DEBUG] Writing entry to tarball workflow/0 len:9 [Example/test] [DEBUG] Extracting content to '/var/run/act' [Example/test] 🐳 docker exec cmd=[bash --noprofile --norc -e -o pipefail /var/run/act/workflow/0] user= workdir= [Example/test] [DEBUG] Exec command '[bash --noprofile --norc -e -o pipefail /var/run/act/workflow/0]' [Example/test] [DEBUG] Working directory '/Users/lygon/Workspace/act-issue' [Example/test] | [Example/test] ✅ Success - Main echo "" [Example/test] [DEBUG] expression 'echo "${{ job.services.db.ports['3306'] }}"' rewritten to 'format('echo "{0}"', job.services.db.ports['3306'])' [Example/test] [DEBUG] evaluating expression 'format('echo "{0}"', job.services.db.ports['3306'])' [Example/test] [DEBUG] expression 'format('echo "{0}"', job.services.db.ports['3306'])' evaluated to '%!t(string=echo "")' [Example/test] Cleaning up container for job test [Example/test] [DEBUG] Removed container: 4bae0e3fde66f647856ed4c4a9da65700be041827622cec1b30c161a73634b94 [Example/test] [DEBUG] 🐳 docker volume rm act-Example-test-dab04b86a6be4669e7b91a88293289b2744d3e265b118296c92a23453ea60396 [Example/test] [DEBUG] 🐳 docker volume rm act-Example-test-dab04b86a6be4669e7b91a88293289b2744d3e265b118296c92a23453ea60396-env [Example/test] Cleaning up services for job test [Example/test] [DEBUG] Removed container: 7f70347d36c8c229da0754a9687d90b96b66cbefbf1b73c7e821b1b88a49759f [Example/test] Cleaning up network for job test, and network name is: act-Example-test-dab04b86a6be4669e7b91a88293289b2744d3e265b118296c92a23453ea60396-test-network [Example/test] [DEBUG] [{act-Example-test-dab04b86a6be4669e7b91a88293289b2744d3e265b118296c92a23453ea60396-test-network a70e4f7ab075cd3eba5805b62f76e78e3b88e23fd199cfe82519328e7f667042 2023-12-14 12:08:19.503293594 +0000 UTC local bridge false {default map[] [{192.168.192.0/20 192.168.192.1 map[]}]} false false false {} false map[] map[] map[] [] map[]} {host 3613752d139462b50ff2a3d1065a765e157e937c16ef9880f2ed8c41f84fb64d 2023-11-27 10:59:59.831149792 +0000 UTC local host false {default map[] []} false false false {} false map[] map[] map[] [] map[]} {none 5031cab90b423c80854c6e405faeff8586e4d74d7fbd2bcaab52f16a258adbd9 2023-11-27 10:59:59.82776025 +0000 UTC local null false {default map[] []} false false false {} false map[] map[] map[] [] map[]} {bridge 360601ffb29ede98ea97d381bca84726f36b8955e425a290d6e45d5f1e612621 2023-12-12 21:13:25.578386458 +0000 UTC local bridge false {default map[] [{172.17.0.0/16 172.17.0.1 map[]}]} false false false {} false map[] map[com.docker.network.bridge.default_bridge:true com.docker.network.bridge.enable_icc:true com.docker.network.bridge.enable_ip_masquerade:true com.docker.network.bridge.host_binding_ipv4:0.0.0.0 com.docker.network.bridge.name:docker0 com.docker.network.driver.mtu:65535] map[] [] map[]} {bactobio-platform_default f2582728ec9c49bfb71330ecaf6f2af1dc9fc3a04d2ae0439fad3897476b5cbf 2023-12-12 17:35:06.094836544 +0000 UTC local bridge false {default map[] [{172.28.0.0/16 172.28.0.1 map[]}]} false false false {} false map[] map[] map[com.docker.compose.network:default com.docker.compose.project:bactobio-platform com.docker.compose.version:2.23.0] [] map[]} {act-Python--Parallel-Tests-python-parallel-tests-3c0b24a5aeb7a45259bf9b9a5f69b50355a0cc63e249bca8b5ad2183e4cdca12-python-parallel-tests-network 330397e6f11ddb9fd27f8c839efeb0f1ebf77bc7b29f6bf652db9cbae4e6062e 2023-12-14 11:36:04.628778629 +0000 UTC local bridge false {default map[] [{192.168.80.0/20 192.168.80.1 map[]}]} false false false {} false map[] map[] map[] [] map[]} {axum-testing_default 28ca0e945938cf88b27b558ac4e557566551dbc5ac05d8d3c13e0682f4746cee 2023-12-13 14:44:17.191876796 +0000 UTC local bridge false {default map[] [{172.21.0.0/16 172.21.0.1 map[]}]} false false false {} false map[] map[] map[com.docker.compose.network:default com.docker.compose.project:axum-testing com.docker.compose.version:2.23.0] [] map[]} {act-Python--Linting--Serial-Tests-python-linting-and-serial-tes-7b7ddcfb01a0db81096efef32410986735ccabd607b91ecccc994c53858b9cea-python-linting-and-serial-tests-network fc9f0cfaf1a0110a5916de151a82fe93e68222422b99976ef33d53c5d45052b9 2023-12-14 11:42:45.722881092 +0000 UTC local bridge false {default map[] [{192.168.112.0/20 192.168.112.1 map[]}]} false false false {} false map[] map[] map[] [] map[]}] [Example/test] 🏁 Job succeeded [Example/test] unable to get git repo: remote not found [Example/test] [DEBUG] Found revision: 97dfb24f1bfc2e8bdc0a002d64e87a148dd15b6f ``` ### Additional information _No response_
kerem 2026-03-01 21:48:12 +03:00
Author
Owner

@giosava94 commented on GitHub (Jan 9, 2024):

Hi, I'm also having this problem.
I noticed that doing an echo of the job context shows that the "services" value is null.

steps:
  - run: echo "${{ toJson(job) }}"

Output:

{
  status: success,
  container: {
    id: ,
    network: 
  },
  services: null
}

Hope this helps with the debug or understanding the cause of this behavior.

<!-- gh-comment-id:1883116228 --> @giosava94 commented on GitHub (Jan 9, 2024): Hi, I'm also having this problem. I noticed that doing an echo of the job context shows that the "services" value is null. ```yaml steps: - run: echo "${{ toJson(job) }}" ``` Output: ``` { status: success, container: { id: , network: }, services: null } ``` Hope this helps with the debug or understanding the cause of this behavior.
Author
Owner

@github-actions[bot] commented on GitHub (Jul 8, 2024):

Issue is stale and will be closed in 14 days unless there is new activity

<!-- gh-comment-id:2212636014 --> @github-actions[bot] commented on GitHub (Jul 8, 2024): Issue is stale and will be closed in 14 days unless there is new activity
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/act#1013
No description provided.