You get this error because you specified your submodules via ssh-urls. For ssh access from the travis-ci environment you need to configure a key.
Alternatively, you can just use relative URLs for your git submodules since you project and your submodules are all available on Github.
Git resolves relative urls against the ORIGIN
.
Example:
Using the first 2 entries from your .gitmodules
:
[submodule "lib/es5-shim"]
path = lib/es5-shim
url = [email protected]:kriskowal/es5-shim.git
[submodule "build/html"]
path = build/html
url = [email protected]:quadroid/clonejs.git
Replaced with relative URLs:
[submodule "lib/es5-shim"]
path = lib/es5-shim
url = ../../kriskowal/es5-shim.git
[submodule "build/html"]
path = build/html
url = ../clonejs.git
Then when cloning - say - via https the origin is set like this:
$ git clone https://github.com/quadroid/clonejs.git
$ cd clonejs
$ git remote -v
origin https://github.com/quadroid/clonejs.git (fetch)
origin https://github.com/quadroid/clonejs.git (push)
When cloning via ssh:
$ git clone [email protected]:quadroid/clonejs.git
$ cd clonejs
$ git remote -v
origin [email protected]:quadroid/clonejs.git (fetch)
origin [email protected]:quadroid/clonejs.git (push)
With relative urls, the usual submodule sequence works independently of the origin:
$ git submodule init
$ git submodule update