diff --git a/ci/azure-pipelines.yml b/ci/azure-pipelines.yml index 4d5803ce..2613d978 100644 --- a/ci/azure-pipelines.yml +++ b/ci/azure-pipelines.yml @@ -10,98 +10,100 @@ trigger: variables: - name: FABRIC_VERSION value: 2.4 + - name: GOPATH + value: $(Build.Repository.LocalPath) - name: GO_BIN - value: $(Build.Repository.LocalPath)/bin + value: $(GOPATH)/bin - name: GO_VER value: 1.16.7 - name: NODE_VER value: 16.x - name: PATH - value: $(Build.Repository.LocalPath)/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin + value: $(GOPATH)/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin - group: credentials -# jobs: -# - job: REST_Sample -# displayName: REST Server Sample -# pool: -# vmImage: ubuntu-20.04 -# steps: -# - template: templates/asset-transfer-basic/azure-pipelines-rest.yml +jobs: + - job: REST_Sample + displayName: REST Server Sample + pool: + vmImage: ubuntu-20.04 + steps: + - template: templates/asset-transfer-basic/azure-pipelines-rest.yml -# - job: CommercialPaper_Go -# displayName: Commercial Paper (Go) -# pool: -# vmImage: ubuntu-20.04 -# steps: -# - template: templates/install-deps.yml -# - template: templates/commercial-paper/azure-pipelines-go.yml + - job: CommercialPaper_Go + displayName: Commercial Paper (Go) + pool: + vmImage: ubuntu-20.04 + steps: + - template: templates/install-deps.yml + - template: templates/commercial-paper/azure-pipelines-go.yml -# - job: CommercialPaper_Java -# displayName: Commercial Paper (Java) -# pool: -# vmImage: ubuntu-20.04 -# steps: -# - template: templates/install-deps.yml -# - template: templates/commercial-paper/azure-pipelines-java.yml + - job: CommercialPaper_Java + displayName: Commercial Paper (Java) + pool: + vmImage: ubuntu-20.04 + steps: + - template: templates/install-deps.yml + - template: templates/commercial-paper/azure-pipelines-java.yml -# - job: CommercialPaper_JavaScript -# displayName: Commercial Paper (JavaScript) -# pool: -# vmImage: ubuntu-20.04 -# steps: -# - template: templates/install-deps.yml -# - template: templates/commercial-paper/azure-pipelines-javascript.yml + - job: CommercialPaper_JavaScript + displayName: Commercial Paper (JavaScript) + pool: + vmImage: ubuntu-20.04 + steps: + - template: templates/install-deps.yml + - template: templates/commercial-paper/azure-pipelines-javascript.yml -# - job: FabCar_Go -# displayName: FabCar (Go) -# pool: -# vmImage: ubuntu-20.04 -# steps: -# - template: templates/install-deps.yml -# - template: templates/fabcar/azure-pipelines-go.yml + - job: FabCar_Go + displayName: FabCar (Go) + pool: + vmImage: ubuntu-20.04 + steps: + - template: templates/install-deps.yml + - template: templates/fabcar/azure-pipelines-go.yml -# - job: FabCar_Java -# displayName: FabCar (Java) -# pool: -# vmImage: ubuntu-20.04 -# steps: -# - template: templates/install-deps.yml -# - template: templates/fabcar/azure-pipelines-java.yml + - job: FabCar_Java + displayName: FabCar (Java) + pool: + vmImage: ubuntu-20.04 + steps: + - template: templates/install-deps.yml + - template: templates/fabcar/azure-pipelines-java.yml -# - job: FabCar_JavaScript -# displayName: FabCar (JavaScript) -# pool: -# vmImage: ubuntu-20.04 -# steps: -# - template: templates/install-deps.yml -# - template: templates/fabcar/azure-pipelines-javascript.yml + - job: FabCar_JavaScript + displayName: FabCar (JavaScript) + pool: + vmImage: ubuntu-20.04 + steps: + - template: templates/install-deps.yml + - template: templates/fabcar/azure-pipelines-javascript.yml -# - job: Fabcar_TypeScript -# displayName: FabCar (TypeScript) -# pool: -# vmImage: ubuntu-20.04 -# steps: -# - template: templates/install-deps.yml -# - template: templates/fabcar/azure-pipelines-typescript.yml + - job: Fabcar_TypeScript + displayName: FabCar (TypeScript) + pool: + vmImage: ubuntu-20.04 + steps: + - template: templates/install-deps.yml + - template: templates/fabcar/azure-pipelines-typescript.yml -# - job: Lint -# displayName: Lint -# pool: -# vmImage: ubuntu-20.04 -# steps: -# - task: GoTool@0 -# inputs: -# goBin: $(GO_BIN) -# version: $(GO_VER) -# displayName: Install GoLang -# - task: NodeTool@0 -# inputs: -# versionSpec: $(NODE_VER) -# displayName: Install Node.js -# - script: ./ci/scripts/shellcheck.sh -# displayName: Lint Shell Scripts -# - script: ./ci/scripts/lint.sh -# displayName: Lint Code + - job: Lint + displayName: Lint + pool: + vmImage: ubuntu-20.04 + steps: + - task: GoTool@0 + inputs: + goBin: $(GO_BIN) + version: $(GO_VER) + displayName: Install GoLang + - task: NodeTool@0 + inputs: + versionSpec: $(NODE_VER) + displayName: Install Node.js + - script: ./ci/scripts/shellcheck.sh + displayName: Lint Shell Scripts + - script: ./ci/scripts/lint.sh + displayName: Lint Code - job: TestNetworkBasic displayName: Test Network @@ -129,106 +131,106 @@ variables: workingDirectory: test-network displayName: Run Test Network Basic Chaincode - # - job: KubeTestNetworkBasic - # displayName: Kube Test Network - # pool: - # vmImage: ubuntu-20.04 - # strategy: - # matrix: - # CCaaS-Java: - # CLIENT_LANGUAGE: typescript - # CHAINCODE_LANGUAGE: java - # CCaaS-Golang: - # CLIENT_LANGUAGE: typescript - # CHAINCODE_LANGUAGE: external - # K8s-Builder-Java: - # CHAINCODE_NAME: basic - # CHAINCODE_LANGUAGE: java - # CHAINCODE_BUILDER: k8s + - job: KubeTestNetworkBasic + displayName: Kube Test Network + pool: + vmImage: ubuntu-20.04 + strategy: + matrix: + CCaaS-Java: + CLIENT_LANGUAGE: typescript + CHAINCODE_LANGUAGE: java + CCaaS-Golang: + CLIENT_LANGUAGE: typescript + CHAINCODE_LANGUAGE: external + K8s-Builder-Java: + CHAINCODE_NAME: basic + CHAINCODE_LANGUAGE: java + CHAINCODE_BUILDER: k8s - # steps: - # - template: templates/install-k8s-deps.yml - # - script: ../ci/scripts/run-k8s-test-network-basic.sh - # workingDirectory: test-network-k8s - # displayName: Run Kubernetes Test Network Basic Asset Transfer + steps: + - template: templates/install-k8s-deps.yml + - script: ../ci/scripts/run-k8s-test-network-basic.sh + workingDirectory: test-network-k8s + displayName: Run Kubernetes Test Network Basic Asset Transfer - # - job: TestNetworkLedger - # displayName: Test Network - # pool: - # vmImage: ubuntu-20.04 - # strategy: - # matrix: - # Ledger-Go: - # CHAINCODE_NAME: ledger - # CHAINCODE_LANGUAGE: go - # Ledger-Javascript: - # CHAINCODE_NAME: ledger - # CHAINCODE_LANGUAGE: javascript - # steps: - # - template: templates/install-deps.yml - # - script: ../ci/scripts/run-test-network-ledger.sh - # workingDirectory: test-network - # displayName: Run Test Network Ledger Chaincode + - job: TestNetworkLedger + displayName: Test Network + pool: + vmImage: ubuntu-20.04 + strategy: + matrix: + Ledger-Go: + CHAINCODE_NAME: ledger + CHAINCODE_LANGUAGE: go + Ledger-Javascript: + CHAINCODE_NAME: ledger + CHAINCODE_LANGUAGE: javascript + steps: + - template: templates/install-deps.yml + - script: ../ci/scripts/run-test-network-ledger.sh + workingDirectory: test-network + displayName: Run Test Network Ledger Chaincode - # - job: TestNetworkPrivate - # displayName: Test Network - # pool: - # vmImage: ubuntu-20.04 - # strategy: - # matrix: - # Private-Go: - # CHAINCODE_NAME: private - # CHAINCODE_LANGUAGE: go - # steps: - # - template: templates/install-deps.yml - # - script: ../ci/scripts/run-test-network-private.sh - # workingDirectory: test-network - # displayName: Run Test Network Private Chaincode + - job: TestNetworkPrivate + displayName: Test Network + pool: + vmImage: ubuntu-20.04 + strategy: + matrix: + Private-Go: + CHAINCODE_NAME: private + CHAINCODE_LANGUAGE: go + steps: + - template: templates/install-deps.yml + - script: ../ci/scripts/run-test-network-private.sh + workingDirectory: test-network + displayName: Run Test Network Private Chaincode - # - job: TestNetworkSBE - # displayName: Test Network - # pool: - # vmImage: ubuntu-20.04 - # strategy: - # matrix: - # SBE-Typescript: - # CHAINCODE_NAME: sbe - # CHAINCODE_LANGUAGE: typescript - # SBE-Java: - # CHAINCODE_NAME: sbe - # CHAINCODE_LANGUAGE: java - # steps: - # - template: templates/install-deps.yml - # - script: ../ci/scripts/run-test-network-sbe.sh - # workingDirectory: test-network - # displayName: Run Test Network SBE Chaincode + - job: TestNetworkSBE + displayName: Test Network + pool: + vmImage: ubuntu-20.04 + strategy: + matrix: + SBE-Typescript: + CHAINCODE_NAME: sbe + CHAINCODE_LANGUAGE: typescript + SBE-Java: + CHAINCODE_NAME: sbe + CHAINCODE_LANGUAGE: java + steps: + - template: templates/install-deps.yml + - script: ../ci/scripts/run-test-network-sbe.sh + workingDirectory: test-network + displayName: Run Test Network SBE Chaincode - # - job: TestNetworkSecured - # displayName: Test Network - # pool: - # vmImage: ubuntu-20.04 - # strategy: - # matrix: - # Secured-Go: - # CHAINCODE_NAME: secured - # CHAINCODE_LANGUAGE: go - # steps: - # - template: templates/install-deps.yml - # - script: ../ci/scripts/run-test-network-secured.sh - # workingDirectory: test-network - # displayName: Run Test Network Secured Chaincode + - job: TestNetworkSecured + displayName: Test Network + pool: + vmImage: ubuntu-20.04 + strategy: + matrix: + Secured-Go: + CHAINCODE_NAME: secured + CHAINCODE_LANGUAGE: go + steps: + - template: templates/install-deps.yml + - script: ../ci/scripts/run-test-network-secured.sh + workingDirectory: test-network + displayName: Run Test Network Secured Chaincode - # - job: TestNetworkEvents - # displayName: Test Network - # pool: - # vmImage: ubuntu-20.04 - # strategy: - # matrix: - # Events-Javascript: - # CHAINCODE_NAME: events - # CHAINCODE_LANGUAGE: javascript - # steps: - # - template: templates/install-deps.yml - # - script: ../ci/scripts/run-test-network-events.sh - # workingDirectory: test-network - # displayName: Run Test Network Events Chaincode + - job: TestNetworkEvents + displayName: Test Network + pool: + vmImage: ubuntu-20.04 + strategy: + matrix: + Events-Javascript: + CHAINCODE_NAME: events + CHAINCODE_LANGUAGE: javascript + steps: + - template: templates/install-deps.yml + - script: ../ci/scripts/run-test-network-events.sh + workingDirectory: test-network + displayName: Run Test Network Events Chaincode diff --git a/ci/scripts/run-test-network-basic.sh b/ci/scripts/run-test-network-basic.sh index 934337b0..08a5cef8 100755 --- a/ci/scripts/run-test-network-basic.sh +++ b/ci/scripts/run-test-network-basic.sh @@ -26,66 +26,66 @@ function stopNetwork() { ./network.sh down } -# # Run Go application -# createNetwork -# print "Initializing Go application" -# pushd ../asset-transfer-basic/application-go -# print "Executing AssetTransfer.go" -# go run . -# popd -# stopNetwork +# Run Go application +createNetwork +print "Initializing Go application" +pushd ../asset-transfer-basic/application-go +print "Executing AssetTransfer.go" +go run . +popd +stopNetwork -# # Run Java application -# createNetwork -# print "Initializing Java application" -# pushd ../asset-transfer-basic/application-java -# print "Executing Gradle Run" -# gradle run -# popd -# stopNetwork +# Run Java application +createNetwork +print "Initializing Java application" +pushd ../asset-transfer-basic/application-java +print "Executing Gradle Run" +gradle run +popd +stopNetwork -# # Run Java application using gateway -# createNetwork -# print "Initializing Java application" -# pushd ../asset-transfer-basic/application-gateway-java -# print "Executing Gradle Run" -# ./gradlew run -# popd -# stopNetwork +# Run Java application using gateway +createNetwork +print "Initializing Java application" +pushd ../asset-transfer-basic/application-gateway-java +print "Executing Gradle Run" +./gradlew run +popd +stopNetwork -# # Run Javascript application -# createNetwork -# print "Initializing Javascript application" -# pushd ../asset-transfer-basic/application-javascript -# npm install -# print "Executing app.js" -# node app.js -# popd -# stopNetwork +# Run Javascript application +createNetwork +print "Initializing Javascript application" +pushd ../asset-transfer-basic/application-javascript +npm install +print "Executing app.js" +node app.js +popd +stopNetwork -# # Run typescript application -# createNetwork -# print "Initializing Typescript application" -# pushd ../asset-transfer-basic/application-typescript -# npm install -# print "Building app.ts" -# npm run build -# print "Running the output app" -# node dist/app.js -# popd -# stopNetwork +# Run typescript application +createNetwork +print "Initializing Typescript application" +pushd ../asset-transfer-basic/application-typescript +npm install +print "Building app.ts" +npm run build +print "Running the output app" +node dist/app.js +popd +stopNetwork -# # Run gateway typescript application -# createNetwork -# print "Initializing Typescript gateway application" -# pushd ../asset-transfer-basic/application-gateway-typescript -# npm install -# print "Building app.ts" -# npm run build -# print "Running the output app" -# node dist/app.js -# popd -# stopNetwork +# Run gateway typescript application +createNetwork +print "Initializing Typescript gateway application" +pushd ../asset-transfer-basic/application-gateway-typescript +npm install +print "Building app.ts" +npm run build +print "Running the output app" +node dist/app.js +popd +stopNetwork # Run typescript HSM application createNetwork @@ -107,11 +107,6 @@ echo 'Delete fabric-ca-client from samples bin' rm ../bin/fabric-ca-client echo 'go install pkcs11 enabled fabric-ca-client' go install -tags pkcs11 github.com/hyperledger/fabric-ca/cmd/fabric-ca-client@latest -FILE=../bin/fabric-ca-client -if test -f "$FILE"; then - echo "$FILE exists." -fi -ls -la ../bin createNetwork print "Initializing Typescript HSM gateway application" pushd ../asset-transfer-basic/application-gateway-hsm/scripts/ @@ -141,34 +136,34 @@ popd popd stopNetwork -# # Run Go gateway application -# createNetwork -# print "Initializing Go gateway application" -# pushd ../asset-transfer-basic/application-gateway-go -# print "Executing AssetTransfer.go" -# go run . -# popd -# stopNetwork +# Run Go gateway application +createNetwork +print "Initializing Go gateway application" +pushd ../asset-transfer-basic/application-gateway-go +print "Executing AssetTransfer.go" +go run . +popd +stopNetwork -# # Run off-chain data TypeScript application -# createNetwork -# print "Initializing Typescript off-chain data application" -# pushd ../off_chain_data/application-typescript -# rm -f checkpoint.json store.log -# npm install -# print "Running the output app" -# SIMULATED_FAILURE_COUNT=1 npm start getAllAssets transact getAllAssets listen -# SIMULATED_FAILURE_COUNT=1 npm start listen -# popd -# stopNetwork +# Run off-chain data TypeScript application +createNetwork +print "Initializing Typescript off-chain data application" +pushd ../off_chain_data/application-typescript +rm -f checkpoint.json store.log +npm install +print "Running the output app" +SIMULATED_FAILURE_COUNT=1 npm start getAllAssets transact getAllAssets listen +SIMULATED_FAILURE_COUNT=1 npm start listen +popd +stopNetwork -# # Run off-chain data Java application -# createNetwork -# print "Initializing Typescript off-chain data application" -# pushd ../off_chain_data/application-java -# rm -f app/checkpoint.json app/store.log -# print "Running the output app" -# SIMULATED_FAILURE_COUNT=1 ./gradlew run --quiet --args='getAllAssets transact getAllAssets listen' -# SIMULATED_FAILURE_COUNT=1 ./gradlew run --quiet --args=listen -# popd -# stopNetwork +# Run off-chain data Java application +createNetwork +print "Initializing Typescript off-chain data application" +pushd ../off_chain_data/application-java +rm -f app/checkpoint.json app/store.log +print "Running the output app" +SIMULATED_FAILURE_COUNT=1 ./gradlew run --quiet --args='getAllAssets transact getAllAssets listen' +SIMULATED_FAILURE_COUNT=1 ./gradlew run --quiet --args=listen +popd +stopNetwork