Merge branch '17682-fix-stutter'
[arvados.git] / lib / install / deps.go
index 504cdff8f2e4ab24f834761cb7b9558643f6914b..8df3fba532a59559fe6ce5e17eacfa5bd41956c3 100644 (file)
@@ -218,21 +218,20 @@ func (inst *installCommand) RunCommand(prog string, args []string, stdin io.Read
                        return 1
                }
        }
-       rubyversion := "2.5.7"
+       rubyversion := "2.7.2"
+       rubymajorversion := rubyversion[:strings.LastIndex(rubyversion, ".")]
        if haverubyversion, err := exec.Command("/var/lib/arvados/bin/ruby", "-v").CombinedOutput(); err == nil && bytes.HasPrefix(haverubyversion, []byte("ruby "+rubyversion)) {
                logger.Print("ruby " + rubyversion + " already installed")
        } else {
                err = inst.runBash(`
 tmp="$(mktemp -d)"
 trap 'rm -r "${tmp}"' ERR EXIT
-wget --progress=dot:giga -O- https://cache.ruby-lang.org/pub/ruby/2.5/ruby-`+rubyversion+`.tar.gz | tar -C "${tmp}" -xzf -
+wget --progress=dot:giga -O- https://cache.ruby-lang.org/pub/ruby/`+rubymajorversion+`/ruby-`+rubyversion+`.tar.gz | tar -C "${tmp}" -xzf -
 cd "${tmp}/ruby-`+rubyversion+`"
 ./configure --disable-install-static-library --enable-shared --disable-install-doc --prefix /var/lib/arvados
 make -j8
 make install
-/var/lib/arvados/bin/gem install bundler --no-ri --no-rdoc
-# "gem update --system" can be removed when we use ruby ≥2.6.3: https://bundler.io/blog/2019/05/14/solutions-for-cant-find-gem-bundler-with-executable-bundle.html
-/var/lib/arvados/bin/gem update --system --no-ri --no-rdoc
+/var/lib/arvados/bin/gem install bundler --no-document
 `, stdout, stderr)
                if err != nil {
                        return 1
@@ -240,7 +239,7 @@ make install
        }
 
        if !prod {
-               goversion := "1.14"
+               goversion := "1.16.3"
                if havegoversion, err := exec.Command("/usr/local/bin/go", "version").CombinedOutput(); err == nil && bytes.HasPrefix(havegoversion, []byte("go version go"+goversion+" ")) {
                        logger.Print("go " + goversion + " already installed")
                } else {
@@ -284,7 +283,7 @@ ln -sf /var/lib/arvados/bin/geckodriver /usr/local/bin/
                        }
                }
 
-               nodejsversion := "v8.15.1"
+               nodejsversion := "v10.23.1"
                if havenodejsversion, err := exec.Command("/usr/local/bin/node", "--version").CombinedOutput(); err == nil && string(havenodejsversion) == nodejsversion+"\n" {
                        logger.Print("nodejs " + nodejsversion + " already installed")
                } else {
@@ -450,6 +449,7 @@ rm ${zip}
                                "--exclude", "/log",
                                "--exclude", "/tmp",
                                "--exclude", "/vendor",
+                               "--exclude", "/config/environments",
                                "./", "/var/lib/arvados/"+dstdir+"/")
                        cmd.Dir = filepath.Join(inst.SourcePath, srcdir)
                        cmd.Stdout = stdout