status-im / nim-secp256k1

A wrapper for libsecp256k1
Apache License 2.0
9 stars 5 forks source link

Windows CI: submodule issue #12

Closed mratsim closed 4 years ago

mratsim commented 6 years ago

The following line seems to be necessary for Windows CI: https://github.com/status-im/nim-secp256k1/blob/1b65bb7607dfdbd6b107802f28d4a28fe6a6f7d0/.appveyor.yml#L84

Removing it failed CI https://github.com/status-im/nim-secp256k1/commit/53b5b9388c7b6134818dae28893785e534401e5d.

Normally Nimble is supposed to automatically pull submodules on Nimble install:

https://github.com/nim-lang/nimble/blob/d606867da636e3377cb5c8d55e9653388e1121cb/src/nimblepkg/download.nim#L37

proc doPull(meth: DownloadMethod, downloadDir: string) =
  case meth
  of DownloadMethod.git:
    doCheckout(meth, downloadDir, "")
    cd downloadDir:
      doCmd("git pull")
      if existsFile(".gitmodules"):
        doCmd("git submodule update")
  of DownloadMethod.hg:
    doCheckout(meth, downloadDir, "default")
    cd downloadDir:
      doCmd("hg pull")

But on Appveyor it does not even though the .gitmodules file exist https://github.com/status-im/nim-secp256k1/blob/master/.gitmodules.

Is that an Appveyor quirk? Travis functions without explicit submodule update.

arnetheduck commented 6 years ago

sure this method is called as part of nimble install of the actual library being installed? could be that it's only used when pulling dependencies that don't exist yet, for example.. stands to reason that it installs the code in the current folder and doesn't bother with git, but then linux shouldn't work either.. strange

arnetheduck commented 4 years ago

windows CI is passing, closing this