Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 41 additions & 14 deletions .circle/buildenv.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,44 @@ set -e
distros=($DISTROS)
DISTRO=${distros[$CIRCLE_NODE_INDEX]}

fetch_version() {
# Install dependencies
if ! command -v jq > /dev/null 2>&1; then
sudo apt-get -yq install jq
fi

# Discover st2 giturl, eg. the repo we work with
# In case of forked PR - it will use user's `st2` giturl
get_st2_giturl() {
# Handle pull requests properly
if [ -z "$CIRCLE_PR_REPONAME" ]; then
echo "https://github.com/${CIRCLE_PROJECT_USERNAME}/${CIRCLE_PROJECT_REPONAME}"
else
echo "https://github.com/${CIRCLE_PR_USERNAME}/${CIRCLE_PR_REPONAME}"
fi
}

# Discover the st2 target branch we work with
get_st2_gitrev() {
if [ -z "$CI_PULL_REQUEST" ]; then
TARGET_BRANCH=${CIRCLE_BRANCH}
else # pull request
TARGET_PR_ORG=$(echo ${CI_PULL_REQUEST} | awk -F/ '{print $4}')
TARGET_PR_REPO=$(echo ${CI_PULL_REQUEST} | awk -F/ '{print $5}')
TARGET_PR_NUMBER=$(echo ${CI_PULL_REQUEST} | awk -F/ '{print $7}')

# branch name user opened PR against
TARGET_BRANCH=$(curl -Ss -q https://api.github.com/repos/${TARGET_PR_ORG}/${TARGET_PR_REPO}/pulls/${TARGET_PR_NUMBER} | jq -r ".base.ref")
fi

if echo "${TARGET_BRANCH}" | grep -q '^v[0-9]\+\.[0-9]\+$'; then
echo "${TARGET_BRANCH}"
else
echo "master"
fi
}

# Discover st2 version based on st2common `__init__` file
get_st2_version() {
if [ -f ../st2common/st2common/__init__.py ]; then
# Get st2 version based on hardcoded string in st2common
# build takes place in `st2` repo
Expand All @@ -16,16 +53,6 @@ fetch_version() {
fi
}

# Needs explantion???
st2_giturl() {
# Handle pull requests properly
if [ -z "$CIRCLE_PR_REPONAME" ]; then
echo "https://github.com/${CIRCLE_PROJECT_USERNAME}/${CIRCLE_PROJECT_REPONAME}"
else
echo "https://github.com/${CIRCLE_PR_USERNAME}/${CIRCLE_PR_REPONAME}"
fi
}

# Write export lines into ~/.buildenv and also source it in ~/.circlerc
write_env() {
for e in $*; do
Expand All @@ -42,9 +69,9 @@ write_env() {
# ST2PKG_RELEASE - Release number aka revision number for `st2` package, will be reused in Docker metadata (ex: 4)
# ST2_WAITFORSTART - Delay between st2 start and service checks

ST2_GITURL=${ST2_GITURL:-$(st2_giturl)}
ST2_GITREV=${ST2_GITREV:-$CIRCLE_BRANCH}
ST2PKG_VERSION=$(fetch_version)
ST2_GITURL=${ST2_GITURL:-$(get_st2_giturl)}
ST2_GITREV=${ST2_GITREV:-$(get_st2_gitrev)}
ST2PKG_VERSION=$(get_st2_version)
# for Bintray
#ST2PKG_RELEASE=$(.circle/bintray.sh next-revision ${DISTRO}_staging ${ST2PKG_VERSION} st2)
# for PackageCloud
Expand Down
1 change: 0 additions & 1 deletion circle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ machine:
DISTROS: "wheezy jessie trusty el6 el7"
NOTESTS: "el7"
ST2_GITURL: https://github.com/StackStorm/st2
ST2_GITREV: master
ST2_DOCKERFILES_REPO: https://github.com/StackStorm/st2-dockerfiles
BUILD_DOCKER: 0
DEPLOY_DOCKER: 0
Expand Down