refactor(ci): decouple from upstream Parity infrastructure

Replace Parity-specific infrastructure dependencies with Pezkuwi's own:
- S3 release uploads → GitHub Releases (gh CLI)
- parity-zombienet runner labels → pezkuwi-runner
- Grafana/Loki log URLs → disabled (use GH artifacts)
- Matrix notifications → disabled (pending Pezkuwi Matrix)
- paritytech issue links → pezkuwi tracking issues
- paritytech Docker image refs → pezkuwi-sdk-frame in cmd.py
- Add mirror-ci-image.yml workflow for GHCR image mirroring
- Document upstream shared tools (resolc, try-runtime, evm-test-suite)
This commit is contained in:
2026-03-02 15:02:23 +03:00
parent 7ff7957713
commit db8921b7c8
13 changed files with 107 additions and 107 deletions
+32 -57
View File
@@ -118,9 +118,12 @@ set_pezkuwi_teyrchain_binary_version() {
}
# Upload release artifacts to GitHub Releases using gh CLI.
# Pezkuwi SDK uses GitHub Releases instead of external S3 buckets.
#
# input: product, version, target
# output: none
upload_s3_release() {
alias aws='podman run --rm -it docker.io/paritytech/awscli -e AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY -e AWS_BUCKET aws'
product=$1
version=$2
target=$3
@@ -129,78 +132,50 @@ upload_s3_release() {
echo "Working on version: $version "
echo "Working on platform: $target "
URL_BASE=$(get_s3_url_base $product)
echo "Current content, should be empty on new uploads:"
aws s3 ls "s3://${URL_BASE}/${version}/${target}" --recursive --human-readable --summarize || true
echo "Content to be uploaded:"
artifacts="release-artifacts/$target/$product/"
echo "Content to be uploaded:"
ls "$artifacts"
aws s3 sync --acl public-read "$artifacts" "s3://${URL_BASE}/${version}/${target}"
echo "Uploaded files:"
aws s3 ls "s3://${URL_BASE}/${version}/${target}" --recursive --human-readable --summarize
echo "✅ The release should be at https://${URL_BASE}/${version}/${target}"
# Upload each artifact to the GitHub Release
for file in "$artifacts"/*; do
[ -f "$file" ] || continue
echo "Uploading: $file"
gh release upload "$version" "$file" --clobber || true
done
echo "✅ Release artifacts uploaded to https://github.com/pezkuwichain/pezkuwi-sdk/releases/tag/${version}"
}
# Upload runtimes artifacts to s3 release bucket
# Upload runtimes artifacts to GitHub Releases.
#
# input: version (stable release tag e.g. pezkuwi-stable2412 or pezkuwi-stable2412-rc1)
# output: none
upload_s3_runtimes_release_artifacts() {
alias aws='podman run --rm -it docker.io/paritytech/awscli -e AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY -e AWS_BUCKET aws'
version=$1
echo "Working on version: $version "
echo "Current content, should be empty on new uploads:"
aws s3 ls "s3://releases.parity.io/pezkuwi/runtimes/${version}/" --recursive --human-readable --summarize || true
echo "Content to be uploaded:"
artifacts="artifacts/runtimes/"
echo "Content to be uploaded:"
ls "$artifacts"
aws s3 sync --acl public-read "$artifacts" "s3://releases.parity.io/pezkuwi/runtimes/${version}/"
echo "Uploaded files:"
aws s3 ls "s3://releases.parity.io/pezkuwi/runtimes/${version}/" --recursive --human-readable --summarize
echo "✅ The release should be at https://releases.parity.io/pezkuwi/runtimes/${version}"
# Create release if it doesn't exist
gh release view "$version" &>/dev/null || \
gh release create "$version" --title "$version" --notes "Runtime release $version" --draft
for file in "$artifacts"/*; do
[ -f "$file" ] || continue
echo "Uploading: $file"
gh release upload "$version" "$file" --clobber || true
done
echo "✅ Runtimes uploaded to https://github.com/pezkuwichain/pezkuwi-sdk/releases/tag/${version}"
}
# Pass the name of the binary as input, it will
# return the s3 base url
# return the GitHub release download base URL
function get_s3_url_base() {
name=$1
case $name in
pezkuwi | pezkuwi-execute-worker | pezkuwi-prepare-worker )
printf "releases.parity.io/pezkuwi"
;;
pezkuwi-teyrchain)
printf "releases.parity.io/pezkuwi-teyrchain"
;;
pezkuwi-omni-node)
printf "releases.parity.io/pezkuwi-omni-node"
;;
chain-spec-builder)
printf "releases.parity.io/chain-spec-builder"
;;
frame-omni-bencher)
printf "releases.parity.io/frame-omni-bencher"
;;
substrate-node)
printf "releases.parity.io/substrate-node"
;;
eth-rpc)
printf "releases.parity.io/eth-rpc"
;;
subkey)
printf "releases.parity.io/subkey"
;;
*)
printf "UNSUPPORTED BINARY $name"
exit 1
;;
esac
# All binaries are now served from GitHub Releases
printf "github.com/pezkuwichain/pezkuwi-sdk/releases/download"
}