1. 17 Sep, 2020 6 commits
    • Kirill Smelkov's avatar
      golang: Fix it to keep per-workspace bits inside go.work/ · 273b5687
      Kirill Smelkov authored
      And not globally inside slapuser $HOME (which is go builtin default).
      
      `go env` output: before:
      
          (go.work) slapuser34@vifibcloud-rapidspace-hosting-007:~/srv/runner$ go env
          GO111MODULE=""
          GOARCH="amd64"
          GOBIN=""
          GOCACHE="/srv/slapgrid/slappart34/.cache/go-build"
          GOENV="/srv/slapgrid/slappart34/.config/go/env"
          GOEXE=""
          GOFLAGS=""
          GOHOSTARCH="amd64"
          GOHOSTOS="linux"
          GOINSECURE=""
          GONOPROXY=""
          GONOSUMDB=""
          GOOS="linux"
          GOPATH="/srv/slapgrid/slappart34/srv/runner/software/09b17891535725b7c44e64fb2e856ebe/go.work"
          GOPRIVATE=""
          GOPROXY="https://proxy.golang.org,direct"
          GOROOT="/srv/slapgrid/slappart34/srv/runner/shared/golang1.14/da4c5c8222d5573da4d0e547cfc1793e"
          GOSUMDB="sum.golang.org"
          GOTMPDIR=""
          GOTOOLDIR="/srv/slapgrid/slappart34/srv/runner/shared/golang1.14/da4c5c8222d5573da4d0e547cfc1793e/pkg/tool/linux_amd64"
          GCCGO="gccgo"
          AR="ar"
          CC="gcc"
          CXX="g++"
          CGO_ENABLED="1"
          GOMOD=""
          CGO_CFLAGS="-g -O2"
          CGO_CPPFLAGS=""
          CGO_CXXFLAGS="-g -O2"
          CGO_FFLAGS="-g -O2"
          CGO_LDFLAGS="-g -O2"
          PKG_CONFIG="pkg-config"
          GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build196479275=/tmp/go-build -gno-record-gcc-switches"
      
      after:
      
          (go.work) slapuser34@vifibcloud-rapidspace-hosting-007:~/srv/runner$ go env
          GO111MODULE=""
          GOARCH="amd64"
          GOBIN=""
          GOCACHE="/srv/slapgrid/slappart34/srv/runner/software/09b17891535725b7c44e64fb2e856ebe/go.work/cache"
          GOENV="/srv/slapgrid/slappart34/srv/runner/software/09b17891535725b7c44e64fb2e856ebe/go.work/goenv"
          GOEXE=""
          GOFLAGS=""
          GOHOSTARCH="amd64"
          GOHOSTOS="linux"
          GOINSECURE=""
          GONOPROXY=""
          GONOSUMDB=""
          GOOS="linux"
          GOPATH="/srv/slapgrid/slappart34/srv/runner/software/09b17891535725b7c44e64fb2e856ebe/go.work"
          GOPRIVATE=""
          GOPROXY="https://proxy.golang.org,direct"
          GOROOT="/srv/slapgrid/slappart34/srv/runner/shared/golang1.14/da4c5c8222d5573da4d0e547cfc1793e"
          GOSUMDB="sum.golang.org"
          GOTMPDIR=""
          GOTOOLDIR="/srv/slapgrid/slappart34/srv/runner/shared/golang1.14/da4c5c8222d5573da4d0e547cfc1793e/pkg/tool/linux_amd64"
          GCCGO="gccgo"
          AR="ar"
          CC="gcc"
          CXX="g++"
          CGO_ENABLED="1"
          GOMOD=""
          CGO_CFLAGS="-g -O2"
          CGO_CPPFLAGS=""
          CGO_CXXFLAGS="-g -O2"
          CGO_FFLAGS="-g -O2"
          CGO_LDFLAGS="-g -O2"
          PKG_CONFIG="pkg-config"
          GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build233719895=/tmp/go-build -gno-record-gcc-switches"
      
      i.e. we change $GOCACHE and $GOENV to be per-workspace:
      
          --- a/goenv.before
          +++ b/goenv.after
          @@ -1,8 +1,8 @@
           GO111MODULE=""
           GOARCH="amd64"
           GOBIN=""
          -GOCACHE="/srv/slapgrid/slappart34/.cache/go-build"
          -GOENV="/srv/slapgrid/slappart34/.config/go/env"
          +GOCACHE="/srv/slapgrid/slappart34/srv/runner/software/09b17891535725b7c44e64fb2e856ebe/go.work/cache"
          +GOENV="/srv/slapgrid/slappart34/srv/runner/software/09b17891535725b7c44e64fb2e856ebe/go.work/goenv"
           GOEXE=""
           GOFLAGS=""
           GOHOSTARCH="amd64"
      
      Explanation:
      
      - Starting from Go1.10 the go command maintains cache for built packages, test results, etc:
      
        https://golang.org/doc/go1.10#build
      
        while this cache tries to remember by which go version and in which
        environment a package was built, and reusing the cached entry only when it is
        indeed correct to do so, by keeping this cache in a shared place - not per go
        workspace - we expose it to interactions with other go installments, which,
        due to e.g. software bugs might misbehave.
      
        -> keeping the build cache inside go workspace makes things more safe.
      
      - Starting from Go1.13 the go command allows to keep its configuration and environment inside a file:
      
        https://golang.org/doc/go1.13#go-env-w
        https://go.googlesource.com/proposal/+/master/design/30411-env.md
      
        The default location for such file is per-user, which can bring
        misinteraction among several go workspace installments and wrt system go
        installment.
      
        -> move this configuration file into inside go workspace.
      
      /reviewed-by: TrustMe
      273b5687
    • Kirill Smelkov's avatar
      golang: Drop support for Go1.9, Go1.10 and Go1.11 · e9a0095f
      Kirill Smelkov authored
      These are old Go releases that were stopped being updated in 2018 - mid
      2019:
      
      https://golang.org/doc/devel/release.html#go1.9
      https://golang.org/doc/devel/release.html#go1.10
      https://golang.org/doc/devel/release.html#go1.11
      
      and that are not used by any in-tree SR or component.
      
      Don't drop Go1.12 and Go1.13 yet: they are too outdated and no longer
      supported, but those Go releases are still in use by the following
      slapos software:
      
      Go1.12: Caddy, GitLab, Grafana
      Go1.13: RepMan, Restic
      
      The maintainers of those software are advised to upgrade to Go1.14 due
      to at least recent security fixes in net/http package.
      e9a0095f
    • Kirill Smelkov's avatar
      golang: Switch default go1.10 -> go1.14 · 28ab00e0
      Kirill Smelkov authored
      Go1.10 is outdated by today as it was last updated in Jan 2019:
      
      	https://golang.org/doc/devel/release.html#go1.10
      
      Go1.14 is current oldstable - i.e. it is still supported and mature.
      
      As currently no in-tree SR or component use gowork's default, the switch
      should not introduce any breakage.
      28ab00e0
    • Kirill Smelkov's avatar
      golang: v↑ go1.14 (1.14.3 -> 1.14.9) · 1e7afb3e
      Kirill Smelkov authored
      Going Go1.14.3 -> Go1.14.9 brings in many compiler and runtime fixes,
      including security fixes to package net/http:
      
      https://golang.org/doc/devel/release.html#go1.14
      
      Switch helloweb from go1.13 -> go1.14 to test.
      
      Tested on helloworld SR.
      1e7afb3e
    • Kirill Smelkov's avatar
      golang: v↑ go1.13 (1.13.9 -> 1.13.15) · e849521f
      Kirill Smelkov authored
      Going Go1.13.9 -> Go1.13.15 brings in many compiler and runtime fixes,
      including security fixes to package net/http:
      
      https://golang.org/doc/devel/release.html#go1.13
      
      Switch helloweb from go1.12 -> go1.13 to test.
      
      Tested on helloworld SR.
      e849521f
    • Jérome Perrin's avatar
      version up: slapos.core 1.6.2 · 7bd5084c
      Jérome Perrin authored
      7bd5084c
  2. 16 Sep, 2020 3 commits
  3. 15 Sep, 2020 22 commits
  4. 11 Sep, 2020 4 commits
  5. 09 Sep, 2020 1 commit
  6. 07 Sep, 2020 4 commits