act job "skipped" because a needs dependency did not run locally
act evaluates needs: and if: just like GitHub, but the local event context can differ (event name, branch, outputs). A job whose condition or dependency is not satisfied is skipped, so nothing runs.
What this error means
You expect a job to execute but act marks it skipped, often because its needs job did not run or its if: condition is false in the local context.
[CI/deploy] jobs to run: []
Job 'deploy' is skipped: needs 'build' did not complete / if condition is falseCommon causes
The needed job was not selected
Running a single job with -j deploy does not run its needs: build, so the dependency is unmet and deploy is skipped.
An if: condition is false locally
Conditions on branch, event, or a prior job output can evaluate false when the local event context differs from GitHub.
How to fix it
Run the workflow so needs are satisfied
Run without -j (or run the upstream job too) so needs: dependencies execute first.
act push
# runs the whole workflow so needs: build runs before deployTrigger the matching event
Invoke act with the event the job condition expects so if: evaluates true.
act pull_request -j deployHow to prevent it
- Run the full workflow when jobs have
needs:dependencies. - Trigger the event the
if:condition targets. - Check the local event and branch context before expecting a job to run.