[ci] Send bench results to S3 (#1417)

* [ci] Send bench results to S3

* move publish stage
This commit is contained in:
Alexander Samusev
2022-07-01 11:42:35 +02:00
committed by GitHub
parent 0654242bf1
commit 63494a34d9
2 changed files with 27 additions and 17 deletions
+24 -14
View File
@@ -8,9 +8,9 @@
stages: stages:
- test - test
- build - build
- publish
- benchmarks-build - benchmarks-build
- benchmarks-run - benchmarks-run
- publish
default: default:
interruptible: true interruptible: true
@@ -47,7 +47,6 @@ variables:
.common-refs: &common-refs .common-refs: &common-refs
# these jobs run always* # these jobs run always*
rules: rules:
- if: $CI_PIPELINE_SOURCE == "web"
- if: $CI_PIPELINE_SOURCE == "schedule" - if: $CI_PIPELINE_SOURCE == "schedule"
- if: $CI_COMMIT_REF_NAME == "master" - if: $CI_COMMIT_REF_NAME == "master"
- if: $CI_COMMIT_REF_NAME =~ /^[0-9]+$/ # PRs - if: $CI_COMMIT_REF_NAME =~ /^[0-9]+$/ # PRs
@@ -56,27 +55,19 @@ variables:
.publish-refs: &publish-refs .publish-refs: &publish-refs
rules: rules:
- if: $CI_PIPELINE_SOURCE == "web" && - if: $CI_COMMIT_REF_NAME == "master"
$CI_COMMIT_REF_NAME == "master" # run from web and on master branch
- if: $CI_PIPELINE_SOURCE == "web" &&
$CI_COMMIT_REF_NAME =~ /^v[0-9]+\.[0-9]+.*$/ # run from web and on version tag (i.e. v1.0, v2.1rc1)
- if: $CI_PIPELINE_SOURCE == "schedule" - if: $CI_PIPELINE_SOURCE == "schedule"
- if: $CI_COMMIT_REF_NAME =~ /^v[0-9]+\.[0-9]+.*$/ # i.e. v1.0, v2.1rc1 - if: $CI_COMMIT_REF_NAME =~ /^v[0-9]+\.[0-9]+.*$/ # i.e. v1.0, v2.1rc1
# run benchmarks manually only on release-parachains-v* branch # run benchmarks manually only on release-parachains-v* branch
.benchmarks-manual-refs: &benchmarks-manual-refs .benchmarks-manual-refs: &benchmarks-manual-refs
rules: rules:
- if: $CI_PIPELINE_SOURCE == "web" &&
$CI_COMMIT_REF_NAME =~ /^release-parachains-v[0-9].*$/ # run from web and on branch release-parachains-v* (i.e. 1.0, 2.1rc1, 3)
when: manual
- if: $CI_COMMIT_REF_NAME =~ /^release-parachains-v[0-9].*$/ # i.e. release-parachains-v1.0, release-parachains-v2.1rc1, release-parachains-v3000 - if: $CI_COMMIT_REF_NAME =~ /^release-parachains-v[0-9].*$/ # i.e. release-parachains-v1.0, release-parachains-v2.1rc1, release-parachains-v3000
when: manual when: manual
# run benchmarks only on release-parachains-v* branch # run benchmarks only on release-parachains-v* branch
.benchmarks-refs: &benchmarks-refs .benchmarks-refs: &benchmarks-refs
rules: rules:
- if: $CI_PIPELINE_SOURCE == "web" &&
$CI_COMMIT_REF_NAME =~ /^release-parachains-v[0-9].*$/ # run from web and on branch release-parachains-v* (i.e. 1.0, 2.1rc1, 3)
- if: $CI_COMMIT_REF_NAME =~ /^release-parachains-v[0-9].*$/ # i.e. release-parachains-v1.0, release-parachains-v2.1rc1, release-parachains-v3000 - if: $CI_COMMIT_REF_NAME =~ /^release-parachains-v[0-9].*$/ # i.e. release-parachains-v1.0, release-parachains-v2.1rc1, release-parachains-v3000
.docker-env: &docker-env .docker-env: &docker-env
@@ -284,9 +275,9 @@ benchmarks:
<<: *collect-artifacts <<: *collect-artifacts
<<: *benchmarks-refs <<: *benchmarks-refs
script: script:
- ./scripts/benchmarks-ci.sh assets statemine > ./artifacts/bench-statemine.log - ./scripts/benchmarks-ci.sh assets statemine
- ./scripts/benchmarks-ci.sh assets statemint > ./artifacts/bench-statemint.log - ./scripts/benchmarks-ci.sh assets statemint
- ./scripts/benchmarks-ci.sh assets westmint > ./artifacts/bench-westmint.log - ./scripts/benchmarks-ci.sh assets westmint
- git status - git status
- export BRANCHNAME="weights-${CI_COMMIT_BRANCH}" - export BRANCHNAME="weights-${CI_COMMIT_BRANCH}"
# Set git config # Set git config
@@ -309,6 +300,25 @@ benchmarks:
tags: tags:
- weights - weights
publish-benchmarks-s3:
stage: publish
<<: *kubernetes-env
image: paritytech/awscli:latest
<<: *benchmarks-refs
needs:
- job: benchmarks
artifacts: true
variables:
GIT_STRATEGY: none
BUCKET: "releases.parity.io"
PREFIX: "cumulus/$CI_COMMIT_REF_NAME/benchmarks"
script:
- echo "___Removing binary from artifacts___"
- rm -f ./artifacts/polkadot-parachain
- echo "___Publishing benchmark results___"
- aws s3 sync ./artifacts/ s3://${BUCKET}/${PREFIX}/
after_script:
- aws s3 ls s3://${BUCKET}/${PREFIX}/ --recursive --human-readable --summarize
#### stage: .post #### stage: .post
+3 -3
View File
@@ -22,17 +22,17 @@ pallets=(
frame_system frame_system
) )
for p in ${pallets[@]} for pallet in ${pallets[@]}
do do
./artifacts/polkadot-parachain benchmark pallet \ ./artifacts/polkadot-parachain benchmark pallet \
--chain=$benchmarkRuntimeName \ --chain=$benchmarkRuntimeName \
--execution=wasm \ --execution=wasm \
--wasm-execution=compiled \ --wasm-execution=compiled \
--pallet=$p \ --pallet=$pallet \
--extrinsic='*' \ --extrinsic='*' \
--steps=$steps \ --steps=$steps \
--repeat=$repeat \ --repeat=$repeat \
--json \ --json \
--header=./file_header.txt \ --header=./file_header.txt \
--output=$benchmarkOutput --output=$benchmarkOutput >> ./artifacts/${pallet}_benchmark.json
done done