Skip to content
Snippets Groups Projects
Commit 15df85a0 authored by gabriel klawitter's avatar gabriel klawitter Committed by GitHub
Browse files

ci: check_polkadot: look for arbitrary link to polkadot pr eventually (#5415)

parent ab0f7d21
No related merge requests found
......@@ -3,9 +3,11 @@
# check if a pr is compatible with polkadot companion pr or master if not
# available
#
# mark companion pr in the body of the polkadot pr like
# to override one that was just mentioned mark companion pr in the body of the
# polkadot pr like
#
# polkadot companion: paritytech/polkadot#567
#
github_api_substrate_pull_url="https://api.github.com/repos/paritytech/substrate/pulls"
......@@ -29,7 +31,9 @@ polkadot companion: paritytech/polkadot#567
it will then run cargo check from this polkadot's branch with substrate code
from this pull request.
from this pull request. in absence of that string it will check if a polkadot
pr is mentioned and will use the last one instead. if none of the above can be
found it will check the build against polkadot:master.
EOT
......@@ -49,18 +53,27 @@ if expr match "${CI_COMMIT_REF_NAME}" '^[0-9]\+$' >/dev/null
then
boldprint "this is pull request no ${CI_COMMIT_REF_NAME}"
# get the last reference to a pr in polkadot
comppr="$(curl -H "${github_header}" -s ${github_api_substrate_pull_url}/${CI_COMMIT_REF_NAME} \
| sed -n -r \
-e 's;^[[:space:]]+"body":[[:space:]]+".*polkadot companion: paritytech/polkadot#([0-9]+).*"[^"]+$;\1;p' \
-e 's;^[[:space:]]+"body":[[:space:]]+".*polkadot companion: https://github.com/paritytech/polkadot/pull/([0-9]+).*"[^"]+$;\1;p' \
pr_body="$(curl -H "${github_header}" -s ${github_api_substrate_pull_url}/${CI_COMMIT_REF_NAME} \
| sed -n -r 's/^[[:space:]]+"body": (".*")[^"]+$/\1/p')"
pr_companion="$(echo "${pr_body}" | sed -n -r \
-e 's;^.*polkadot companion: paritytech/polkadot#([0-9]+).*$;\1;p' \
-e 's;^.*polkadot companion: https://github.com/paritytech/polkadot/pull/([0-9]+).*$;\1;p' \
| tail -n 1)"
if [ "${comppr}" ]
if [ -z "${pr_companion}" ]
then
pr_companion="$(echo "${pr_body}" | sed -n -r \
's;^.*https://github.com/paritytech/polkadot/pull/([0-9]+).*$;\1;p' \
| tail -n 1)"
fi
if [ "${pr_companion}" ]
then
boldprint "companion pr specified: #${comppr}"
git fetch --depth 1 origin refs/pull/${comppr}/head:pr/${comppr}
git checkout pr/${comppr}
boldprint "companion pr specified/detected: #${pr_companion}"
git fetch --depth 1 origin refs/pull/${pr_companion}/head:pr/${pr_companion}
git checkout pr/${pr_companion}
else
boldprint "no companion pr declared - building polkadot:master"
boldprint "no companion pr found - building polkadot:master"
fi
else
boldprint "this is not a pull request - building polkadot:master"
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment