[GH-ISSUE #2731] Using JSON to accept an array of runs-on arguments fails #1236

Closed
opened 2026-03-01 21:49:51 +03:00 by kerem · 0 comments
Owner

Originally created by @pputman-clabs on GitHub (Apr 13, 2025).
Original GitHub issue: https://github.com/nektos/act/issues/2731

Bug report info

act version:            0.2.76
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/patrick/Library/Application Support/act/actrc:
		-P ubuntu-latest=catthehacker/ubuntu:full-latest
		-P ubuntu-22.04=catthehacker/ubuntu:full-22.04
		-P ubuntu-20.04=catthehacker/ubuntu:full-20.04
		-P ubuntu-18.04=catthehacker/ubuntu:full-18.04
Build info:
	Go version:            go1.24.1
	Module path:           command-line-arguments
	Main version:          
	Main path:             
	Main checksum:         
	Build settings:
		-buildmode:           exe
		-compiler:            gc
		-ldflags:             -X main.version=0.2.76
		CGO_ENABLED:          1
		CGO_CFLAGS:           
		CGO_CPPFLAGS:         
		CGO_CXXFLAGS:         
		CGO_LDFLAGS:          
		GOARCH:               arm64
		GOOS:                 darwin
		GOARM64:              v8.0
Docker Engine:
	Engine version:        27.4.0
	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.10.14-linuxkit
	OS CPU:                8
	OS memory:             7837 MB
	Security options:
		name=seccomp,profile=unconfined
		name=cgroupns

Command used with act

act push --job auth-build-push-scan-container --container-architecture linux/amd64

Describe issue

I get this error when trying to run act locally:
[Run Container Workflow/auth-build-push-scan-container] Error while evaluating runs-on: Cannot parse non-string type invalid as JSON

this is the string it fails on in a reusable workflow:
runs-on: ${{ fromJson(inputs.runs_on) }}

This is the input:
runs_on:
default: "['ubuntu-latest']"
type: string
description: "github runner tags"

I would expect it to parse the JSON as an array for github runner tags, in order to test reusable workflows that take this option as an array.

No response

Workflow content

name: 'Run Container Workflow'
on: 
  workflow_call:
    inputs:
      workload-id-provider:
        required: true
        type: string
      service-account:
        required: true
        type: string
      access-token-lifetime:
        description: "GCP token expiration timeout"
        required: false
        type: string
        default: "20m" 
      artifact-registry:
        required: true
        type: string
      tags:
        required: true
        type: string
      platforms:
        type: string
        default: "linux/amd64"
      context:
        required: true
        type: string
      file:
        required: false
        type: string
      build-args:
        required: false
        type: string
      provenance:
        type: boolean
        required: false
        default: true
      docker-gcp-registries:
        type: string
        description: "GCP Artifact registry to login into. Check https://cloud.google.com/artifact-registry/docs/docker/authentication"
        default: "us-west1-docker.pkg.dev,us-central1-docker.pkg.dev"
      runs_on:
        default: "['ubuntu-latest']"
        type: string
        description: "github runner tags"
      timeout-minutes:
        default: 30
        type: number
        description: "Workflow timeout"
      environment:
        default: ''
        description: "Deployment environment in github"
        type: string
      debug_enabled:
        default: false
        required: false
        type: boolean
        description: "run tmate for troubleshooting"
      pr-comment:
        default: true
        type: boolean        
      summary:
        default: true
        type: boolean
      trivy-enabled:
        default: true
        type: boolean
      trivy-skip-dirs:
        type: string
jobs:
  auth-build-push-scan-container:
    runs-on: ${{ fromJson(inputs.runs_on) }}
    timeout-minutes: ${{ inputs.timeout-minutes }}
    defaults:
      run:
        shell: bash 
    # Specify an environment here if using deployment environments
    environment:
      name: ${{ inputs.environment }}
      url: "${{ inputs.environment != '' && format('https://{0}:{1}', inputs.artifact-registry, inputs.tags) || '' }}"
    permissions: # Required for workload identity auth and push the trivy results to GitHub
      actions: read
      contents: write
      id-token: write
      security-events: write
      attestations: write
      pull-requests: write
    steps:
      # Security policy docker is configured in step security app
      # Policy can be seen here https://app.stepsecurity.io/github/celo-org/actions/policies/docker
      # disable-sudo is set to false if debug is true, because tmate requires root to work.
      - name: Harden Runner
        if: runner.environment == 'github-hosted'
        uses: step-security/harden-runner@v2
        with:
          egress-policy: audit
          #policy: ${{ inputs.debug_enabled == true && 'docker-debug' || 'docker' }}


      # Only turns on tmate if workflow_dispatch set debug to true.
      # limit-access-to-actor or some other security precaution should be added
      # so anyone with the link can't ssh in without a key.
      # Currently detaches and runs concurrently with workflow, can change
      # if needed

      - name: Setup tmate session
        uses: mxschmitt/action-tmate@e5c7151931ca95bad1c6f4190c730ecf8c7dde48
        if: inputs.debug_enabled == true 
        with:
          detached: true
          limit-access-to-actor: true
    
      - name: 'Checkout'
        uses: actions/checkout@v4

      - name: Run Trivy vulnerability scanner
        uses: celo-org/trivy-composite-action@v1.0.0-alpha
        if: inputs.trivy-enabled == true
        with:
          scan-ref: ${{ inputs.context }}
          scan-type: fs
          pr-comment: ${{ inputs.pr-comment }}
          summary: ${{ inputs.summary }}
          skip-dirs: ${{ inputs.trivy-skip-dirs }}
     # Split the artifact-registry to give us both the registry url and app/image name
      - name: Split location and app names
        id: split
        env:
          REGISTRY: ${{ inputs.artifact-registry }}
        run: |
            location=${REGISTRY%%/*}
            app_name=${REGISTRY##*/}
            echo "::debug::location=$location"
            echo "::debug::app_name=$app_name"
            echo "location=$location" >> $GITHUB_OUTPUT
            echo "app_name=$app_name" >> $GITHUB_OUTPUT

      - name: Authenticate to Google Cloud
        id: auth
        uses: 'google-github-actions/auth@v2'
        with:
          workload_identity_provider: ${{ inputs.workload-id-provider }}
          service_account: ${{ inputs.service-account }}
          access_token_lifetime: ${{ inputs.access-token-lifetime }}
          token_format: access_token 

      - name: Login to GAR
        uses: docker/login-action@v3
        with:
          registry: ${{ inputs.artifact-registry }}
          username: oauth2accesstoken
          password: ${{ steps.auth.outputs.access_token }}

      - name: Build, push and scan the container
        uses: celo-org/docker-build-composite-action@v1.0.0-alpha
        with:
          platforms: ${{ inputs.platforms }}
          registry: ${{ inputs.artifact-registry }}
          tags: ${{ inputs.tags }}
          context: ${{ inputs.context }}
          dockerfile: ${{ inputs.file }}
          build-args: ${{ inputs.build-args }}
          push: ${{ fromJSON(true) }}
          summary: ${{ inputs.summary }}
          pr-comment: ${{ inputs.pr-comment }} 
          trivy-skip-dirs: ${{ inputs.trivy-skip-dirs }}
          skip-setup-trivy: true
          trivy-enabled: ${{ inputs.trivy-enabled }}

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 /Users/patrick/reusable-workflows/.env 
DEBU[0000] Loading action inputs from /Users/patrick/reusable-workflows/.input 
DEBU[0000] Loading secrets from /Users/patrick/reusable-workflows/.secrets 
DEBU[0000] Conditional GET for notices etag=18611db0-c15d-4c78-b468-31e43802aa2b 
DEBU[0000] Loading vars from /Users/patrick/reusable-workflows/.vars 
DEBU[0000] Evaluated matrix inclusions: map[]           
DEBU[0000] Loading workflows from '/Users/patrick/reusable-workflows/.github/workflows' 
DEBU[0000] Loading workflows recursively                
DEBU[0000] Found workflow 'cloud-run.yaml' in '/Users/patrick/reusable-workflows/.github/workflows/cloud-run.yaml' 
DEBU[0000] Found workflow 'dependency-review.yaml' in '/Users/patrick/reusable-workflows/.github/workflows/dependency-review.yaml' 
DEBU[0000] Found workflow 'docker-build.yaml' in '/Users/patrick/reusable-workflows/.github/workflows/docker-build.yaml' 
DEBU[0000] Found workflow 'go-tests.yaml' in '/Users/patrick/reusable-workflows/.github/workflows/go-tests.yaml' 
DEBU[0000] Found workflow 'npm-publish.yaml' in '/Users/patrick/reusable-workflows/.github/workflows/npm-publish.yaml' 
DEBU[0000] Found workflow 'scorecard.yaml' in '/Users/patrick/reusable-workflows/.github/workflows/scorecard.yaml' 
DEBU[0000] Found workflow 'terraform.yaml' in '/Users/patrick/reusable-workflows/.github/workflows/terraform.yaml' 
DEBU[0000] Reading workflow '/Users/patrick/reusable-workflows/.github/workflows/cloud-run.yaml' 
DEBU[0000] Reading workflow '/Users/patrick/reusable-workflows/.github/workflows/dependency-review.yaml' 
DEBU[0000] Reading workflow '/Users/patrick/reusable-workflows/.github/workflows/docker-build.yaml' 
DEBU[0000] Reading workflow '/Users/patrick/reusable-workflows/.github/workflows/go-tests.yaml' 
DEBU[0000] Reading workflow '/Users/patrick/reusable-workflows/.github/workflows/npm-publish.yaml' 
DEBU[0000] Reading workflow '/Users/patrick/reusable-workflows/.github/workflows/scorecard.yaml' 
DEBU[0000] Reading workflow '/Users/patrick/reusable-workflows/.github/workflows/terraform.yaml' 
DEBU[0000] Using first passed in arguments event for filtering: push 
DEBU[0000] Preparing plan with a job: auth-build-push-scan-container 
DEBU[0000] Using first passed in arguments event: push  
DEBU[0000] Planning job: auth-build-push-scan-container 
DEBU[0000] gc: 2025-04-13 18:15:20.981254 -0500 CDT m=+0.146759001  module=artifactcache
DEBU[0000] Plan Stages: [0x140001d91a0]                 
DEBU[0000] Stages Runs: [auth-build-push-scan-container] 
DEBU[0000] Job.Name: auth-build-push-scan-container     
DEBU[0000] Job.RawNeeds: {0 0    <nil> []    0 0}       
DEBU[0000] Job.RawRunsOn: {8 0 !!str ${{ fromJson(inputs.runs_on) }}  <nil> []    74 14} 
DEBU[0000] Job.Env: {0 0    <nil> []    0 0}            
DEBU[0000] Job.If: {0 0  success()  <nil> []    0 0}    
DEBU[0000] Job.Steps: Harden Runner                     
DEBU[0000] Job.Steps: Setup tmate session               
DEBU[0000] Job.Steps: Checkout                          
DEBU[0000] Job.Steps: Run Trivy vulnerability scanner   
DEBU[0000] Job.Steps: Split location and app names      
DEBU[0000] Job.Steps: Authenticate to Google Cloud      
DEBU[0000] Job.Steps: Login to GAR                      
DEBU[0000] Job.Steps: Build, push and scan the container 
DEBU[0000] Job.TimeoutMinutes: ${{ inputs.timeout-minutes }} 
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: bash                 
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: daf652f086ec0ae97a2f5694d00c8b27b7f8b12a 
DEBU[0000] HEAD points to 'daf652f086ec0ae97a2f5694d00c8b27b7f8b12a' 
DEBU[0000] using github ref: refs/heads/v3.0.0-alvaro   
DEBU[0000] Found revision: daf652f086ec0ae97a2f5694d00c8b27b7f8b12a 
DEBU[0000] Detected CPUs: 8                             
[Run Container Workflow/auth-build-push-scan-container] [DEBUG] evaluating expression 'success()'
[Run Container Workflow/auth-build-push-scan-container] [DEBUG] expression 'success()' evaluated to 'true'
[Run Container Workflow/auth-build-push-scan-container] [DEBUG] evaluating expression '${{ fromJson(inputs.runs_on) }}'
[Run Container Workflow/auth-build-push-scan-container] [DEBUG] expression '${{ fromJson(inputs.runs_on) }}' evaluated to '%!t(<nil>)'
[Run Container Workflow/auth-build-push-scan-container] Error while evaluating runs-on: Cannot parse non-string type invalid as JSON
[Run Container Workflow/auth-build-push-scan-container] [DEBUG] evaluating expression '${{ fromJson(inputs.runs_on) }}'
[Run Container Workflow/auth-build-push-scan-container] [DEBUG] expression '${{ fromJson(inputs.runs_on) }}' evaluated to '%!t(<nil>)'
[Run Container Workflow/auth-build-push-scan-container] Error while evaluating runs-on: Cannot parse non-string type invalid as JSON
DEBU[0000] Saving notices etag=18611db0-c15d-4c78-b468-31e43802aa2b 
DEBU[0000] No new notices

Additional information

No response

Originally created by @pputman-clabs on GitHub (Apr 13, 2025). Original GitHub issue: https://github.com/nektos/act/issues/2731 ### Bug report info ```plain text act version: 0.2.76 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/patrick/Library/Application Support/act/actrc: -P ubuntu-latest=catthehacker/ubuntu:full-latest -P ubuntu-22.04=catthehacker/ubuntu:full-22.04 -P ubuntu-20.04=catthehacker/ubuntu:full-20.04 -P ubuntu-18.04=catthehacker/ubuntu:full-18.04 Build info: Go version: go1.24.1 Module path: command-line-arguments Main version: Main path: Main checksum: Build settings: -buildmode: exe -compiler: gc -ldflags: -X main.version=0.2.76 CGO_ENABLED: 1 CGO_CFLAGS: CGO_CPPFLAGS: CGO_CXXFLAGS: CGO_LDFLAGS: GOARCH: arm64 GOOS: darwin GOARM64: v8.0 Docker Engine: Engine version: 27.4.0 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.10.14-linuxkit OS CPU: 8 OS memory: 7837 MB Security options: name=seccomp,profile=unconfined name=cgroupns ``` ### Command used with act ```sh act push --job auth-build-push-scan-container --container-architecture linux/amd64 ``` ### Describe issue I get this error when trying to run act locally: [Run Container Workflow/auth-build-push-scan-container] Error while evaluating runs-on: Cannot parse non-string type invalid as JSON this is the string it fails on in a reusable workflow: runs-on: ${{ fromJson(inputs.runs_on) }} This is the input: runs_on: default: "['ubuntu-latest']" type: string description: "github runner tags" I would expect it to parse the JSON as an array for github runner tags, in order to test reusable workflows that take this option as an array. ### Link to GitHub repository _No response_ ### Workflow content ```yml name: 'Run Container Workflow' on: workflow_call: inputs: workload-id-provider: required: true type: string service-account: required: true type: string access-token-lifetime: description: "GCP token expiration timeout" required: false type: string default: "20m" artifact-registry: required: true type: string tags: required: true type: string platforms: type: string default: "linux/amd64" context: required: true type: string file: required: false type: string build-args: required: false type: string provenance: type: boolean required: false default: true docker-gcp-registries: type: string description: "GCP Artifact registry to login into. Check https://cloud.google.com/artifact-registry/docs/docker/authentication" default: "us-west1-docker.pkg.dev,us-central1-docker.pkg.dev" runs_on: default: "['ubuntu-latest']" type: string description: "github runner tags" timeout-minutes: default: 30 type: number description: "Workflow timeout" environment: default: '' description: "Deployment environment in github" type: string debug_enabled: default: false required: false type: boolean description: "run tmate for troubleshooting" pr-comment: default: true type: boolean summary: default: true type: boolean trivy-enabled: default: true type: boolean trivy-skip-dirs: type: string jobs: auth-build-push-scan-container: runs-on: ${{ fromJson(inputs.runs_on) }} timeout-minutes: ${{ inputs.timeout-minutes }} defaults: run: shell: bash # Specify an environment here if using deployment environments environment: name: ${{ inputs.environment }} url: "${{ inputs.environment != '' && format('https://{0}:{1}', inputs.artifact-registry, inputs.tags) || '' }}" permissions: # Required for workload identity auth and push the trivy results to GitHub actions: read contents: write id-token: write security-events: write attestations: write pull-requests: write steps: # Security policy docker is configured in step security app # Policy can be seen here https://app.stepsecurity.io/github/celo-org/actions/policies/docker # disable-sudo is set to false if debug is true, because tmate requires root to work. - name: Harden Runner if: runner.environment == 'github-hosted' uses: step-security/harden-runner@v2 with: egress-policy: audit #policy: ${{ inputs.debug_enabled == true && 'docker-debug' || 'docker' }} # Only turns on tmate if workflow_dispatch set debug to true. # limit-access-to-actor or some other security precaution should be added # so anyone with the link can't ssh in without a key. # Currently detaches and runs concurrently with workflow, can change # if needed - name: Setup tmate session uses: mxschmitt/action-tmate@e5c7151931ca95bad1c6f4190c730ecf8c7dde48 if: inputs.debug_enabled == true with: detached: true limit-access-to-actor: true - name: 'Checkout' uses: actions/checkout@v4 - name: Run Trivy vulnerability scanner uses: celo-org/trivy-composite-action@v1.0.0-alpha if: inputs.trivy-enabled == true with: scan-ref: ${{ inputs.context }} scan-type: fs pr-comment: ${{ inputs.pr-comment }} summary: ${{ inputs.summary }} skip-dirs: ${{ inputs.trivy-skip-dirs }} # Split the artifact-registry to give us both the registry url and app/image name - name: Split location and app names id: split env: REGISTRY: ${{ inputs.artifact-registry }} run: | location=${REGISTRY%%/*} app_name=${REGISTRY##*/} echo "::debug::location=$location" echo "::debug::app_name=$app_name" echo "location=$location" >> $GITHUB_OUTPUT echo "app_name=$app_name" >> $GITHUB_OUTPUT - name: Authenticate to Google Cloud id: auth uses: 'google-github-actions/auth@v2' with: workload_identity_provider: ${{ inputs.workload-id-provider }} service_account: ${{ inputs.service-account }} access_token_lifetime: ${{ inputs.access-token-lifetime }} token_format: access_token - name: Login to GAR uses: docker/login-action@v3 with: registry: ${{ inputs.artifact-registry }} username: oauth2accesstoken password: ${{ steps.auth.outputs.access_token }} - name: Build, push and scan the container uses: celo-org/docker-build-composite-action@v1.0.0-alpha with: platforms: ${{ inputs.platforms }} registry: ${{ inputs.artifact-registry }} tags: ${{ inputs.tags }} context: ${{ inputs.context }} dockerfile: ${{ inputs.file }} build-args: ${{ inputs.build-args }} push: ${{ fromJSON(true) }} summary: ${{ inputs.summary }} pr-comment: ${{ inputs.pr-comment }} trivy-skip-dirs: ${{ inputs.trivy-skip-dirs }} skip-setup-trivy: true trivy-enabled: ${{ inputs.trivy-enabled }} ``` ### Relevant log output ```sh 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 /Users/patrick/reusable-workflows/.env DEBU[0000] Loading action inputs from /Users/patrick/reusable-workflows/.input DEBU[0000] Loading secrets from /Users/patrick/reusable-workflows/.secrets DEBU[0000] Conditional GET for notices etag=18611db0-c15d-4c78-b468-31e43802aa2b DEBU[0000] Loading vars from /Users/patrick/reusable-workflows/.vars DEBU[0000] Evaluated matrix inclusions: map[] DEBU[0000] Loading workflows from '/Users/patrick/reusable-workflows/.github/workflows' DEBU[0000] Loading workflows recursively DEBU[0000] Found workflow 'cloud-run.yaml' in '/Users/patrick/reusable-workflows/.github/workflows/cloud-run.yaml' DEBU[0000] Found workflow 'dependency-review.yaml' in '/Users/patrick/reusable-workflows/.github/workflows/dependency-review.yaml' DEBU[0000] Found workflow 'docker-build.yaml' in '/Users/patrick/reusable-workflows/.github/workflows/docker-build.yaml' DEBU[0000] Found workflow 'go-tests.yaml' in '/Users/patrick/reusable-workflows/.github/workflows/go-tests.yaml' DEBU[0000] Found workflow 'npm-publish.yaml' in '/Users/patrick/reusable-workflows/.github/workflows/npm-publish.yaml' DEBU[0000] Found workflow 'scorecard.yaml' in '/Users/patrick/reusable-workflows/.github/workflows/scorecard.yaml' DEBU[0000] Found workflow 'terraform.yaml' in '/Users/patrick/reusable-workflows/.github/workflows/terraform.yaml' DEBU[0000] Reading workflow '/Users/patrick/reusable-workflows/.github/workflows/cloud-run.yaml' DEBU[0000] Reading workflow '/Users/patrick/reusable-workflows/.github/workflows/dependency-review.yaml' DEBU[0000] Reading workflow '/Users/patrick/reusable-workflows/.github/workflows/docker-build.yaml' DEBU[0000] Reading workflow '/Users/patrick/reusable-workflows/.github/workflows/go-tests.yaml' DEBU[0000] Reading workflow '/Users/patrick/reusable-workflows/.github/workflows/npm-publish.yaml' DEBU[0000] Reading workflow '/Users/patrick/reusable-workflows/.github/workflows/scorecard.yaml' DEBU[0000] Reading workflow '/Users/patrick/reusable-workflows/.github/workflows/terraform.yaml' DEBU[0000] Using first passed in arguments event for filtering: push DEBU[0000] Preparing plan with a job: auth-build-push-scan-container DEBU[0000] Using first passed in arguments event: push DEBU[0000] Planning job: auth-build-push-scan-container DEBU[0000] gc: 2025-04-13 18:15:20.981254 -0500 CDT m=+0.146759001 module=artifactcache DEBU[0000] Plan Stages: [0x140001d91a0] DEBU[0000] Stages Runs: [auth-build-push-scan-container] DEBU[0000] Job.Name: auth-build-push-scan-container DEBU[0000] Job.RawNeeds: {0 0 <nil> [] 0 0} DEBU[0000] Job.RawRunsOn: {8 0 !!str ${{ fromJson(inputs.runs_on) }} <nil> [] 74 14} DEBU[0000] Job.Env: {0 0 <nil> [] 0 0} DEBU[0000] Job.If: {0 0 success() <nil> [] 0 0} DEBU[0000] Job.Steps: Harden Runner DEBU[0000] Job.Steps: Setup tmate session DEBU[0000] Job.Steps: Checkout DEBU[0000] Job.Steps: Run Trivy vulnerability scanner DEBU[0000] Job.Steps: Split location and app names DEBU[0000] Job.Steps: Authenticate to Google Cloud DEBU[0000] Job.Steps: Login to GAR DEBU[0000] Job.Steps: Build, push and scan the container DEBU[0000] Job.TimeoutMinutes: ${{ inputs.timeout-minutes }} 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: bash 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: daf652f086ec0ae97a2f5694d00c8b27b7f8b12a DEBU[0000] HEAD points to 'daf652f086ec0ae97a2f5694d00c8b27b7f8b12a' DEBU[0000] using github ref: refs/heads/v3.0.0-alvaro DEBU[0000] Found revision: daf652f086ec0ae97a2f5694d00c8b27b7f8b12a DEBU[0000] Detected CPUs: 8 [Run Container Workflow/auth-build-push-scan-container] [DEBUG] evaluating expression 'success()' [Run Container Workflow/auth-build-push-scan-container] [DEBUG] expression 'success()' evaluated to 'true' [Run Container Workflow/auth-build-push-scan-container] [DEBUG] evaluating expression '${{ fromJson(inputs.runs_on) }}' [Run Container Workflow/auth-build-push-scan-container] [DEBUG] expression '${{ fromJson(inputs.runs_on) }}' evaluated to '%!t(<nil>)' [Run Container Workflow/auth-build-push-scan-container] Error while evaluating runs-on: Cannot parse non-string type invalid as JSON [Run Container Workflow/auth-build-push-scan-container] [DEBUG] evaluating expression '${{ fromJson(inputs.runs_on) }}' [Run Container Workflow/auth-build-push-scan-container] [DEBUG] expression '${{ fromJson(inputs.runs_on) }}' evaluated to '%!t(<nil>)' [Run Container Workflow/auth-build-push-scan-container] Error while evaluating runs-on: Cannot parse non-string type invalid as JSON DEBU[0000] Saving notices etag=18611db0-c15d-4c78-b468-31e43802aa2b DEBU[0000] No new notices ``` ### Additional information _No response_
kerem 2026-03-01 21:49:51 +03:00
  • closed this issue
  • added the
    kind/bug
    label
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#1236
No description provided.