Port remaining sample tests from Azure -> GHA

Signed-off-by: Josh Kneubuhl <jkneubuh@us.ibm.com>
This commit is contained in:
Josh Kneubuhl 2022-11-14 21:51:42 -05:00
parent 67103f80a8
commit 9edbe9851f
12 changed files with 229 additions and 135 deletions

42
.github/workflows/rest-sample.yaml vendored Normal file
View file

@ -0,0 +1,42 @@
#
# SPDX-License-Identifier: Apache-2.0
#
name: REST Sample
run-name: ${{ github.actor }} is testing the REST Sample
env:
NODE_VER: 16.x
on:
workflow_dispatch:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
rest-sample:
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: ${{ env.NODE_VER }}
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
- name: Install REST Sample Dependencies
working-directory: asset-transfer-basic/rest-api-typescript
run: npm install
- name: Build REST Sample Application
run: npm run build
working-directory: asset-transfer-basic/rest-api-typescript
- name: Test REST Sample Application
run: npm test
working-directory: asset-transfer-basic/rest-api-typescript

View file

@ -0,0 +1,37 @@
#
# SPDX-License-Identifier: Apache-2.0
#
name: Test Network Events
run-name: ${{ github.actor }} is running the Test Network Events tests
on:
workflow_dispatch:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
events:
runs-on: ubuntu-20.04
strategy:
matrix:
chaincode-language:
- javascript
- java
chaincode-name:
- events
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up the test network runtime
uses: ./.github/actions/test-network-setup
- name: Run Test
working-directory: test-network
run: ../ci/scripts/run-test-network-events.sh
env:
CHAINCODE_NAME: ${{ matrix.chaincode-name }}
CHAINCODE_LANGUAGE: ${{ matrix.chaincode-language }}

View file

@ -0,0 +1,37 @@
#
# SPDX-License-Identifier: Apache-2.0
#
name: Test Network Ledger
run-name: ${{ github.actor }} is running the Test Network Ledger tests
on:
workflow_dispatch:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
basic:
runs-on: ubuntu-20.04
strategy:
matrix:
chaincode-language:
- go
- javascript
chaincode-name:
- ledger
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up the test network runtime
uses: ./.github/actions/test-network-setup
- name: Run Test
working-directory: test-network
run: ../ci/scripts/run-test-network-ledger.sh
env:
CHAINCODE_NAME: ${{ matrix.chaincode-name }}
CHAINCODE_LANGUAGE: ${{ matrix.chaincode-language }}

View file

@ -0,0 +1,36 @@
#
# SPDX-License-Identifier: Apache-2.0
#
name: Test Network Private
run-name: ${{ github.actor }} is running the Test Network Private tests
on:
workflow_dispatch:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
private:
runs-on: ubuntu-20.04
strategy:
matrix:
chaincode-language:
- go
chaincode-name:
- private
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up the test network runtime
uses: ./.github/actions/test-network-setup
- name: Run Test
working-directory: test-network
run: ../ci/scripts/run-test-network-private.sh
env:
CHAINCODE_NAME: ${{ matrix.chaincode-name }}
CHAINCODE_LANGUAGE: ${{ matrix.chaincode-language }}

37
.github/workflows/test-network-sbe.yaml vendored Normal file
View file

@ -0,0 +1,37 @@
#
# SPDX-License-Identifier: Apache-2.0
#
name: Test Network SBE
run-name: ${{ github.actor }} is running the Test Network SBE tests
on:
workflow_dispatch:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
SBE:
runs-on: ubuntu-20.04
strategy:
matrix:
chaincode-language:
- typescript
- java
chaincode-name:
- sbe
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up the test network runtime
uses: ./.github/actions/test-network-setup
- name: Run Test
working-directory: test-network
run: ../ci/scripts/run-test-network-sbe.sh
env:
CHAINCODE_NAME: ${{ matrix.chaincode-name }}
CHAINCODE_LANGUAGE: ${{ matrix.chaincode-language }}

View file

@ -0,0 +1,36 @@
#
# SPDX-License-Identifier: Apache-2.0
#
name: Test Network Secured
run-name: ${{ github.actor }} is running the Test Network Secured tests
on:
workflow_dispatch:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
secured:
runs-on: ubuntu-20.04
strategy:
matrix:
chaincode-language:
- go
chaincode-name:
- secured
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up the test network runtime
uses: ./.github/actions/test-network-setup
- name: Run Test
working-directory: test-network
run: ../ci/scripts/run-test-network-secured.sh
env:
CHAINCODE_NAME: ${{ matrix.chaincode-name }}
CHAINCODE_LANGUAGE: ${{ matrix.chaincode-language }}

