- use a circleci context to provide dockerhub credentials
- use a yaml alias to reduce repetition for branch filters (thanks @Mr0grog)
- limit docker-push step from test workflow to only run on relevant branches
License: MIT
Signed-off-by: Oli Evans <oli@tableflip.io>
- build in docker in ci so we can see failures.
- tag and push to dockerhub from ci so we have more control and visibility on the process.
Note, docker workflows run on all branches and no tags by default. You need to opt in to having builds trigger when a git tag is pushed. The filter definition to opt in to tags needs to be present on your job and all dependendent jobs, which is dull. See https://circleci.com/docs/2.0/workflows/#executing-workflows-for-a-git-tag
I've recreated the dockerhub autobuild rules we have currently, but it is worthing taking a moment to review them.
License: MIT
Signed-off-by: Oli Evans <oli@tableflip.io>
Due to the bash args used, collect-profiles.sh would fail if which ipfs failed to find an ipfs binary on the path, like when running ipfs in docker.
Fixes that by using a check for the command that wont error if it's not found.
Also
- adds a commment to explains when to use the script and what it does.
- be less chatty. Simpify the output so it's clearer what it's doing. Experts can read the script or set the -x flag themselves.
License: MIT
Signed-off-by: Oli Evans <oli@tableflip.io>
With an empty API headers config like
```js
"API": {
"HTTPHeaders": {}
},
```
running collect-profiles.sh shows connection errors when trying to POST to `/debug/pprof-mutex/` end point when using `localhost`.
The same errors do not occur when using `127.0.0.1`
License: MIT
Signed-off-by: Oli Evans <oli@tableflip.io>
The version of `date` that ships with darwin does not support the `-Iseconds` flag.
Use a pattern with `date` to achieve the same thing but should have better cross platform support.
License: MIT
Signed-off-by: Oli Evans <oli@tableflip.io>
TMPDIR is a special variable indicating the _system_ temporary directory root.
Unfortunately, go refuses to honor `go.mod` files in this directory to prevent
random `/tmp/go.mod` files from messing with modules cloned into `/tmp`.
The fix is simple: rename TMPDIR to TEMP.
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>
Unfortunately, `readlink -f` doesn't work on macos. This change *manually*
converts a relative path to an absolute path.
fixes#5859
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
* don't write the tarball in the directory we're taring (makes tar unhappy)
* fix permissions
* fix gopath
License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
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>