This repository has been archived by the owner on Feb 1, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 112
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ci(travis): redo benchmarks with travis
- Loading branch information
1 parent
a33adb2
commit 2a6239e
Showing
8 changed files
with
85 additions
and
128 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
#!/bin/bash | ||
output="$1" | ||
branch="$2" | ||
|
||
git checkout "$2" | ||
|
||
IPFS_LOGGING=critical go test -run=NONE -bench=. ./... | tee "$1" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
#!/bin/bash | ||
set -eo pipefail | ||
|
||
display_and_run() { | ||
echo "***" "$@" | ||
eval $(printf '%q ' "$@") | ||
} | ||
|
||
# reset workdir to state from git (to remove possible rewritten dependencies) | ||
display_and_run git reset --hard | ||
|
||
# Environment | ||
echo "*** Setting up test environment" | ||
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then | ||
if [[ "$TRAVIS_SUDO" == true ]]; then | ||
# Ensure that IPv6 is enabled. | ||
# While this is unsupported by TravisCI, it still works for localhost. | ||
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=0 | ||
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=0 | ||
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0 | ||
fi | ||
else | ||
# OSX has a default file limit of 256, for some tests we need a | ||
# maximum of 8192. | ||
ulimit -Sn 8192 | ||
fi | ||
|
||
list_buildable() { | ||
go list -f '{{if (len .GoFiles)}}{{.ImportPath}} {{if .Module}}{{.Module.Dir}}{{else}}{{.Dir}}{{end}}{{end}}' ./... | grep -v /vendor/ | ||
} | ||
|
||
build_all() { | ||
# Make sure everything can compile since some package may not have tests | ||
# Note: that "go build ./..." will fail if some packages have only | ||
# tests (will get "no buildable Go source files" error) so we | ||
# have to do this the hard way. | ||
list_buildable | while read -r pkg dir; do | ||
echo '*** go build' "$pkg" | ||
buildmode=archive | ||
if [[ "$(go list -f '{{.Name}}')" == "main" ]]; then | ||
# plugin works even when a "main" function is missing. | ||
buildmode=plugin | ||
fi | ||
( cd "$dir"; go build -buildmode=$buildmode -o /dev/null "$pkg") | ||
done | ||
} | ||
|
||
export GO111MODULE=on | ||
display_and_run go get golang.org/x/tools/cmd/benchcmp | ||
build_all | ||
git checkout -b after | ||
git fetch origin master:refs/remotes/origin/before | ||
git checkout remotes/origin/before | ||
git checkout -b before | ||
git checkout after | ||
display_and_run ./bin/benchmark-to-file.sh benchmark-before.txt before | ||
git checkout after | ||
display_and_run ./bin/benchmark-to-file.sh benchmark-after.txt after | ||
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then | ||
display_and_run ./bin/diff-benchmarks.sh benchmark-before.txt benchmark-after.txt | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
#!/bin/bash | ||
if [[ "$TEST_PHASE" == "test" ]]; then | ||
bash <(curl -s https://raw.githubusercontent.com/ipfs/ci-helpers/master/travis-ci/run-standard-tests.sh) | ||
else | ||
./bin/run-benchmarks.sh | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters