Merge branch 'do-not-vendor-go-mod' into 'master'
Don't use go mod vendor See merge request gitlab-org/gitlab-ce!31721
This commit is contained in:
commit
2bb475adba
1 changed files with 26 additions and 0 deletions
|
@ -107,6 +107,32 @@ Modules](https://github.com/golang/go/wiki/Modules). It provides a way to
|
||||||
define and lock dependencies for reproducible builds. It should be used
|
define and lock dependencies for reproducible builds. It should be used
|
||||||
whenever possible.
|
whenever possible.
|
||||||
|
|
||||||
|
When Go Modules are in use, there should not be a `vendor/` directory. Instead,
|
||||||
|
Go will automatically download dependencies when they are needed to build the
|
||||||
|
project. This is in line with how dependencies are handled with Bundler in Ruby
|
||||||
|
projects, and makes merge requests easier to review.
|
||||||
|
|
||||||
|
In some cases, such as building a Go project for it to act as a dependency of a
|
||||||
|
CI run for another project, removing the `vendor/` directory means the code must
|
||||||
|
be downloaded repeatedly, which can lead to intermittent problems due to rate
|
||||||
|
limiting or network failures. In these circumstances, you should cache the
|
||||||
|
downloaded code between runs with a `.gitlab-ci.yml` snippet like this:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
.go-cache:
|
||||||
|
variables:
|
||||||
|
GOPATH: $CI_PROJECT_DIR/.go
|
||||||
|
before_script:
|
||||||
|
- mkdir -p .go
|
||||||
|
cache:
|
||||||
|
paths:
|
||||||
|
- .go/pkg/mod/
|
||||||
|
|
||||||
|
test:
|
||||||
|
extends: .go-cache
|
||||||
|
# ...
|
||||||
|
```
|
||||||
|
|
||||||
There was a [bug on modules
|
There was a [bug on modules
|
||||||
checksums](https://github.com/golang/go/issues/29278) in Go < v1.11.4, so make
|
checksums](https://github.com/golang/go/issues/29278) in Go < v1.11.4, so make
|
||||||
sure to use at least this version to avoid `checksum mismatch` errors.
|
sure to use at least this version to avoid `checksum mismatch` errors.
|
||||||
|
|
Loading…
Reference in a new issue