File tree 4 files changed +87
-2
lines changed
4 files changed +87
-2
lines changed Original file line number Diff line number Diff line change
1
+ #
2
+ # SPDX-License-Identifier: Apache-2.0
3
+ #
4
+ name : Test Network BFT Orderer 🍟
5
+ run-name : ${{ github.actor }} is running the Test Network with BFT Orderer tests 🍟
6
+
7
+ on :
8
+ workflow_dispatch :
9
+ push :
10
+ branches : [ "main" ]
11
+ pull_request :
12
+ branches : [ "main" ]
13
+
14
+ concurrency :
15
+ group : ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
16
+ cancel-in-progress : true
17
+
18
+ jobs :
19
+ basic :
20
+ runs-on : ${{ github.repository == 'hyperledger/fabric-samples' && 'fabric-ubuntu-22.04' || 'ubuntu-22.04' }}
21
+ strategy :
22
+ matrix :
23
+ chaincode-language :
24
+ - go
25
+ - javascript
26
+ - typescript
27
+ - java
28
+
29
+ steps :
30
+ - name : Checkout
31
+ uses : actions/checkout@v4
32
+
33
+ - name : Set up the test network runtime
34
+ uses : ./.github/actions/test-network-setup
35
+ # Note: The default Fabric version for CI is currently the latest LTS (v2.5.x).
36
+ # To test BFT Orderers, Fabric v3.0 is explicitly specified here.
37
+ with :
38
+ fabric-version : 3.0.0
39
+
40
+ - name : Run Test Network with BFT Orderers
41
+ working-directory : test-network
42
+ run : ../ci/scripts/run-test-network-basic.sh
43
+ env :
44
+ CHAINCODE_LANGUAGE : ${{ matrix.chaincode-language }}
45
+ ORDERER_TYPE : bft
Original file line number Diff line number Diff line change 68
68
CHAINCODE_NAME : basic
69
69
CHAINCODE_LANGUAGE : java
70
70
CHAINCODE_BUILDER : k8s
71
+
72
+ bft-orderer :
73
+ runs-on : ${{ github.repository == 'hyperledger/fabric-samples' && 'fabric-ubuntu-22.04' || 'ubuntu-22.04' }}
74
+ # This job requires Fabric v3.0 or later, which is only supported on 'main'.
75
+ # Ensure it does not run on 'release-2.5' or earlier versions.
76
+ if : ${{ github.ref == 'refs/heads/main' || github.event.pull_request.base.ref == 'main' }}
77
+ steps :
78
+ - name : Checkout
79
+ uses : actions/checkout@v4
80
+ - name : Test the network
81
+ working-directory : test-network-k8s
82
+ run : ../ci/scripts/run-k8s-test-network-basic.sh
83
+ env :
84
+ CLIENT_LANGUAGE : typescript
85
+ CHAINCODE_LANGUAGE : java
86
+ # Note: The default Fabric version for CI is currently the latest LTS (v2.5.x).
87
+ # To test BFT Orderers, Fabric v3.0 is explicitly specified here.
88
+ FABRIC_VERSION : ' 3.0'
89
+ ORDERER_TYPE : bft
Original file line number Diff line number Diff line change @@ -12,6 +12,12 @@ export CLIENT_LANGUAGE=${CLIENT_LANGUAGE:-typescript}
12
12
export CHAINCODE_LANGUAGE=${CHAINCODE_LANGUAGE:- java}
13
13
export TEST_NETWORK_CHAINCODE_BUILDER=${CHAINCODE_BUILDER:- ccaas}
14
14
15
+ # Fabric version
16
+ export TEST_NETWORK_FABRIC_VERSION=${FABRIC_VERSION:- }
17
+
18
+ # Orderer parameters
19
+ export TEST_NETWORK_ORDERER_TYPE=${ORDERER_TYPE:- raft}
20
+
15
21
# test-network-k8s parameters
16
22
export TEST_TAG=$( git describe)
17
23
export TEST_NETWORK_KIND_CLUSTER_NAME=${TEST_NETWORK_KIND_CLUSTER_NAME:- kind}
@@ -79,6 +85,7 @@ trap "quitterLaScene" EXIT
79
85
80
86
createNetwork
81
87
88
+ sleep 5
82
89
print " Inserting and querying assets"
83
90
( ./network chaincode metadata $CHAINCODE_NAME \
84
91
&& ./network chaincode invoke $CHAINCODE_NAME ' {"Args":["InitLedger"]}' \
Original file line number Diff line number Diff line change @@ -4,6 +4,7 @@ set -euo pipefail
4
4
5
5
CHAINCODE_LANGUAGE=${CHAINCODE_LANGUAGE:- go}
6
6
CHAINCODE_PATH=${CHAINCODE_PATH:- ../ asset-transfer-basic}
7
+ ORDERER_TYPE=${ORDERER_TYPE:- raft}
7
8
8
9
function print() {
9
10
GREEN=' \033[0;32m'
@@ -12,14 +13,27 @@ function print() {
12
13
echo -e " ${GREEN}${1}${NC} "
13
14
}
14
15
15
- function createNetwork () {
16
- print " Creating 3 Org network"
16
+ function createNetworkWithRaft () {
17
+ print " Creating 3 Org network with Raft Orderers "
17
18
./network.sh up createChannel -ca -s couchdb
18
19
cd addOrg3
19
20
./addOrg3.sh up -ca -s couchdb
20
21
cd ..
21
22
}
22
23
24
+ function createNetworkWithBFT() {
25
+ print " Creating 2 Org network with BFT Orderers"
26
+ ./network.sh up createChannel -bft
27
+ }
28
+
29
+ function createNetwork() {
30
+ if [ " ${ORDERER_TYPE} " == " bft" ]; then
31
+ createNetworkWithBFT
32
+ else
33
+ createNetworkWithRaft
34
+ fi
35
+ }
36
+
23
37
function deployChaincode() {
24
38
print " Deploying ${CHAINCODE_NAME} chaincode"
25
39
./network.sh deployCC -ccn " ${CHAINCODE_NAME} " -ccp " ${CHAINCODE_PATH} /chaincode-${CHAINCODE_LANGUAGE} " -ccv 1 -ccs 1 -ccl " ${CHAINCODE_LANGUAGE} "
You can’t perform that action at this time.
0 commit comments