backend error: permission denied

This is a common pipeline misconfiguration, looking like this

start process: backend error: Exit status: 500, message:
{
"Type": "",
"Message": "runc exec: exit status 1: exec failed: container_linux.go:380: starting container process caused: exec: \"myscript.sh\": permission denied",
"Handle": "",
"ProcessID": "",
"Binary": ""
}

Solution 1: set +x bit

Set an executive bit (+x) to myscript.sh with chmod

~/myrepo $ chmod +x myscript.sh

commit and push the changes.

Solution 2: invoke through interpreter

If you can't manipulate the in the input, invoke the script through an interpreter, so use bash for shellscrips, python for *.py files, etc.

Change

run:
path: myscript.sh

to

run:
path: /bin/bash
args:
- myscript.sh