View file

@ -1,8 +1,8 @@
# #
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
# #
name: Test Network name: Test Network Basic
run-name: ${{ github.actor }} is testing the Test Network run-name: ${{ github.actor }} is running the Test Network Basic tests
on: on:
workflow_dispatch: workflow_dispatch:

View file

@ -23,94 +23,9 @@ variables:
- group: credentials - group: credentials
jobs: jobs:
- job: REST_Sample - job: REST_Sample
displayName: REST Server Sample displayName: REST Server Sample
pool: pool:
vmImage: ubuntu-20.04 vmImage: ubuntu-20.04
steps: steps:
- template: templates/asset-transfer-basic/azure-pipelines-rest.yml - template: templates/asset-transfer-basic/azure-pipelines-rest.yml
- 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: 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: TestNetworkEvents
displayName: Test Network
pool:
vmImage: ubuntu-20.04
strategy:
matrix:
Events-Javascript:
CHAINCODE_NAME: events
CHAINCODE_LANGUAGE: javascript
Events-Java:
CHAINCODE_NAME: events
CHAINCODE_LANGUAGE: java
steps:
- template: templates/install-deps.yml
- script: ../ci/scripts/run-test-network-events.sh
workingDirectory: test-network
displayName: Run Test Network Events Chaincode

View file

@ -7,19 +7,12 @@ steps:
inputs: inputs:
versionSpec: $(NODE_VER) versionSpec: $(NODE_VER)
displayName: Install Node.js displayName: Install Node.js
- script: npm install
workingDirectory: asset-transfer-basic/rest-api-typescript
displayName: Install REST Sample Dependencies
- script: npm run build
workingDirectory: asset-transfer-basic/rest-api-typescript
displayName: Build REST Sample Application
- script: npm test
workingDirectory: asset-transfer-basic/rest-api-typescript
displayName: Test REST Sample Application
- script: | - script: |
docker build -t ghcr.io/hyperledger/fabric-rest-sample . docker build -t ghcr.io/hyperledger/fabric-rest-sample .
workingDirectory: asset-transfer-basic/rest-api-typescript workingDirectory: asset-transfer-basic/rest-api-typescript
displayName: Build REST Sample Docker Image displayName: Build REST Sample Docker Image
- script: | - script: |
echo ${GITHUB_PAT} | docker login ghcr.io -u ${GITHUB_USER} --password-stdin echo ${GITHUB_PAT} | docker login ghcr.io -u ${GITHUB_USER} --password-stdin
docker push ghcr.io/hyperledger/fabric-rest-sample:latest docker push ghcr.io/hyperledger/fabric-rest-sample:latest

View file

@ -1,13 +0,0 @@
#
# SPDX-License-Identifier: Apache-2.0
#
steps:
- script: |
sudo apt install -y softhsm2
displayName: Install SoftHSM
- script: |
echo directories.tokendir = /tmp > $HOME/softhsm2.conf
export SOFTHSM2_CONF=$HOME/softhsm2.conf
softhsm2-util --init-token --slot 0 --label "ForFabric" --pin 98765432 --so-pin 1234
displayName: Set up SoftHSM

View file

@ -1,17 +0,0 @@
#
# SPDX-License-Identifier: Apache-2.0
#
steps:
- task: NodeTool@0
inputs:
versionSpec: $(NODE_VER)
displayName: Install Node.js
- script: curl -L --retry 5 --retry-delay 3 https://hyperledger.jfrog.io/hyperledger/fabric-binaries/hyperledger-fabric-linux-amd64-${FABRIC_VERSION}-stable.tar.gz | tar xz
displayName: Download Fabric CLI
- script: curl -L --retry 5 --retry-delay 3 https://hyperledger.jfrog.io/hyperledger/fabric-binaries/hyperledger-fabric-ca-linux-amd64-${FABRIC_VERSION}-stable.tar.gz | tar xz
displayName: Download Fabric CA CLI
- script: curl https://raw.githubusercontent.com/kadwanev/retry/master/retry -o ./bin/retry && chmod +x ./bin/retry
displayName: Install retry CLI
- script: ./ci/scripts/pullFabricImages.sh
displayName: Pull Fabric Docker Imagess

View file

@ -1,9 +0,0 @@
#
# SPDX-License-Identifier: Apache-2.0
#
steps:
- task: NodeTool@0
inputs:
versionSpec: $(NODE_VER)
displayName: Install Node.js