Skip to content

Delete Fisco BCOS benchmarks #144

Delete Fisco BCOS benchmarks

Delete Fisco BCOS benchmarks #144

Workflow file for this run

name: Test Chaincodes and Benchmarks
on:
pull_request:
branches: [ main ]
env:
FABRIC_VERSION: 2.4.3
CALIPER_VERSION: 0.5.0
FABRIC_BIND_SUT: 2.2
jobs:
changes:
name: Check for changes
runs-on: ubuntu-latest
outputs:
benchmark: ${{ steps.benchmarks-filter.outputs.changes }}
cc-env: ${{ steps.cc-env-filter.outputs.changes }}
steps:
- uses: dorny/paths-filter@v2
name: Check for changes in benchmarks
id: benchmarks-filter
with:
filters: |
fabcar:
- 'benchmarks/samples/fabric/fabcar/**'
- 'src/fabric/samples/fabcar/**'
- 'networks/fabric/**'
- '.github/**'
marbles:
- 'benchmarks/samples/fabric/marbles/**'
- 'src/fabric/samples/marbles/**'
- 'src/fabric/samples/marbles-norichquery/**'
- 'networks/fabric/**'
- '.github/**'
simple:
- 'benchmarks/scenario/simple/**'
- 'src/fabric/scenario/simple/**'
- 'networks/fabric/**'
- '.github/**'
smallbank:
- 'benchmarks/scenario/smallbank/**'
- 'src/fabric/scenario/smallbank/**'
- 'networks/fabric/**'
- '.github/**'
fixed-asset:
- 'benchmarks/api/fabric/**'
- 'src/fabric/api/fixed-asset/**'
- 'src/fabric/api/fixed-asset-base/**'
- 'networks/fabric/**'
- 'networks/prometheus-grafana/**'
- '.github/**'
- uses: dorny/paths-filter@v2
name: Check for changes in chaincode environments
id: cc-env-filter
with:
filters: |
go:
- 'src/fabric/**/go/**'
- 'networks/fabric/**'
- 'benchmarks/**/fabric/**'
- 'benchmarks/scenario/**'
- '.github/**'
node:
- 'src/fabric/**/node/**'
- 'networks/fabric/**'
- 'benchmarks/**/fabric/**'
- 'benchmarks/scenario/**'
- '.github/**'
java:
- 'src/fabric/**/java/**'
- 'networks/fabric/**'
- 'benchmarks/**/fabric/**'
- 'benchmarks/scenario/**'
- '.github/**'
populate-cache:
needs: changes
if: >
needs.changes.outputs.benchmark != '[]' &&
needs.changes.outputs.benchmark != '' &&
needs.changes.outputs.cc-env != '[]' &&
needs.changes.outputs.cc-env != ''
runs-on: ubuntu-latest
steps:
- name: Cache node modules
id: cache-npm
uses: actions/cache@v2
with:
path: node_modules
key: ${{ matrix.node-version }}-npm-cache-${{ env.CALIPER_VERSION }}-${{ env.FABRIC_BIND_SUT }}
restore-keys: |
${{ matrix.node-version }}-npm-cache-
- name: Install Caliper and bind to Fabric
if: steps.cache-npm.outputs.cache-hit != 'true'
run: |
npm install --only=prod @hyperledger/caliper-cli@${{ env.CALIPER_VERSION }}
npx caliper bind --caliper-bind-sut fabric:${{ env.FABRIC_BIND_SUT }}
npx caliper --version
- name: Cache Fabric Samples and Binaries
id: cache-fabric
uses: actions/cache@v2
with:
path: fabric-samples
key: ${{ runner.os }}-fabric-samples-${{ env.FABRIC_VERSION }}
- name: Download Fabric Samples
if: steps.cache-fabric.outputs.cache-hit != 'true'
run: curl -sSL -k https://raw.githubusercontent.com/hyperledger/fabric/main/scripts/bootstrap.sh | bash -s -- ${{ env.FABRIC_VERSION }} -d
build:
needs:
- populate-cache
- changes
if: >
needs.changes.outputs.benchmark != '[]' &&
needs.changes.outputs.benchmark != '' &&
needs.changes.outputs.cc-env != '[]' &&
needs.changes.outputs.cc-env != ''
runs-on: ubuntu-latest
strategy:
matrix:
cc-env: ${{ fromJSON(needs.changes.outputs.cc-env) }}
benchmark: ${{ fromJSON(needs.changes.outputs.benchmark) }}
exclude:
- cc-env: java
benchmark: marbles
- cc-env: java
benchmark: simple
- cc-env: node
benchmark: smallbank
- cc-env: java
benchmark: smallbank
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v2
with:
node-version: 16.x
- name: Cache node modules
id: cache-npm
uses: actions/cache@v2
with:
path: node_modules
key: ${{ matrix.node-version }}-npm-cache-${{ env.CALIPER_VERSION }}-${{ env.FABRIC_BIND_SUT }}
restore-keys: |
${{ matrix.node-version }}-npm-cache-
- name: Cache Fabric Samples and Binaries
id: cache-fabric
uses: actions/cache@v2
with:
path: fabric-samples
key: ${{ runner.os }}-fabric-samples-${{ env.FABRIC_VERSION }}
- name: Copy Fabric Samples to correct path
run: cp -r fabric-samples ../
- name: Pull Fabric images
run: curl -sSL -k https://raw.githubusercontent.com/hyperledger/fabric/main/scripts/bootstrap.sh | bash -s -- ${{ env.FABRIC_VERSION }} -s -b
- name: Start Fabric Network
working-directory: ../fabric-samples/test-network
run: ./network.sh up createChannel -s couchdb
- name: Start Prometheus and Grafana
working-directory: ../fabric-samples/test-network/prometheus-grafana
run: docker-compose up -d
- name: Deploy Chaincode
working-directory: ../fabric-samples/test-network
run: ../../caliper-benchmarks/.github/scripts/deploy-chaincode.sh ${{ matrix.cc-env }} ${{ matrix.benchmark }}
- name: Run Caliper Benchmark
run: .github/scripts/run-benchmark.sh ${{ matrix.benchmark }}