Skip to content

test(test-tooling): add container image builder utilities #8

test(test-tooling): add container image builder utilities

test(test-tooling): add container image builder utilities #8

# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: CC-BY-4.0
name: Unit Test Fabric Interop CC and Sample Chaincode
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
check_code_changed:
outputs:
interopcc_changed: ${{ steps.changes.outputs.interopcc_changed }}
gosdk_changed: ${{ steps.changes.outputs.gosdk_changed }}
gocli_changed: ${{ steps.changes.outputs.gocli_changed }}
simplestate_changed: ${{ steps.changes.outputs.simplestate_changed }}
satpsimpleasset_changed: ${{ steps.changes.outputs.satpsimpleasset_changed }}
simpleasset_changed: ${{ steps.changes.outputs.simpleasset_changed }}
simpleassetandinterop_changed: ${{ steps.changes.outputs.simpleassetandinterop_changed }}
simpleassettransfer_changed: ${{ steps.changes.outputs.simpleassettransfer_changed }}
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4.1.1
- uses: dorny/paths-filter@v2.11.1
id: changes
with:
filters: |
interopcc_changed:
- 'weaver/common/protos-go/**'
- 'weaver/core/network/fabric-interop-cc/**'
- '.github/workflows/test_weaver-go.yaml'
gosdk_changed:
- 'weaver/sdks/fabric/go-sdk/**'
gocli_changed:
- 'weaver/samples/fabric/go-cli/**'
simplestate_changed:
- 'weaver/samples/fabric/simplestate/**'
satpsimpleasset_changed:
- 'weaver/samples/fabric/satpsimpleasset/**'
simpleasset_changed:
- 'weaver/samples/fabric/simpleasset/**'
simpleassetandinterop_changed:
- 'weaver/samples/fabric/simpleassetandinterop/**'
simpleassettransfer_changed:
- 'weaver/samples/fabric/simpleassettransfer/**'
unit_test_interopcc:
needs: check_code_changed
if: needs.check_code_changed.outputs.interopcc_changed == 'true'
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4.1.1
- name: Set up Go
uses: actions/setup-go@v4.0.0
with:
go-version: '1.20.2'
- name: Vendor
run: make run-vendor || echo "If this steps fails and asks to run 'go mod tidy' then run the script 'tools/go-mod-tidy.sh' to update all go modules"
working-directory: weaver/core/network/fabric-interop-cc/contracts/interop
- name: Build
run: go build -v ./...
working-directory: weaver/core/network/fabric-interop-cc/contracts/interop
- name: Test
run: go test -v ./...
working-directory: weaver/core/network/fabric-interop-cc/contracts/interop
unit_test_assetmgmt:
needs: check_code_changed
if: needs.check_code_changed.outputs.interopcc_changed == 'true'
# if: ${{ false }} # disable
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4.1.1
- name: Set up Go
uses: actions/setup-go@v4.0.0
with:
go-version: '1.20.2'
- name: Vendor
run: make run-vendor
working-directory: weaver/core/network/fabric-interop-cc/interfaces/asset-mgmt
- name: Build
run: go build -v ./...
working-directory: weaver/core/network/fabric-interop-cc/interfaces/asset-mgmt
- name: Test
run: go test -v ./...
working-directory: weaver/core/network/fabric-interop-cc/interfaces/asset-mgmt
build_test_libs_utils:
needs: check_code_changed
if: needs.check_code_changed.outputs.interopcc_changed == 'true'
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4.1.1
- name: Set up Go
uses: actions/setup-go@v4.0.0
with:
go-version: '1.20.2'
- name: Vendor
run: make run-vendor
working-directory: weaver/core/network/fabric-interop-cc/libs/utils
- name: Build
run: go build -v ./...
working-directory: weaver/core/network/fabric-interop-cc/libs/utils
build_test_libs_assetexchange:
needs: check_code_changed
if: needs.check_code_changed.outputs.interopcc_changed == 'true'
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4.1.1
- name: Set up Go
uses: actions/setup-go@v4.0.0
with:
go-version: '1.20.2'
- name: Vendor
run: make run-vendor
working-directory: weaver/core/network/fabric-interop-cc/libs/assetexchange
- name: Build
run: go build -v ./...
working-directory: weaver/core/network/fabric-interop-cc/libs/assetexchange
unit_test_sdk:
needs: check_code_changed
if: ${{ needs.check_code_changed.outputs.interopcc_changed == 'true' || needs.check_code_changed.outputs.gosdk_changed == 'true' }}
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4.1.1
- name: Set up Go
uses: actions/setup-go@v4.0.0
with:
go-version: '1.20.2'
- name: Vendor
run: make run-vendor
working-directory: weaver/sdks/fabric/go-sdk
- name: Build
run: make build
working-directory: weaver/sdks/fabric/go-sdk
- name: Test
run: make test
working-directory: weaver/sdks/fabric/go-sdk
build_test_cli:
needs: check_code_changed
if: ${{ needs.check_code_changed.outputs.interopcc_changed == 'true' || needs.check_code_changed.outputs.gocli_changed == 'true' }}
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4.1.1
- name: Set up Go
uses: actions/setup-go@v4.0.0
with:
go-version: '1.20.2'
- name: Vendor
run: make run-vendor
working-directory: weaver/samples/fabric/go-cli
- name: Build
run: make build
working-directory: weaver/samples/fabric/go-cli
unit_test_simplestate:
needs: check_code_changed
if: ${{ needs.check_code_changed.outputs.interopcc_changed == 'true' || needs.check_code_changed.outputs.simplestate_changed == 'true' }}
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4.1.1
- name: Set up Go
uses: actions/setup-go@v4.0.0
with:
go-version: '1.20.2'
- name: Vendor
run: make run-vendor
working-directory: weaver/samples/fabric/simplestate
- name: Build
run: go build -v ./...
working-directory: weaver/samples/fabric/simplestate
- name: Test
run: go test -v ./...
working-directory: weaver/samples/fabric/simplestate
unit_test_satpsimpleasset:
needs: check_code_changed
if: ${{ needs.check_code_changed.outputs.interopcc_changed == 'true' || needs.check_code_changed.outputs.satpsimpleasset_changed == 'true' }}
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4.1.1
- name: Set up Go
uses: actions/setup-go@v4.0.0
with:
go-version: '1.20.2'
- name: Vendor
run: make run-vendor
working-directory: weaver/samples/fabric/satpsimpleasset
- name: Build
run: go build -v ./...
working-directory: weaver/samples/fabric/satpsimpleasset
- name: Test
run: go test -v ./...
working-directory: weaver/samples/fabric/satpsimpleasset
unit_test_simpleasset:
needs: check_code_changed
if: ${{ needs.check_code_changed.outputs.interopcc_changed == 'true' || needs.check_code_changed.outputs.simpleasset_changed == 'true' }}
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4.1.1
- name: Set up Go
uses: actions/setup-go@v4.0.0
with:
go-version: '1.20.2'
- name: Vendor
run: make run-vendor
working-directory: weaver/samples/fabric/simpleasset
- name: Build
run: go build -v ./...
working-directory: weaver/samples/fabric/simpleasset
- name: Test
run: go test -v ./...
working-directory: weaver/samples/fabric/simpleasset
unit_test_simpleassetandinterop:
needs: check_code_changed
if: ${{ needs.check_code_changed.outputs.interopcc_changed == 'true' || needs.check_code_changed.outputs.simpleassetandinterop_changed == 'true' }}
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4.1.1
- name: Set up Go
uses: actions/setup-go@v4.0.0
with:
go-version: '1.20.2'
- name: Vendor
run: make run-vendor
working-directory: weaver/samples/fabric/simpleassetandinterop
- name: Build
run: go build -v ./...
working-directory: weaver/samples/fabric/simpleassetandinterop
- name: Test
run: go test -v ./...
working-directory: weaver/samples/fabric/simpleassetandinterop
unit_test_simpleassettransfer:
needs: check_code_changed
if: ${{ needs.check_code_changed.outputs.interopcc_changed == 'true' || needs.check_code_changed.outputs.simpleassettransfer_changed == 'true' }}
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4.1.1
- name: Set up Go
uses: actions/setup-go@v4.0.0
with:
go-version: '1.20.2'
- name: Vendor
run: make run-vendor
working-directory: weaver/samples/fabric/simpleassettransfer
- name: Build
run: go build -v ./...
working-directory: weaver/samples/fabric/simpleassettransfer
- name: Test
run: go test -v ./...
working-directory: weaver/samples/fabric/simpleassettransfer
unit_test_sdk_membership:
needs: check_code_changed
if: ${{ needs.check_code_changed.outputs.interopcc_changed == 'true' || needs.check_code_changed.outputs.gosdk_changed == 'true' }}
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4.1.1
- name: Set up Go
uses: actions/setup-go@v4.0.0
with:
go-version: '1.20.2'
# FABRIC NETWORK
- name: Start Fabric Network
run: make start-interop-local
working-directory: weaver/tests/network-setups/fabric/dev
- name: Vendor
run: make run-vendor
working-directory: weaver/sdks/fabric/go-sdk
- name: Build
run: make build
working-directory: weaver/sdks/fabric/go-sdk
# Test the MembershipManager
- name: Test
run: GOLANG_PROTOBUF_REGISTRATION_CONFLICT=warn CACTI_ROOT=$GITHUB_WORKSPACE go test -v .
working-directory: weaver/sdks/fabric/go-sdk/membershipmanager