Uploaded image for project: 'Apache Cordova'
  1. Apache Cordova
  2. CB-6909

shellCmd and shellRunParam in master.cfg use values for master, fails on Windows slaves if OS X master

    XMLWordPrintableJSON

    Details

      Description

      shellCmd and shellRunCmd are defined in master.cfg and used for a lot of the build tasks. But the value depends on the OS of the master, so if you have a OS X master and Windows client (or vice versa) a lot of steps will fail.

      shellCmd="/bin/sh"
      shellRunParam="-c"
      if is_Windows :
          shellCmd="cmd"
          shellRunParam="/c"
      

      For some steps, like in wp8 and windows8 sections, we know they'll always run on Windows so we could always use 'cmd'. But in common sections or for a platform like android, it needs to work on both.


      It seems that ShellCommand step already uses command interpreter according to slave platform (see http://docs.buildbot.net/current/manual/cfg-buildsteps.html#step-ShellCommand). So it's safe to remove this and specify commands for ShellCommand steps just with list of strings.

      Another possible issue is different path delimiter on windows and other platforms. But in most cases slash instead of backslash works fine on windows. So it is possible to replace '
      ' to '/' in windows build steps.

        Attachments

          Activity

            People

            • Assignee:
              max.woghiren Max Woghiren
              Reporter:
              vladimir.kotikov Vladimir Kotikov
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: