"every step must define a `uses` or `run` key" I am getting above mentioned error. suggest possible solution

The second step in your list has only a name, which should probably be part of the next step (which doesn’t have one).

will you explain more specifically. I am unable to get your point. I have a little knowledge of coding.

The steps part of the workflow is a list. In YAML each list item is marked by a dash at the same indentation level, like so:

steps:
  - name: step 1
    run: this command
  - name: step 2
    run: that command

Each step (list item) must have a run or uses field to define what the step does.

The second step in your workflow (line 26 in the screenshot) has only a name. In line 27 there’s a third step (new item because it’s starting with a dash) without a name. Its uses: actions/setup-node fits the name: Setup Node.js environment in the previous step, so I assume the uses and with should be part of the second step instead and you just typed a dash where a space should be in line 27.

1 Like

Line 26/27 of your screen shot both have hyphens so the uses bit isn’t considered to be “in” the named step.

Edit: also 24 uses the checkout action without being in a named step, I don’t know if that’s a problem though. You’d have to check the docs to see if you can declare a uses element like that. (I don’t know off the top of my head)

1 Like

Step names are optional. The log will display "Run " if you only specify uses and “Run <1st line of commands>” (possibly truncated) if you only provide run.

1 Like

I appreciate your effort for me. I have learned my mistake. May God give you reward

1 Like