1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-08-06 19:44:01 +08:00

41 Commits

Author SHA1 Message Date
968e70f1e2 fix: downgrade to go 1.13
Go 1.14 has a timer reset deadlock (https://github.com/golang/go/issues/38070).

This also downgrades quic-go until either a go patch release fixes this issue or
a version of quic-go is released that works with go 1.13.
2020-03-29 18:41:47 -07:00
5d6d289ce8 chore: update golang 2020-03-27 09:37:37 -07:00
0819fe6f4a Require go 1.14
A dependency of ours now requires 1.14, let's be more explicit ourselves

../../go/pkg/mod/github.com/lucas-clemente/quic-go@v0.15.2/interface.go:54:2: duplicate method StreamID
../../go/pkg/mod/github.com/lucas-clemente/quic-go@v0.15.2/stream.go:44:2: duplicate method StreamID
note: module requires Go 1.14
2020-03-12 04:25:13 +01:00
dba13955e5 chore(build): switch to go 1.13 2019-11-15 05:36:09 -08:00
b69365e408 mk: handle stripping paths when GOPATH contains whitespace 2019-07-22 18:32:28 -04:00
545eb3a462 build: strip GOPATH from build paths
This should help fix some of our problems using plugins with go-ipfs.
2019-06-05 13:22:55 -07:00
037382239d build: switch from megacheck to golangci-lint
(which includes megacheck)

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2019-05-14 09:38:29 -07:00
f31dd2aae6 GOCC implementation & fix in make & build scripts
The usage of a native 'go' command has been replaced with a make &
environment variable $GOCC. This enables building with multiple go
versions on a single machine as documented:
  * https://golang.org/doc/install#extra_versions

This enables the usage of:
```bash
$ make install
$ # OR
$ GOCC=go1.12.3 make install
$ # OR
$ GOCC=go1.12.4 make install
```
And the build and test tools now pick up on this change

 On branch go-version-check
 Changes to be committed:
	modified:   Rules.mk
	modified:   bin/check_go_version
	modified:   bin/dist_get
	modified:   bin/maketarball.sh
	modified:   coverage/Rules.mk
	modified:   mk/golang.mk
	modified:   mk/tarball.mk
License: MIT
Signed-off-by: Chris Buesser <christopher.buesser@gmail.com>
2019-04-30 21:22:43 -04:00
739f762b22 ci: test building with fuse
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2019-04-18 17:56:00 -07:00
f08100022c misc: require Go 1.12
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-04-04 16:37:45 +02:00
a6053d631a mk: fix maketarball to work with gomod
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-03-13 23:05:48 +01:00
cc315dc77f Merge pull request #6059 from ipfs/fix/make-build
mk: fix make install by not setting GOBIN
2019-03-06 13:31:23 -08:00
061128d1d3 mk: fix make install by not setting GOBIN
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-03-06 22:21:14 +01:00
3589eb989e go: require Golang 1.11.4
mod.sum generation had a fix in this version which probably is the
reason for #6056

License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-03-06 13:27:52 +01:00
76f7a7694d gomod/mk: set GO111MODULE in Makefile
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-03-05 18:37:44 +01:00
21f3dae696 gomod: remove gopath check
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-03-05 18:33:58 +01:00
27f73fa7e4 gomod: use test binaries from go modules
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-03-05 18:33:58 +01:00
3e199ab3f7 mk: s/go-build/go-build-relative/
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-03-05 18:33:58 +01:00
16cfe4a5ea gomod: add coverage tools to go.mod
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-03-05 18:33:58 +01:00
d8a92224a7 ci: test on 32bit os
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2019-03-04 19:20:51 -08:00
2aab5b9fba unexport GOFLAGS
We want to explicitly pass these where we need them.

fixes #5733

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-11-06 14:26:38 -08:00
8b573dc771 switch to go 1.11
Go 1.11 changes the output of `go fmt` slightly so we either need to
all *downgrade* or *upgrade*. Let's upgrade.

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-10-08 17:03:20 -07:00
0252710020 remove Godeps
fixes #2722

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-09-11 12:11:24 -07:00
439b0e35dc fix check_go_path when it has spaces in it
fixes #5260

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-07-18 17:12:12 -07:00
22a25ef15c switch minimum go version to go 1.10
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
Signed-off-by: Victor Bjelkholm <git@victor.earth>
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-05-16 12:43:20 +01:00
8c9725d88e Simplify GOPATH check
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2018-03-23 07:09:32 +01:00
ad18295955 build: match Go's GOPATH defaults behaviour
License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
2018-03-23 07:09:32 +01:00
513b373a85 only run the build test on test_go_expensive
fixes #4642

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2018-02-03 13:31:04 +01:00
f3ad2c95bd run os builds as a part of the test_go_* targets
We were doing this as part of the `test` target but we don't run that on CI (or
at least not on Travis).

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2017-12-15 16:17:43 -08:00
bbdbd0ac6f Merge pull request #4398 from ipfs/fix/hamt-bug
fix hamt delete issue
2017-12-05 20:53:51 +01:00
1a75c40f5b require go1.9
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2017-12-04 09:33:20 -08:00
6917d2f08f build for all supported platforms when testing
fixes #4427

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2017-11-30 22:05:06 -08:00
9c40c31990 mk: fix plugin test fail
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2017-08-25 21:40:38 +02:00
00590fd293 mk: option to pass custom go executable
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2017-08-22 20:04:08 +02:00
c2603538fe docs: Require go 1.8
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2017-07-07 20:02:42 +02:00
ae4cad3ff3 make: use correct location for [test_go_megacheck]
License: MIT
Signed-off-by: Zach Ramsay <zach.ramsay@gmail.com>
2017-06-01 14:04:30 -04:00
5ae31f4a2a make: readd the path check functionality
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2017-03-15 13:12:28 +01:00
b54df01dbe make: fix build when symlinked into GOPATH
In workspace setups that have the source tree symlinked into GOPATH,
the `go list `command wouldn't recognize that we're technically within GOPATH,
because `pwd` doesn't look like it.

