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

Poor error for incomplete action step #2517

Open
jsoref opened this issue Nov 4, 2024 · 1 comment
Open

Poor error for incomplete action step #2517

jsoref opened this issue Nov 4, 2024 · 1 comment
Labels
area/action Relating to running an action area/workflow Relating to workflow definitions backlog Those issues are on the roadmap kind/bug Something isn't working

Comments

@jsoref
Copy link
Contributor

jsoref commented Nov 4, 2024

Bug report info

act version:            0.2.69
GOOS:                   darwin
GOARCH:                 arm64
NumCPU:                 10
Docker host:            DOCKER_HOST environment variable is not set
Sockets found:
	/var/run/docker.sock
Config files:           
	/Users/jsoref/.actrc:
		#-P ubuntu-latest=node:12.20.1-buster-slim
		#-P ubuntu-20.04=node:12.20.1-buster-slim
		#-P ubuntu-18.04=node:12.20.1-buster-slim
		-P ubuntu-latest=ghcr.io/catthehacker/ubuntu:act-latest
		-P ubuntu-24.04=ghcr.io/catthehacker/ubuntu:act-latest
		-P ubuntu-22.04=ghcr.io/catthehacker/ubuntu:act-22.04
		-P ubuntu-20.04=ghcr.io/catthehacker/ubuntu:act-20.04
		-P self-hosted=catthehacker/ubuntu:act-latest
		-P ubuntu-latest-4cpu=ubuntu:act-latest
		-P ubuntu-latest-8cpu=ubuntu:act-latest
		--use-new-action-cache
	.actrc:
		#-P ubuntu-latest=node:12.20.1-buster-slim
		#-P ubuntu-20.04=node:12.20.1-buster-slim
		#-P ubuntu-18.04=node:12.20.1-buster-slim
		-P ubuntu-latest=ghcr.io/catthehacker/ubuntu:act-latest
		-P ubuntu-24.04=ghcr.io/catthehacker/ubuntu:act-latest
		-P ubuntu-22.04=ghcr.io/catthehacker/ubuntu:act-22.04
		-P ubuntu-20.04=ghcr.io/catthehacker/ubuntu:act-20.04
		-P self-hosted=catthehacker/ubuntu:act-latest
		-P ubuntu-latest-4cpu=ubuntu:act-latest
		-P ubuntu-latest-8cpu=ubuntu:act-latest
		--use-new-action-cache
Build info:
	Go version:            go1.23.2
	Module path:           command-line-arguments
	Main version:          
	Main path:             
	Main checksum:         
	Build settings:
		-buildmode:           exe
		-compiler:            gc
		-ldflags:             -X main.version=0.2.69
		DefaultGODEBUG:       asynctimerchan=1,gotypesalias=0,httplaxcontentlength=1,httpmuxgo121=1,httpservecontentkeepheaders=1,tls10server=1,tls3des=1,tlskyber=0,tlsrsakex=1,tlsunsafeekm=1,winreadlinkvolume=0,winsymlink=0,x509keypairleaf=0,x509negativeserial=1
		CGO_ENABLED:          1
		CGO_CFLAGS:           
		CGO_CPPFLAGS:         
		CGO_CXXFLAGS:         
		CGO_LDFLAGS:          
		GOARCH:               arm64
		GOOS:                 darwin
		GOARM64:              v8.0
Docker Engine:
	Engine version:        26.1.5
	Engine runtime:        runc
	Cgroup version:        2
	Cgroup driver:         cgroupfs
	Storage driver:        overlay2
	Registry URI:          https://index.docker.io/v1/
	OS:                    Alpine Linux v3.20
	OS type:               linux
	OS version:            3.20.3
	OS arch:               aarch64
	OS kernel:             6.6.51-0-virt
	OS CPU:                2
	OS memory:             1906 MB
	Security options:
		name=seccomp,profile=builtin
		name=cgroupns

Command used with act

act -v 2>&1

Describe issue

GitHub generates this reasonably helpful error:

/home/runner/work/shiny-octo-couscous/shiny-octo-couscous/./action.yml (Line: 4, Col: 5): There's not enough info to determine what you meant. Add one of these properties: run, shell, uses, with, working-directory

I'm not at all certain why it thinks working-directory is a particularly reasonable suggestion (it really needs to suggest run+shell or uses, but...)
(Along with a very unhelpful technical error.)

Act generates this message:

Error: Error occurred running finally: missing steps in composite action (original error: )

the word finally here is unhelpful (I believe it's an implementation detail from go or act), but for this action, the correct thing to say is that the step is missing fields (not that the action is missing steps), and preferably which kinds of fields (which the GitHub error more or less does).

Link to GitHub repository

https://github.com/check-spelling-sandbox/shiny-octo-couscous

Workflow content

on:
  push:
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: ./

Relevant log output

...
[test.yml/test]   ✅  Success - Main actions/checkout@v4
[test.yml/test] [DEBUG] Loading revision from git directory
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
[test.yml/test] [DEBUG] HEAD points to '1d711e70263e7531a8eb9dfb1ab6ebc949194461'
[test.yml/test] [DEBUG] using github ref: refs/heads/main
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
[test.yml/test] [DEBUG] Loading revision from git directory
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
[test.yml/test] [DEBUG] HEAD points to '1d711e70263e7531a8eb9dfb1ab6ebc949194461'
[test.yml/test] [DEBUG] using github ref: refs/heads/main
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
[test.yml/test] [DEBUG] Loading revision from git directory
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
[test.yml/test] [DEBUG] HEAD points to '1d711e70263e7531a8eb9dfb1ab6ebc949194461'
[test.yml/test] [DEBUG] using github ref: refs/heads/main
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
[test.yml/test] [DEBUG] setupEnv => map[ACT:true ACTIONS_CACHE_URL:http://192.168.1.132:63937/ CI:true GITHUB_ACTION:1 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:push 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/heads/main GITHUB_REF_NAME:main GITHUB_REF_TYPE:branch GITHUB_REPOSITORY:check-spelling-sandbox/shiny-octo-couscous GITHUB_REPOSITORY_OWNER:check-spelling-sandbox GITHUB_RETENTION_DAYS:0 GITHUB_RUN_ATTEMPT:1 GITHUB_RUN_ID:1 GITHUB_RUN_NUMBER:1 GITHUB_SERVER_URL:https://github.com GITHUB_SHA:1d711e70263e7531a8eb9dfb1ab6ebc949194461 GITHUB_WORKFLOW:test.yml GITHUB_WORKSPACE:/Users/jsoref/code/nektos/issues/finally ImageOS:ubuntu20 RUNNER_PERFLOG:/dev/null RUNNER_TRACKING_ID:]
[test.yml/test] [DEBUG] Loading revision from git directory
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
[test.yml/test] [DEBUG] HEAD points to '1d711e70263e7531a8eb9dfb1ab6ebc949194461'
[test.yml/test] [DEBUG] using github ref: refs/heads/main
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
[test.yml/test] [DEBUG] Loading revision from git directory
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
[test.yml/test] [DEBUG] HEAD points to '1d711e70263e7531a8eb9dfb1ab6ebc949194461'
[test.yml/test] [DEBUG] using github ref: refs/heads/main
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
[test.yml/test] [DEBUG] evaluating expression ''
[test.yml/test] [DEBUG] expression '' evaluated to 'true'
[test.yml/test] ⭐ Run Main ./
[test.yml/test] [DEBUG] Writing entry to tarball workflow/outputcmd.txt len:0
[test.yml/test] [DEBUG] Writing entry to tarball workflow/statecmd.txt len:0
[test.yml/test] [DEBUG] Writing entry to tarball workflow/pathcmd.txt len:0
[test.yml/test] [DEBUG] Writing entry to tarball workflow/envs.txt len:0
[test.yml/test] [DEBUG] Writing entry to tarball workflow/SUMMARY.md len:0
[test.yml/test] [DEBUG] Extracting content to '/var/run/act'
[test.yml/test] [DEBUG] Read action &{   map[] map[] {composite map[]   always()  always()     [] [{ {8 0 !!bool true  <nil> []    5 9} something      {0 0    <nil> []    0 0} map[]  }]} { }} from 'Unknown'
[test.yml/test] [DEBUG] About to run action &{   map[] map[] {composite map[]   always()  always()     [] [{ {8 0 !!bool true  <nil> []    5 9} something      {0 0    <nil> []    0 0} map[]  }]} { }}
[test.yml/test] [DEBUG] Loading revision from git directory
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
[test.yml/test] [DEBUG] HEAD points to '1d711e70263e7531a8eb9dfb1ab6ebc949194461'
[test.yml/test] [DEBUG] using github ref: refs/heads/main
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
[test.yml/test] [DEBUG] Loading revision from git directory
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
[test.yml/test] [DEBUG] HEAD points to '1d711e70263e7531a8eb9dfb1ab6ebc949194461'
[test.yml/test] [DEBUG] using github ref: refs/heads/main
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
[test.yml/test] [DEBUG] type=local-action actionDir=/Users/jsoref/code/nektos/issues/finally actionPath= workdir=/Users/jsoref/code/nektos/issues/finally actionCacheDir=/Users/jsoref/.cache/act actionName=./ containerActionDir=/Users/jsoref/code/nektos/issues/finally/
[test.yml/test] [DEBUG] Loading revision from git directory
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
[test.yml/test] [DEBUG] HEAD points to '1d711e70263e7531a8eb9dfb1ab6ebc949194461'
[test.yml/test] [DEBUG] using github ref: refs/heads/main
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
[test.yml/test] [DEBUG] Loading revision from git directory
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
[test.yml/test] [DEBUG] HEAD points to '1d711e70263e7531a8eb9dfb1ab6ebc949194461'
[test.yml/test] [DEBUG] using github ref: refs/heads/main
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
[test.yml/test] [DEBUG] Loading revision from git directory
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
[test.yml/test] [DEBUG] HEAD points to '1d711e70263e7531a8eb9dfb1ab6ebc949194461'
[test.yml/test] [DEBUG] using github ref: refs/heads/main
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
[test.yml/test] [DEBUG] Loading revision from git directory
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
[test.yml/test] [DEBUG] HEAD points to '1d711e70263e7531a8eb9dfb1ab6ebc949194461'
[test.yml/test] [DEBUG] using github ref: refs/heads/main
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
[test.yml/test] [DEBUG] Loading revision from git directory
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
[test.yml/test] [DEBUG] HEAD points to '1d711e70263e7531a8eb9dfb1ab6ebc949194461'
[test.yml/test] [DEBUG] using github ref: refs/heads/main
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
[test.yml/test]   ❌  Failure - Main ./
[test.yml/test] Invalid run/uses syntax for job:test step:something
[test.yml/test] [DEBUG] Loading revision from git directory
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
[test.yml/test] [DEBUG] HEAD points to '1d711e70263e7531a8eb9dfb1ab6ebc949194461'
[test.yml/test] [DEBUG] using github ref: refs/heads/main
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
[test.yml/test] [DEBUG] Loading revision from git directory
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
[test.yml/test] [DEBUG] HEAD points to '1d711e70263e7531a8eb9dfb1ab6ebc949194461'
[test.yml/test] [DEBUG] using github ref: refs/heads/main
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
[test.yml/test] [DEBUG] Loading revision from git directory
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
[test.yml/test] [DEBUG] HEAD points to '1d711e70263e7531a8eb9dfb1ab6ebc949194461'
[test.yml/test] [DEBUG] using github ref: refs/heads/main
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
[test.yml/test] [DEBUG] setupEnv => map[ACT:true ACTIONS_CACHE_URL:http://192.168.1.132:63937/ CI:true GITHUB_ACTION:1 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_ENV:/var/run/act/workflow/envs.txt GITHUB_EVENT_NAME:push GITHUB_EVENT_PATH:/var/run/act/workflow/event.json GITHUB_GRAPHQL_URL:https://api.github.com/graphql GITHUB_HEAD_REF: GITHUB_JOB:test GITHUB_OUTPUT:/var/run/act/workflow/outputcmd.txt GITHUB_PATH:/var/run/act/workflow/pathcmd.txt GITHUB_REF:refs/heads/main GITHUB_REF_NAME:main GITHUB_REF_TYPE:branch GITHUB_REPOSITORY:check-spelling-sandbox/shiny-octo-couscous GITHUB_REPOSITORY_OWNER:check-spelling-sandbox GITHUB_RETENTION_DAYS:0 GITHUB_RUN_ATTEMPT:1 GITHUB_RUN_ID:1 GITHUB_RUN_NUMBER:1 GITHUB_SERVER_URL:https://github.com GITHUB_SHA:1d711e70263e7531a8eb9dfb1ab6ebc949194461 GITHUB_STATE:/var/run/act/workflow/statecmd.txt GITHUB_STEP_SUMMARY:/var/run/act/workflow/SUMMARY.md GITHUB_WORKFLOW:test.yml GITHUB_WORKSPACE:/Users/jsoref/code/nektos/issues/finally ImageOS:ubuntu20 RUNNER_PERFLOG:/dev/null RUNNER_TRACKING_ID:]
[test.yml/test] [DEBUG] Loading revision from git directory
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
[test.yml/test] [DEBUG] HEAD points to '1d711e70263e7531a8eb9dfb1ab6ebc949194461'
[test.yml/test] [DEBUG] using github ref: refs/heads/main
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
[test.yml/test] [DEBUG] Loading revision from git directory
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
[test.yml/test] [DEBUG] HEAD points to '1d711e70263e7531a8eb9dfb1ab6ebc949194461'
[test.yml/test] [DEBUG] using github ref: refs/heads/main
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
[test.yml/test] [DEBUG] evaluating expression 'always()'
[test.yml/test] [DEBUG] expression 'always()' evaluated to 'true'
[test.yml/test] ⭐ Run Post ./
[test.yml/test] [DEBUG] Writing entry to tarball workflow/outputcmd.txt len:0
[test.yml/test] [DEBUG] Writing entry to tarball workflow/statecmd.txt len:0
[test.yml/test] [DEBUG] Writing entry to tarball workflow/pathcmd.txt len:0
[test.yml/test] [DEBUG] Writing entry to tarball workflow/envs.txt len:0
[test.yml/test] [DEBUG] Writing entry to tarball workflow/SUMMARY.md len:0
[test.yml/test] [DEBUG] Extracting content to '/var/run/act'
[test.yml/test] [DEBUG] run post step for './'
[test.yml/test]   ❌  Failure - Post ./
[test.yml/test] [DEBUG] skipping post step for 'actions/checkout@v4': no action model available
[test.yml/test] 🏁  Job failed
[test.yml/test] [DEBUG] Loading revision from git directory
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
[test.yml/test] [DEBUG] HEAD points to '1d711e70263e7531a8eb9dfb1ab6ebc949194461'
[test.yml/test] [DEBUG] using github ref: refs/heads/main
[test.yml/test] [DEBUG] Found revision: 1d711e70263e7531a8eb9dfb1ab6ebc949194461
Error: Error occurred running finally: missing steps in composite action (original error: <nil>)

Additional information

https://github.com/check-spelling-sandbox/shiny-octo-couscous/blob/1d711e70263e7531a8eb9dfb1ab6ebc949194461/action.yml

runs:
  using: composite
  steps:
  - name: something
    if: true
@jsoref jsoref added the kind/bug Something isn't working label Nov 4, 2024
@ChristopherHX
Copy link
Contributor

Thank you for your bug report, I really messed it up and this accidentally passes the schema validation

Required bool

I have no code that checks for required properties of a mapping.

This case is detected, because that is no valid subset of a step

- run:
  uses:

Your case is part of a valid set of properties.

@ChristopherHX ChristopherHX added area/workflow Relating to workflow definitions area/action Relating to running an action backlog Those issues are on the roadmap labels Nov 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/action Relating to running an action area/workflow Relating to workflow definitions backlog Those issues are on the roadmap kind/bug Something isn't working
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

2 participants