2093647fea
- Add 72 rebrand workflow files (polkadot→pezkuwi, substrate→bizinikiwi, cumulus→pezcumulus) - Add GitHub actions, issue templates, and configs - Removed unnecessary workflows (fork-sync, gitspiegel, upstream-tracker, sync-templates, backport) - Renamed zombienet test files to match new naming convention
110 lines
3.5 KiB
YAML
110 lines
3.5 KiB
YAML
name: Networking Benchmarks
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
preflight:
|
|
uses: ./.github/workflows/reusable-preflight.yml
|
|
|
|
build:
|
|
timeout-minutes: 50
|
|
needs: [preflight]
|
|
runs-on: ${{ needs.preflight.outputs.RUNNER_BENCHMARK }}
|
|
container:
|
|
image: ${{ needs.preflight.outputs.IMAGE }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
features:
|
|
[
|
|
{ bench: "notifications_protocol" },
|
|
{ bench: "request_response_protocol" },
|
|
]
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
|
|
- name: Run Benchmarks
|
|
id: run-benchmarks
|
|
run: |
|
|
mkdir -p ./charts
|
|
cargo bench -p pezsc-network --bench ${{ matrix.features.bench }} -- --output-format bencher | grep "^test" | tee ./charts/${{ matrix.features.bench }}.txt || echo "Benchmarks failed"
|
|
ls -lsa ./charts
|
|
|
|
- name: Upload artifacts
|
|
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
|
with:
|
|
name: ${{ matrix.features.bench }}-${{ github.sha }}
|
|
path: ./charts
|
|
|
|
publish-benchmarks:
|
|
timeout-minutes: 60
|
|
needs: [build]
|
|
if: github.ref == 'refs/heads/master'
|
|
environment: subsystem-benchmarks
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
with:
|
|
ref: gh-pages
|
|
fetch-depth: 0
|
|
|
|
- run: git checkout master --
|
|
|
|
- name: Download artifacts
|
|
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
|
with:
|
|
name: notifications_protocol-${{ github.sha }}
|
|
path: ./charts
|
|
|
|
- name: Download artifacts
|
|
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
|
with:
|
|
name: request_response_protocol-${{ github.sha }}
|
|
path: ./charts
|
|
|
|
- name: Setup git
|
|
run: |
|
|
# Fixes "detected dubious ownership" error in the ci
|
|
git config --global --add safe.directory '*'
|
|
ls -lsR ./charts
|
|
|
|
- uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4
|
|
id: app-token
|
|
with:
|
|
app-id: ${{ secrets.PEZKUWI_GHPAGES_APP_ID }}
|
|
private-key: ${{ secrets.PEZKUWI_GHPAGES_APP_KEY }}
|
|
|
|
- name: Generate ${{ env.BENCH }}
|
|
env:
|
|
BENCH: notifications_protocol
|
|
uses: benchmark-action/github-action-benchmark@4bdcce38c94cec68da58d012ac24b7b1155efe8b # v1.20.7
|
|
with:
|
|
tool: "cargo"
|
|
name: ${{ env.BENCH }}
|
|
output-file-path: ./charts/${{ env.BENCH }}.txt
|
|
benchmark-data-dir-path: ./bench/${{ env.BENCH }}
|
|
github-token: ${{ steps.app-token.outputs.token }}
|
|
auto-push: true
|
|
|
|
- name: Generate ${{ env.BENCH }}
|
|
env:
|
|
BENCH: request_response_protocol
|
|
uses: benchmark-action/github-action-benchmark@4bdcce38c94cec68da58d012ac24b7b1155efe8b # v1.20.7
|
|
with:
|
|
tool: "cargo"
|
|
name: ${{ env.BENCH }}
|
|
output-file-path: ./charts/${{ env.BENCH }}.txt
|
|
benchmark-data-dir-path: ./bench/${{ env.BENCH }}
|
|
github-token: ${{ steps.app-token.outputs.token }}
|
|
auto-push: true
|