For example

	/home/user/go/src/github.com/ipfs/go-ipfs
	=> /home/user/go/ipfs/go-ipfs

produces the import path

	_/home/user/ipfs/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-random/random

which is not within GOPATH.

We get around this by using fully-qualified import paths instead:
starting in github.com/ipfs/go-ipfs/ instead of ./

License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
2017-03-11 04:15:09 +01:00
1a5c21cd0b mk/golang: fix multiple tags
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2017-02-12 01:53:54 +01:00
545f03e9c3 Jenkins CI
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2017-02-12 01:18:41 +01:00
f630222580 make: rework makefiles for non-recursive make and add sharness coverage
This commit introduces non-recursive Makefile infrastructure that replaces current Makefile infrastructure.
It also generally cleanups the Makefiles, separates them into nicer sub-modules and centralizes common operations into single definitions.

It allows to depend on any target that is defined in the makefile, this means that for example `gx install` is called once when `make build test_expensive_sharness` is called instead of 4 or 5 times.

It also makes the dependencies much cleaner and allows for reuse of modules. For example sharness coverage collection (WIP) uses sharness target with amended PATH, previously it might have been possible but not without wiring in the coverage collection into sharness make runner code.

Yes, it is more complex but not much more. There are few rules that have to be followed and few complexities added but IMHO it is worth it.

How to NR-make:
1. If make is to generate some file via a target, it MUST be defined in Rules.mk file in the directory of the target.
2. `Rules.mk` file MUST have `include mk/header.mk` statement as the first line and `include mk/footer.mk` statement as the last line (apart from project root `Rules.mk`).
3. It then MUST be included by the closest `Rules.mk` file up the directory tree.
4. Inside a `Rules.mk` special variable accessed as `$(d)` is defined. Its value is current directory, use it so if the `Rules.mk` file is moved in the tree it still works without a problem. Caution: this variable is not available in the recipe part and MUST NOT be used. Use name of the target or prerequisite to extract it if you need it.
5. Make has only one global scope, this means that name conflicts are a thing. Names SHOULD  follow `VAR_NAME_$(d)` convention. There are exceptions from this rule in form of well defined global variables. Examples: General lists `TGT_BIN`, `CLEAN`; General targets: `TEST`, `COVERAGE`; General variables: `GOFLAGS`, `DEPS_GO`.
3. Any rules, definitions or variables that fit some family SHOULD be defined in `mk/$family.mk` file and included from project root `Rules.mk`

License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2017-02-12 01:18:40 +01:00