Thanks, we would be happy to take a look at needed changes to dart.rb. I see a few places that need change already around how the .rb file handles OS values.
Local testing is in theory possible (run the app ruing Dockerfile in the repo, send the appropriate POST request), but not exactly easy (travis.rb plugin use is documented, but I know it has problems at the moment).
Is TRAVIS_HOME an environment variable that Travis sets? If so, what is it set to on Linux & Windows?
When Travis executes a shell command from the ruby file such as sh.cmd "rm ${TRAVIS_HOME}/dartsdk.zip", what kind of shell/bash environment does that run in on Windows?
In travis-build, sh.cmd … is a method to build the AST that gets compiled into a Bash script , which will then be executed in the VM running your build. In the case of Windows jobs, it is ‘git bash’ that runs the rm … command.
The build’s output is admittedly confusing, partly because some I/O happens out of order. For example, the output from dart --version appears at the end on line 41.
As for the command pub not being found, it appears to me that it is a *.bat file in dart-sdk/bin inside the zip archive. Maybe executing the batch files may require additional considerations for git bash. (I am not sure.)