Prepare Travis CI for web3.js and explorer

This commit is contained in:
Michael Vines
2020-06-11 21:56:20 -07:00
parent 2eb6f498a8
commit 6c59093a67
3 changed files with 145 additions and 33 deletions

18
.travis/affects.sh Executable file
View File

@ -0,0 +1,18 @@
#!/usr/bin/env bash
#
# Check if files in the commit range match a regex
#
(
set -x
git diff --name-only $TRAVIS_COMMIT_RANGE
)
for file in $(git diff --name-only $TRAVIS_COMMIT_RANGE); do
if [[ $file =~ ^"$1" ]]; then
exit 0
fi
done
echo "No modifications to $1"
exit 1

38
.travis/export-github-repo.sh Executable file
View File

@ -0,0 +1,38 @@
#!/usr/bin/env bash
#
# Exports a subdirectory into another github repository
#
set -e
if [[ -z $GITHUB_TOKEN ]]; then
echo GITHUB_TOKEN not defined
exit 1
fi
cd "$(dirname "$0")/.."
pip3 install git-filter-repo
declare subdir=$1
declare repo_name=$2
[[ -n $subdir ]] || {
echo "Error: subdir not specified"
exit 1
}
[[ -n $repo_name ]] || {
echo "Error: repo_name not specified"
exit 1
}
.travis/affects.sh "^$subdir/" || exit 0
echo "Exporting $subdir"
set -x
rm -rf .github_export/"$repo_name"
git clone https://${GITHUB_TOKEN}@github.com/solana-labs/"$repo_name" .github_export/"$repo_name"
# TODO: Try using `--refs $TRAVIS_COMMIT_RANGE` to speed up the filtering
git filter-repo --subdirectory-filter "$subdir" --target .github_export/"$repo_name"
git -C .github_export/"$repo_name" push https://${GITHUB_TOKEN}@github.com/solana-labs/"$repo_name"