aboutsummaryrefslogtreecommitdiffhomepage
path: root/scripts/ci
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/ci')
-rwxr-xr-xscripts/ci/build.sh59
1 files changed, 29 insertions, 30 deletions
diff --git a/scripts/ci/build.sh b/scripts/ci/build.sh
index 9ead03c624..b1d672e7fc 100755
--- a/scripts/ci/build.sh
+++ b/scripts/ci/build.sh
@@ -136,7 +136,6 @@ function bazel_build() {
fi
cp bazel-genfiles/site/jekyll-tree.tar $1/docs.bazel.build.tar
cp bazel-bin/src/tools/benchmark/webapp/site.tar $1/perf.bazel.build.tar.nobuild
- cp bazel-genfiles/scripts/packages/README.md $1/README.md
fi
}
@@ -181,20 +180,8 @@ function generate_email() {
fi
}
-# Deploy a github release using a third party tool:
-# https://github.com/c4milo/github-release
-# This methods expects the following arguments:
-# $1..$n files generated by package_build (should not contains the README file)
-# Please set GITHUB_TOKEN to talk to the Github API and GITHUB_RELEASE
-# for the path to the https://github.com/c4milo/github-release tool.
-# This method is also affected by GIT_REPOSITORY_URL which should be the
-# URL to the github repository (defaulted to https://github.com/bazelbuild/bazel).
-function release_to_github() {
- local url="${GIT_REPOSITORY_URL}"
- local release_name=$(get_release_name)
- local rc=$(get_release_candidate)
- local release_tool="${GITHUB_RELEASE:-$(which github-release 2>/dev/null || true)}"
- local gpl_warning='
+function get_release_page() {
+ echo "# $(git_commit_msg)"'
_Notice_: Bazel installers contain binaries licensed under the GPLv2 with
Classpath exception. Those installers should always be redistributed along with
@@ -210,8 +197,23 @@ The binaries and source-code of the bundled OpenJDK can be
_Security_: All our binaries are signed with our
[public key](https://bazel.build/bazel-release.pub.gpg) 48457EE0.
'
+}
- if [ ! -x "${release_tool}" ]; then
+# Deploy a github release using a third party tool:
+# https://github.com/c4milo/github-release
+# This methods expects the following arguments:
+# $1..$n files generated by package_build (should not contains the README file)
+# Please set GITHUB_TOKEN to talk to the Github API and GITHUB_RELEASE
+# for the path to the https://github.com/c4milo/github-release tool.
+# This method is also affected by GIT_REPOSITORY_URL which should be the
+# URL to the github repository (defaulted to https://github.com/bazelbuild/bazel).
+function release_to_github() {
+ local url="${GIT_REPOSITORY_URL}"
+ local release_name=$(get_release_name)
+ local rc=$(get_release_candidate)
+ local release_tool="${GITHUB_RELEASE:-$(which github-release 2>/dev/null || echo release-tool-not-found)}"
+
+ if [ "${release_tool}" = "release-tool-not-found" ]; then
echo "Please set GITHUB_RELEASE to the path to the github-release binary." >&2
echo "This probably means you haven't installed https://github.com/c4milo/github-release " >&2
echo "on this machine." >&2
@@ -221,25 +223,24 @@ _Security_: All our binaries are signed with our
if [ -n "${release_name}" ] && [ -z "${rc}" ]; then
mkdir -p "${tmpdir}/to-github"
cp "${@}" "${tmpdir}/to-github"
- "${GITHUB_RELEASE}" "${github_repo}" "${release_name}" "" "# $(git_commit_msg) ${gpl_warning}" "${tmpdir}/to-github/"'*'
+ "${release_tool}" "${github_repo}" "${release_name}" "" "$(get_release_page)" "${tmpdir}/to-github/"'*'
fi
}
# Creates an index of the files contained in folder $1 in mardown format
function create_index_md() {
- # First, add the README.md
- local file=$1/__temp.md
- if [ -f $1/README.md ]; then
- cat $1/README.md
+ # First, add the release notes
+ get_release_page
+ # Build log
+ if [ -f $1/build.log ]; then
+ echo
+ echo " [Build log](build.log)"
+ echo
fi
# Then, add the list of files
echo
echo "## Index of files"
echo
- # Security notice
- echo "_Security_: All our binaries are signed with our"
- echo "[public key](https://bazel.build/bazel-release.pub.gpg) 48457EE0."
- echo
for f in $1/*.sha256; do # just list the sha256 ones
local filename=$(basename $f .sha256);
echo " - [${filename}](${filename}) [[SHA-256](${filename}.sha256)] [[SIG](${filename}.sig)]"
@@ -411,9 +412,8 @@ function release_to_apt() {
# A wrapper around the release deployment methods.
function deploy_release() {
local github_args=()
- # Filters out README.md for github releases
for i in "$@"; do
- if ! ( [[ "$i" =~ README.md$ ]] || [[ "$i" =~ bazel.dsc ]] || [[ "$i" =~ bazel.tar.gz ]] || [[ "$i" =~ .nobuild$ ]] ) ; then
+ if ! ( [[ "$i" =~ build.log ]] || [[ "$i" =~ bazel.dsc ]] || [[ "$i" =~ bazel.tar.gz ]] || [[ "$i" =~ .nobuild$ ]] ) ; then
github_args+=("$i")
fi
done
@@ -443,7 +443,6 @@ function deploy_release() {
# RELEASE_EMAIL_SUBJECT: the subject of the email to be sent
# RELEASE_EMAIL_CONTENT: the content of the email to be sent
function bazel_release() {
- local README=$2/README.md
tmpdir=$(mktemp -d ${TMPDIR:-/tmp}/tmp.XXXXXXXX)
trap 'rm -fr ${tmpdir}' EXIT
ensure_gpg_secret_key_imported
@@ -455,7 +454,7 @@ function bazel_release() {
for file in $folder/*; do
local filename=$(basename $file)
if [ "$filename" != README.md ]; then
- if [ "$filename" == "bazel.dsc" ] || [ "$filename" == "bazel.tar.gz" ] \
+ if [ "$filename" == "bazel.dsc" ] || [ "$filename" == "bazel.tar.gz" ] \
|| [[ "$filename" =~ bazel-(.*)-dist\.zip ]] ; then
local destfile=${tmpdir}/$filename
elif [[ "$file" =~ /([^/]*)(\.[^\./]+)$ ]]; then
@@ -473,7 +472,7 @@ function bazel_release() {
fi
done
done
- deploy_release $README $(find ${tmpdir} -type f)
+ deploy_release $(find ${tmpdir} -type f)
export RELEASE_EMAIL="$(generate_email)"