mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-14 21:31:04 +00:00
check polkadot for companion pull requests (#5262)
* check_polkadot: move to external script * check_polkadot: check for companion pr Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com> Co-authored-by: Bastian Köcher <git@kchr.de>
This commit is contained in:
committed by
GitHub
parent
4414d00082
commit
75123f051e
@@ -127,6 +127,15 @@ check-line-width:
|
|||||||
allow_failure: true
|
allow_failure: true
|
||||||
|
|
||||||
|
|
||||||
|
check-polkadot:
|
||||||
|
stage: build
|
||||||
|
<<: *docker-env
|
||||||
|
script:
|
||||||
|
- ./.maintain/gitlab/check_polkadot.sh
|
||||||
|
interruptible: true
|
||||||
|
allow_failure: true
|
||||||
|
|
||||||
|
|
||||||
cargo-audit:
|
cargo-audit:
|
||||||
stage: test
|
stage: test
|
||||||
<<: *docker-env
|
<<: *docker-env
|
||||||
@@ -410,30 +419,6 @@ check_warnings:
|
|||||||
echo "___No warnings___";
|
echo "___No warnings___";
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Nightly check whether Polkadot 'master' branch builds.
|
|
||||||
check_polkadot:
|
|
||||||
stage: build
|
|
||||||
<<: *docker-env
|
|
||||||
allow_failure: true
|
|
||||||
only:
|
|
||||||
- master
|
|
||||||
- schedules
|
|
||||||
script:
|
|
||||||
- SUBSTRATE_PATH=$(pwd)
|
|
||||||
# Clone the current Polkadot master branch into ./polkadot.
|
|
||||||
- git clone --depth 1 https://gitlab.parity.io/parity/polkadot.git
|
|
||||||
- cd polkadot
|
|
||||||
# Make sure we override the crates in native and wasm build
|
|
||||||
- mkdir .cargo
|
|
||||||
- echo "paths = [ \"$SUBSTRATE_PATH\" ]" > .cargo/config
|
|
||||||
- mkdir -p target/debug/wbuild/.cargo
|
|
||||||
- echo "paths = [ \"$SUBSTRATE_PATH\" ]" > target/debug/wbuild/.cargo/config
|
|
||||||
# package, others are updated along the way.
|
|
||||||
- cargo update
|
|
||||||
# Check whether Polkadot 'master' branch builds with this Substrate commit.
|
|
||||||
- time cargo check
|
|
||||||
- cd -
|
|
||||||
- sccache -s
|
|
||||||
|
|
||||||
trigger-contracts-ci:
|
trigger-contracts-ci:
|
||||||
stage: publish
|
stage: publish
|
||||||
|
|||||||
Executable
+80
@@ -0,0 +1,80 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# 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
|
||||||
|
#
|
||||||
|
# polkadot companion: paritytech/polkadot#567
|
||||||
|
|
||||||
|
|
||||||
|
github_api_substrate_pull_url="https://api.github.com/repos/paritytech/substrate/pulls"
|
||||||
|
# use github api v3 in order to access the data without authentication
|
||||||
|
github_header="Accept: application/vnd.github.v3+json"
|
||||||
|
|
||||||
|
boldprint () { printf "|\n| \033[1m${@}\033[0m\n|\n" ; }
|
||||||
|
boldcat () { printf "|\n"; while read l; do printf "| \033[1m${l}\033[0m\n"; done; printf "|\n" ; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
boldcat <<-EOT
|
||||||
|
|
||||||
|
|
||||||
|
check_polkadot
|
||||||
|
==============
|
||||||
|
|
||||||
|
this job checks if there is a string in the description of the pr like
|
||||||
|
|
||||||
|
polkadot companion: paritytech/polkadot#567
|
||||||
|
|
||||||
|
|
||||||
|
it will then run cargo check from this polkadot's branch with substrate code
|
||||||
|
from this pull request.
|
||||||
|
|
||||||
|
|
||||||
|
EOT
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
SUBSTRATE_PATH=$(pwd)
|
||||||
|
|
||||||
|
# Clone the current Polkadot master branch into ./polkadot.
|
||||||
|
git clone --depth 1 https://github.com/paritytech/polkadot.git
|
||||||
|
|
||||||
|
cd polkadot
|
||||||
|
|
||||||
|
# either it's a pull request then check for a companion otherwise use
|
||||||
|
# polkadot:master
|
||||||
|
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 's;^[[:space:]]+"body":[[:space:]]+".*polkadot companion: paritytech/polkadot#([0-9]+).*"[^"]+$;\1;p;$!d')"
|
||||||
|
if [ "${comppr}" ]
|
||||||
|
then
|
||||||
|
boldprint "companion pr specified: #${comppr}"
|
||||||
|
git fetch --depth 1 origin refs/pull/${comppr}/head:pr/${comppr}
|
||||||
|
git checkout pr/${comppr}
|
||||||
|
else
|
||||||
|
boldprint "no companion pr declared - building polkadot:master"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
boldprint "this is not a pull request - building polkadot:master"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Make sure we override the crates in native and wasm build
|
||||||
|
# patching the git path as described in the link below did not test correctly
|
||||||
|
# https://doc.rust-lang.org/cargo/reference/overriding-dependencies.html
|
||||||
|
mkdir .cargo
|
||||||
|
echo "paths = [ \"$SUBSTRATE_PATH\" ]" > .cargo/config
|
||||||
|
|
||||||
|
mkdir -p target/debug/wbuild/.cargo
|
||||||
|
cp .cargo/config target/debug/wbuild/.cargo/config
|
||||||
|
|
||||||
|
# package, others are updated along the way.
|
||||||
|
cargo update
|
||||||
|
|
||||||
|
# Test Polkadot pr or master branch with this Substrate commit.
|
||||||
|
time cargo test --all --release --verbose
|
||||||
|
|
||||||
Reference in New Issue
Block a user