mirror of
https://github.com/hyperledger/fabric-samples.git
synced 2026-06-17 15:35:09 +00:00
Run Full Stack Asset Transfer Guide tests on GHA
Signed-off-by: Josh Kneubuhl <jkneubuh@us.ibm.com>
This commit is contained in:
parent
38a36c65d3
commit
94a1542782
19 changed files with 137 additions and 200 deletions
49
.github/actions/fsat-setup/action.yaml
vendored
Normal file
49
.github/actions/fsat-setup/action.yaml
vendored
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
name: Set up the Full Stack Asset Transfer Guide Dependencies
|
||||
description: Set up the Full Stack Asset Transfer Guide Dependencies
|
||||
inputs:
|
||||
node-version:
|
||||
description: Version of node
|
||||
default: 16.x
|
||||
fabric-version:
|
||||
description: Version of Fabric
|
||||
default: 2.4.7
|
||||
just-version:
|
||||
description: Just Version
|
||||
default: 1.2.0
|
||||
k9s-version:
|
||||
description: k9s Version
|
||||
default: v0.25.3
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: ${{ inputs.node-version }}
|
||||
cache: 'npm'
|
||||
cache-dependency-path: '**/package-lock.json'
|
||||
|
||||
- name: Install k9s
|
||||
shell: bash
|
||||
run: |
|
||||
curl --fail --silent --show-error -L https://github.com/derailed/k9s/releases/download/${{ inputs.k9s-version }}/k9s_Linux_x86_64.tar.gz -o /tmp/k9s_Linux_x86_64.tar.gz
|
||||
tar -zxf /tmp/k9s_Linux_x86_64.tar.gz -C /usr/local/bin k9s
|
||||
sudo chown root /usr/local/bin/k9s
|
||||
sudo chmod 755 /usr/local/bin/k9s
|
||||
|
||||
- name: Install just
|
||||
shell: bash
|
||||
run: |
|
||||
curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --tag ${{ inputs.just-version }} --to /usr/local/bin
|
||||
|
||||
- name: Install weft
|
||||
shell: bash
|
||||
run: |
|
||||
npm install -g @hyperledger-labs/weft
|
||||
|
||||
- name: Install fabric CLI
|
||||
shell: bash
|
||||
working-directory: full-stack-asset-transfer-guide
|
||||
run: |
|
||||
curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/main/scripts/install-fabric.sh | bash -s -- -f ${{ inputs.fabric-version }} binary
|
||||
echo ${PWD}/bin >> $GITHUB_PATH
|
||||
10
.github/actions/test-network-setup/action.yaml
vendored
10
.github/actions/test-network-setup/action.yaml
vendored
|
|
@ -10,10 +10,9 @@ inputs:
|
|||
java-version:
|
||||
description: Version of JDK
|
||||
default: 11.x
|
||||
# todo : set fabric target version ...
|
||||
# fabric-version:
|
||||
# description: Version of Fabric
|
||||
# default: 2.5
|
||||
fabric-version:
|
||||
description: Version of Fabric
|
||||
default: 2.4.7
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
|
|
@ -34,13 +33,12 @@ runs:
|
|||
with:
|
||||
distribution: temurin
|
||||
java-version: ${{ inputs.java-version }}
|
||||
# todo: how to cache both gradle and maven? (Better: port maven -> gradle)
|
||||
cache: gradle
|
||||
|
||||
- name: Install fabric CLI
|
||||
shell: bash
|
||||
run: |
|
||||
curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/main/scripts/install-fabric.sh | bash -s -- binary
|
||||
curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/main/scripts/install-fabric.sh | bash -s -- -f ${{ inputs.fabric-version }} binary
|
||||
echo ${PWD}/bin >> $GITHUB_PATH
|
||||
|
||||
- name: Pull Fabric Docker Images
|
||||
|
|
|
|||
4
.github/workflows/lint.yaml
vendored
4
.github/workflows/lint.yaml
vendored
|
|
@ -1,8 +1,8 @@
|
|||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
name: Lint
|
||||
run-name: ${{ github.actor }} is linting fabric-samples
|
||||
name: Lint 🎉
|
||||
run-name: ${{ github.actor }} is linting fabric-samples 🎉
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
|
|
|||
4
.github/workflows/rest-sample.yaml
vendored
4
.github/workflows/rest-sample.yaml
vendored
|
|
@ -1,8 +1,8 @@
|
|||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
name: REST Sample
|
||||
run-name: ${{ github.actor }} is testing the REST Sample
|
||||
name: REST Sample 🐧
|
||||
run-name: ${{ github.actor }} is testing the REST Sample 🐧
|
||||
|
||||
env:
|
||||
NODE_VER: 16.x
|
||||
|
|
|
|||
58
.github/workflows/test-fsat-appdev.yaml
vendored
58
.github/workflows/test-fsat-appdev.yaml
vendored
|
|
@ -1,58 +0,0 @@
|
|||
name: Full Stack AppDev E2E Test
|
||||
run-name: ${{ github.actor }} is running the FSAT E2E Test 🚀
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
branches:
|
||||
- "main"
|
||||
paths:
|
||||
- "full-stack-asset-transfer-guide/**"
|
||||
|
||||
env:
|
||||
GO_VER: 1.18.3
|
||||
NODE_VER: 16.x
|
||||
K9S_VERSION: v0.25.3
|
||||
JUST_VERSION: 1.2.0
|
||||
|
||||
jobs:
|
||||
appdev:
|
||||
runs-on: ubuntu-20.04
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- uses: actions/setup-go@v3
|
||||
with:
|
||||
go-version: ${{ env.GO_VER }}
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: ${{ env.NODE_VER }}
|
||||
|
||||
- name: Install k9s
|
||||
run: |
|
||||
curl --fail --silent --show-error -L https://github.com/derailed/k9s/releases/download/${K9S_VERSION}/k9s_Linux_x86_64.tar.gz -o /tmp/k9s_Linux_x86_64.tar.gz
|
||||
tar -zxf /tmp/k9s_Linux_x86_64.tar.gz -C /usr/local/bin k9s
|
||||
sudo chown root /usr/local/bin/k9s
|
||||
sudo chmod 755 /usr/local/bin/k9s
|
||||
|
||||
- name: Install just
|
||||
run: |
|
||||
curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --tag ${JUST_VERSION} --to /usr/local/bin
|
||||
|
||||
- name: Install weft
|
||||
run: |
|
||||
npm install -g @hyperledger-labs/weft
|
||||
|
||||
- name: Install fabric CLI
|
||||
working-directory: full-stack-asset-transfer-guide
|
||||
run: |
|
||||
curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/main/scripts/install-fabric.sh | bash -s -- binary
|
||||
echo ${PWD}/bin >> $GITHUB_PATH
|
||||
|
||||
- name: just test-appdev
|
||||
working-directory: full-stack-asset-transfer-guide
|
||||
run: just test-appdev
|
||||
|
||||
- run: echo "🍏 This job's status is ${{ job.status }}."
|
||||
58
.github/workflows/test-fsat.yaml
vendored
Normal file
58
.github/workflows/test-fsat.yaml
vendored
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
name: Full Stack Asset Transfer Guide 🚀
|
||||
run-name: ${{ github.actor }} is testing the Full Stack Asset Transfer Guide 🚀
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
branches:
|
||||
- "main"
|
||||
paths:
|
||||
- "full-stack-asset-transfer-guide/**"
|
||||
|
||||
jobs:
|
||||
ansible:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Set up Full Stack Runtime
|
||||
uses: ./.github/actions/fsat-setup
|
||||
- run: just test-ansible
|
||||
working-directory: full-stack-asset-transfer-guide
|
||||
|
||||
appdev:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Set up Full Stack Runtime
|
||||
uses: ./.github/actions/fsat-setup
|
||||
- run: just test-appdev
|
||||
working-directory: full-stack-asset-transfer-guide
|
||||
|
||||
chaincode:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Set up Full Stack Runtime
|
||||
uses: ./.github/actions/fsat-setup
|
||||
- run: just test-chaincode
|
||||
working-directory: full-stack-asset-transfer-guide
|
||||
|
||||
cloud:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Set up Full Stack Runtime
|
||||
uses: ./.github/actions/fsat-setup
|
||||
- run: just test-cloud
|
||||
working-directory: full-stack-asset-transfer-guide
|
||||
|
||||
console:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Set up Full Stack Runtime
|
||||
uses: ./.github/actions/fsat-setup
|
||||
- run: just test-console
|
||||
working-directory: full-stack-asset-transfer-guide
|
||||
|
||||
|
||||
4
.github/workflows/test-network-basic.yaml
vendored
4
.github/workflows/test-network-basic.yaml
vendored
|
|
@ -1,8 +1,8 @@
|
|||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
name: Test Network Basic
|
||||
run-name: ${{ github.actor }} is running the Test Network Basic tests
|
||||
name: Test Network Basic 🔎
|
||||
run-name: ${{ github.actor }} is running the Test Network Basic tests 🔎
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
|
|
|||
4
.github/workflows/test-network-events.yaml
vendored
4
.github/workflows/test-network-events.yaml
vendored
|
|
@ -1,8 +1,8 @@
|
|||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
name: Test Network Events
|
||||
run-name: ${{ github.actor }} is running the Test Network Events tests
|
||||
name: Test Network Events 💡
|
||||
run-name: ${{ github.actor }} is running the Test Network Events tests 💡
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
|
|
|||
4
.github/workflows/test-network-gateway.yaml
vendored
4
.github/workflows/test-network-gateway.yaml
vendored
|
|
@ -1,8 +1,8 @@
|
|||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
name: Test Network Gateway
|
||||
run-name: ${{ github.actor }} is running the Test Network Gateway tests
|
||||
name: Test Network Gateway 🖥️
|
||||
run-name: ${{ github.actor }} is running the Test Network Gateway tests 🖥️
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
|
|
|||
4
.github/workflows/test-network-hsm.yaml
vendored
4
.github/workflows/test-network-hsm.yaml
vendored
|
|
@ -1,8 +1,8 @@
|
|||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
name: Test Network HSM
|
||||
run-name: ${{ github.actor }} is running the Test Network HSM tests
|
||||
name: Test Network HSM 🍏
|
||||
run-name: ${{ github.actor }} is running the Test Network HSM tests 🍏
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
|
|
|||
4
.github/workflows/test-network-k8s.yaml
vendored
4
.github/workflows/test-network-k8s.yaml
vendored
|
|
@ -1,8 +1,8 @@
|
|||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
name: Kubernetes Test Network
|
||||
run-name: ${{ github.actor }} is testing the Kubernetes Test Network
|
||||
name: Kubernetes Test Network 🍒
|
||||
run-name: ${{ github.actor }} is testing the Kubernetes Test Network 🍒
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
|
|
|||
4
.github/workflows/test-network-ledger.yaml
vendored
4
.github/workflows/test-network-ledger.yaml
vendored
|
|
@ -1,8 +1,8 @@
|
|||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
name: Test Network Ledger
|
||||
run-name: ${{ github.actor }} is running the Test Network Ledger tests
|
||||
name: Test Network Ledger 🥑
|
||||
run-name: ${{ github.actor }} is running the Test Network Ledger tests 🥑
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
name: Test Network Off Chain
|
||||
run-name: ${{ github.actor }} is running the Test Network Off Chain tests
|
||||
name: Test Network Off Chain 🍔
|
||||
run-name: ${{ github.actor }} is running the Test Network Off Chain tests 🍔
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
|
|
|||
4
.github/workflows/test-network-private.yaml
vendored
4
.github/workflows/test-network-private.yaml
vendored
|
|
@ -1,8 +1,8 @@
|
|||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
name: Test Network Private
|
||||
run-name: ${{ github.actor }} is running the Test Network Private tests
|
||||
name: Test Network Private 🔒
|
||||
run-name: ${{ github.actor }} is running the Test Network Private tests 🔒
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
|
|
|||
4
.github/workflows/test-network-sbe.yaml
vendored
4
.github/workflows/test-network-sbe.yaml
vendored
|
|
@ -1,8 +1,8 @@
|
|||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
name: Test Network SBE
|
||||
run-name: ${{ github.actor }} is running the Test Network SBE tests
|
||||
name: Test Network SBE 🎵
|
||||
run-name: ${{ github.actor }} is running the Test Network SBE tests 🎵
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
|
|
|||
4
.github/workflows/test-network-secured.yaml
vendored
4
.github/workflows/test-network-secured.yaml
vendored
|
|
@ -1,8 +1,8 @@
|
|||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
name: Test Network Secured
|
||||
run-name: ${{ github.actor }} is running the Test Network Secured tests
|
||||
name: Test Network Secured 🔔
|
||||
run-name: ${{ github.actor }} is running the Test Network Secured tests 🔔
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
|
|
|||
110
.github/workflows/test-network.yaml
vendored
110
.github/workflows/test-network.yaml
vendored
|
|
@ -1,110 +0,0 @@
|
|||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
name: Test Network
|
||||
run-name: ${{ github.actor }} is testing the Test Network
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: [ "main" ]
|
||||
pull_request:
|
||||
branches: [ "main" ]
|
||||
|
||||
jobs:
|
||||
basic:
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
matrix:
|
||||
chaincode-language:
|
||||
- go
|
||||
- javascript
|
||||
- typescript
|
||||
- java
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Set up the test network runtime
|
||||
uses: ./.github/actions/test-network-setup
|
||||
|
||||
- name: Run Test Network Basic
|
||||
working-directory: test-network
|
||||
run: ../ci/scripts/run-test-network-basic.sh
|
||||
env:
|
||||
CHAINCODE_LANGUAGE: ${{ matrix.chaincode-language }}
|
||||
|
||||
off-chain:
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
matrix:
|
||||
chaincode-language:
|
||||
- go
|
||||
- javascript
|
||||
- typescript
|
||||
- java
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Set up the test network runtime
|
||||
uses: ./.github/actions/test-network-setup
|
||||
|
||||
- name: Run Test Network Off Chain
|
||||
working-directory: test-network
|
||||
env:
|
||||
CHAINCODE_LANGUAGE: ${{ matrix.chaincode-language }}
|
||||
run: ../ci/scripts/run-test-network-off-chain.sh
|
||||
|
||||
hsm:
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
matrix:
|
||||
chaincode-language:
|
||||
- go
|
||||
- javascript
|
||||
- typescript
|
||||
- java
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Set up the test network runtime
|
||||
uses: ./.github/actions/test-network-setup
|
||||
|
||||
- name: Install SoftHSM
|
||||
run: sudo apt install -y softhsm2
|
||||
|
||||
- name: Set up SoftHSM
|
||||
run: |
|
||||
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
|
||||
|
||||
- name: Run Test Network HSM
|
||||
working-directory: test-network
|
||||
env:
|
||||
CHAINCODE_LANGUAGE: ${{ matrix.chaincode-language }}
|
||||
run: ../ci/scripts/run-test-network-hsm.sh
|
||||
|
||||
gateway:
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
matrix:
|
||||
chaincode-language:
|
||||
- go
|
||||
- javascript
|
||||
- typescript
|
||||
- java
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Set up the test network runtime
|
||||
uses: ./.github/actions/test-network-setup
|
||||
|
||||
- name: Run Test Network Off Chain
|
||||
working-directory: test-network
|
||||
env:
|
||||
CHAINCODE_LANGUAGE: ${{ matrix.chaincode-language }}
|
||||
run: ../ci/scripts/run-test-network-gateway.sh
|
||||
|
|
@ -106,4 +106,3 @@ We'll create a digital representation of these cards on the blockchain ledger. T
|
|||
|
||||
- [Go Bananas](docs/CloudReady/40-bananas.md)
|
||||
- [Bring it Home](docs/CloudReady/90-teardown.md)
|
||||
|
||||
|
|
|
|||
|
|
@ -188,7 +188,8 @@ function build_cc() {
|
|||
CHAINCODE_IMAGE=$CONTAINER_REGISTRY/$CHAINCODE_NAME
|
||||
|
||||
# Build the chaincode image
|
||||
docker build -t $CHAINCODE_IMAGE contracts/$CHAINCODE_NAME-typescript
|
||||
# TODO: configure buildx builders on the CI runners to ensure target arch and os are automatically set.
|
||||
docker build --build-arg TARGETARCH=amd64 -t $CHAINCODE_IMAGE contracts/$CHAINCODE_NAME-typescript
|
||||
|
||||
# Push the image to the insecure container registry
|
||||
docker push $CHAINCODE_IMAGE
|
||||
|
|
|
|||
Loading…
Reference in a new issue