The drone exec command currently uses deprecated drone-runtime and drone-yaml packages which are no longer up-to-date with the yaml specification. For example, support for global environment variables was added to the docker runner, but is unavailable in these packages, causing inconsistent behavior between local execution and runner execution.
This proposal is to update drone exec to import and use the code from drone-runner-docker. There are some technical challenges that I will document in this issue when I have some more time to complete my analysis.
The drone exec command currently uses deprecated drone-runtime and drone-yaml packages which are no longer up-to-date with the yaml specification. For example, support for global environment variables was added to the docker runner, but is unavailable in these packages, causing inconsistent behavior between local execution and runner execution.
This proposal is to update drone exec to import and use the code from drone-runner-docker. There are some technical challenges that I will document in this issue when I have some more time to complete my analysis.