diff --git a/.github/workflows/cacti-dev-container-vscode-publish.yaml b/.github/workflows/cacti-dev-container-vscode-publish.yaml index 521f520e2b..b1ed49b436 100644 --- a/.github/workflows/cacti-dev-container-vscode-publish.yaml +++ b/.github/workflows/cacti-dev-container-vscode-publish.yaml @@ -2,6 +2,7 @@ name: connector-fabric-publish env: NODEJS_VERSION: v20.3.0 + IMAGE_NAME: cacti-dev-container-vscode on: push: @@ -13,9 +14,6 @@ concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true -env: - IMAGE_NAME: cacti-dev-container-vscode - jobs: # Push image to GitHub Packages. # See also https://docs.docker.com/docker-hub/builds/ diff --git a/.github/workflows/test_weaver-asset-exchange-besu.yaml b/.github/workflows/test_weaver-asset-exchange-besu.yaml index 93f0d7ce2a..bf692bcff6 100644 --- a/.github/workflows/test_weaver-asset-exchange-besu.yaml +++ b/.github/workflows/test_weaver-asset-exchange-besu.yaml @@ -10,20 +10,8 @@ on: # Triggers the workflow on push or pull request events but only for the main branch push: branches: [ main ] - paths: - - '.github/workflows/test_weaver-**' - - 'weaver/**' - - '!weaver/docs/**' - - '!weaver/rfcs/**' - - '!weaver/resources/**' pull_request: branches: [ main ] - paths: - - '.github/workflows/test_weaver-**' - - 'weaver/**' - - '!weaver/docs/**' - - '!weaver/rfcs/**' - - '!weaver/resources/**' # Allows you to run this workflow manually from the Actions tab workflow_dispatch: @@ -34,9 +22,24 @@ concurrency: # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: + check_code_changed: + outputs: + status: ${{ steps.changes.outputs.weaver_code_changed }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3.5.2 + + - uses: dorny/paths-filter@v2.11.1 + id: changes + with: + filters: | + weaver_code_changed: + - './weaver/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - '.github/workflows/test_weaver-asset-exchange-besu.yaml' asset-exchange-besu: - if: ${{ false }} + needs: check_code_changed + if: ${{ false && needs.check_code_changed.outputs.status == 'true' }} # The type of runner that the job will run on runs-on: ubuntu-latest @@ -216,6 +219,8 @@ jobs: working-directory: weaver/samples/besu/besu-cli asset-exchange-besu-local: + needs: check_code_changed + if: needs.check_code_changed.outputs.status == 'true' # The type of runner that the job will run on runs-on: ubuntu-latest diff --git a/.github/workflows/test_weaver-asset-exchange-corda.yaml b/.github/workflows/test_weaver-asset-exchange-corda.yaml index 090eb49d86..d1b7bccff5 100644 --- a/.github/workflows/test_weaver-asset-exchange-corda.yaml +++ b/.github/workflows/test_weaver-asset-exchange-corda.yaml @@ -11,20 +11,8 @@ on: # Triggers the workflow on push or pull request events but only for the main branch push: branches: [ main ] - paths: - - '.github/workflows/test_weaver-**' - - 'weaver/**' - - '!weaver/docs/**' - - '!weaver/rfcs/**' - - '!weaver/resources/**' pull_request: branches: [ main ] - paths: - - '.github/workflows/test_weaver-**' - - 'weaver/**' - - '!weaver/docs/**' - - '!weaver/rfcs/**' - - '!weaver/resources/**' # Allows you to run this workflow manually from the Actions tab workflow_dispatch: @@ -35,9 +23,24 @@ concurrency: # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: + check_code_changed: + outputs: + status: ${{ steps.changes.outputs.weaver_code_changed }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3.5.2 + + - uses: dorny/paths-filter@v2.11.1 + id: changes + with: + filters: | + weaver_code_changed: + - './weaver/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - '.github/workflows/test_weaver-asset-exchange-corda.yaml' asset-exchange-corda: - if: ${{ false }} + needs: check_code_changed + if: ${{ false && needs.check_code_changed.outputs.status == 'true' }} # The type of runner that the job will run on runs-on: ubuntu-latest @@ -133,6 +136,8 @@ jobs: working-directory: weaver/samples/corda/corda-simple-application asset-exchange-corda-local: + needs: check_code_changed + if: needs.check_code_changed.outputs.status == 'true' # The type of runner that the job will run on runs-on: ubuntu-latest @@ -227,7 +232,8 @@ jobs: working-directory: weaver/samples/corda/corda-simple-application house-token-exchange-corda: - if: ${{ false }} + needs: check_code_changed + if: ${{ false && needs.check_code_changed.outputs.status == 'true' }} # The type of runner that the job will run on runs-on: ubuntu-latest @@ -236,6 +242,14 @@ jobs: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v3.5.2 + - uses: dorny/paths-filter@v2.11.1 + id: changes + with: + filters: | + weaver_code_changed: + - './weaver/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - '.github/workflows/test_weaver-asset-exchange-corda.yaml' + - name: Set up JDK 8 uses: actions/setup-java@v3.11.0 with: diff --git a/.github/workflows/test_weaver-asset-exchange-fabric.yaml b/.github/workflows/test_weaver-asset-exchange-fabric.yaml index 61c90060cb..d3162a6ea3 100644 --- a/.github/workflows/test_weaver-asset-exchange-fabric.yaml +++ b/.github/workflows/test_weaver-asset-exchange-fabric.yaml @@ -14,20 +14,9 @@ on: # Triggers the workflow on push or pull request events but only for the main branch push: branches: [ main ] - paths: - - '.github/workflows/test_weaver-**' - - 'weaver/**' - - '!weaver/docs/**' - - '!weaver/rfcs/**' - - '!weaver/resources/**' + pull_request: branches: [ main ] - paths: - - '.github/workflows/test_weaver-**' - - 'weaver/**' - - '!weaver/docs/**' - - '!weaver/rfcs/**' - - '!weaver/resources/**' # Allows you to run this workflow manually from the Actions tab workflow_dispatch: @@ -38,9 +27,24 @@ concurrency: # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: + check_code_changed: + outputs: + status: ${{ steps.changes.outputs.weaver_code_changed }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3.5.2 + + - uses: dorny/paths-filter@v2.11.1 + id: changes + with: + filters: | + weaver_code_changed: + - './weaver/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - '.github/workflows/test_weaver-asset-exchange-fabric.yaml' asset-exchange-fabric: - if: ${{ false }} + needs: check_code_changed + if: ${{ false && needs.check_code_changed.outputs.status == 'true' }} # The type of runner that the job will run on runs-on: ubuntu-latest @@ -71,15 +75,18 @@ jobs: sed -i "s//${{ secrets.GITHUB_TOKEN }}/g" .npmrc cat .npmrc working-directory: weaver/samples/fabric/fabric-cli + - name: Build Fabric CLI run: npm install working-directory: weaver/samples/fabric/fabric-cli + - name: Setup Fabric CLI Config run: | echo ${GITHUB_WORKSPACE} cp config.template.json config.json sed -i "s##${GITHUB_WORKSPACE}/weaver#g" config.json working-directory: weaver/samples/fabric/fabric-cli + - name: Setup Fabric CLI ENV run: | echo ${GITHUB_WORKSPACE} @@ -114,6 +121,8 @@ jobs: working-directory: weaver/samples/fabric/fabric-cli asset-exchange-fabric-local: + needs: check_code_changed + if: needs.check_code_changed.outputs.status == 'true' # if: ${{ false }} # The type of runner that the job will run on runs-on: ubuntu-latest diff --git a/.github/workflows/test_weaver-asset-transfer.yaml b/.github/workflows/test_weaver-asset-transfer.yaml index 111cd5c034..25c5a7cea4 100644 --- a/.github/workflows/test_weaver-asset-transfer.yaml +++ b/.github/workflows/test_weaver-asset-transfer.yaml @@ -14,20 +14,8 @@ on: # Triggers the workflow on push or pull request events but only for the main branch push: branches: [ main ] - paths: - - '.github/workflows/test_weaver-**' - - 'weaver/**' - - '!weaver/docs/**' - - '!weaver/rfcs/**' - - '!weaver/resources/**' pull_request: branches: [ main ] - paths: - - '.github/workflows/test_weaver-**' - - 'weaver/**' - - '!weaver/docs/**' - - '!weaver/rfcs/**' - - '!weaver/resources/**' # Allows you to run this workflow manually from the Actions tab workflow_dispatch: @@ -38,8 +26,24 @@ concurrency: # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: + check_code_changed: + outputs: + status: ${{ steps.changes.outputs.weaver_code_changed }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3.5.2 + + - uses: dorny/paths-filter@v2.11.1 + id: changes + with: + filters: | + weaver_code_changed: + - './weaver/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - '.github/workflows/test_weaver-asset-transfer.yaml' + asset-transfer: - if: ${{ false }} + needs: check_code_changed + if: ${{ false && needs.check_code_changed.outputs.status == 'true' }} # The type of runner that the job will run on runs-on: ubuntu-latest @@ -181,6 +185,7 @@ jobs: sed -i "s//${{ secrets.GITHUB_TOKEN }}/g" .npmrc cat .npmrc working-directory: weaver/samples/fabric/fabric-cli + - name: Build Fabric CLI run: | npm install --global yarn @@ -632,47 +637,57 @@ jobs: working-directory: weaver/samples/fabric/fabric-cli - - name: DEBUG Logs - corda partya - if: failure() + - if: failure() + name: DEBUG Logs - corda partya run: docker logs corda_partya_1 - - name: DEBUG Logs - corda network2 partya - if: failure() + - if: failure() + name: DEBUG Logs - corda network2 partya run: docker logs corda_network2_partya_1 - - name: DEBUG Logs - fabric n1 relay - if: failure() + - if: failure() + name: DEBUG Logs - fabric n1 relay run: docker logs relay-network1 - - name: DEBUG Logs - fabric n2 relay - if: failure() + - if: failure() + name: DEBUG Logs - fabric n2 relay run: docker logs relay-network2 - - name: DEBUG Logs - corda relay - if: failure() + - if: failure() + name: DEBUG Logs - corda relay run: docker logs relay-corda - - name: DEBUG Logs - corda2 relay - if: failure() + - if: failure() + name: DEBUG Logs - corda2 relay run: docker logs relay-corda2 - - name: DEBUG Logs - fabric n1 driver - if: failure() + - if: failure() + name: DEBUG Logs - fabric n1 driver run: docker logs driver-fabric-network1 - - name: DEBUG Logs - fabric n2 driver - if: failure() + - if: failure() + name: DEBUG Logs - fabric n2 driver run: docker logs driver-fabric-network2 - - name: DEBUG Logs - corda driver - if: failure() + - if: failure() + name: DEBUG Logs - corda driver run: docker logs driver-corda-Corda_Network - - name: DEBUG Logs - corda2 driver - if: failure() + - if: failure() + name: DEBUG Logs - corda2 driver run: docker logs driver-corda-Corda_Network2 + - if: failure() + name: DEBUG Logs - iin agent n1 org1 + run: docker logs iin-agent-Org1MSP-network1 + + - if: failure() + name: DEBUG Logs - iin agent n2 org1 + run: docker logs iin-agent-Org1MSP-network2 + asset-transfer-local: + needs: check_code_changed + if: needs.check_code_changed.outputs.status == 'true' # if: ${{ false }} # The type of runner that the job will run on runs-on: ubuntu-latest @@ -1308,42 +1323,50 @@ jobs: working-directory: weaver/samples/fabric/fabric-cli - - name: DEBUG Logs - corda partya - if: failure() + - if: failure() + name: DEBUG Logs - corda partya run: docker logs corda_partya_1 - - name: DEBUG Logs - corda network2 partya - if: failure() + - if: failure() + name: DEBUG Logs - corda network2 partya run: docker logs corda_network2_partya_1 - - name: DEBUG Logs - fabric n1 relay - if: failure() + - if: failure() + name: DEBUG Logs - fabric n1 relay run: cat weaver/core/relay/relay-n1.out - - name: DEBUG Logs - fabric n2 relay - if: failure() + - if: failure() + name: DEBUG Logs - fabric n2 relay run: cat weaver/core/relay/relay-n2.out - - name: DEBUG Logs - corda relay - if: failure() + - if: failure() + name: DEBUG Logs - corda relay run: cat weaver/core/relay/relay-corda.out - - name: DEBUG Logs - corda2 relay - if: failure() + - if: failure() + name: DEBUG Logs - corda2 relay run: cat weaver/core/relay/relay-corda2.out - - name: DEBUG Logs - fabric n1 driver - if: failure() + - if: failure() + name: DEBUG Logs - fabric n1 driver run: cat weaver/core/drivers/fabric-driver/fdriver-n1.out - - name: DEBUG Logs - fabric n2 driver - if: failure() + - if: failure() + name: DEBUG Logs - fabric n2 driver run: cat weaver/core/drivers/fabric-driver/fdriver-n2.out - - name: DEBUG Logs - corda driver - if: failure() + - if: failure() + name: DEBUG Logs - corda driver run: cat weaver/core/drivers/corda-driver/corda-driver.out - - name: DEBUG Logs - corda2 driver - if: failure() - run: cat weaver/core/drivers/corda-driver/corda2-driver.out \ No newline at end of file + - if: failure() + name: DEBUG Logs - corda2 driver + run: cat weaver/core/drivers/corda-driver/corda2-driver.out + + - if: failure() + name: DEBUG Logs - iin agent n1 org1 + run: cat weaver/core/identity-management/iin-agent/iinagent-n1.out + + - if: failure() + name: DEBUG Logs - iin agent n2 org1 + run: cat weaver/core/identity-management/iin-agent/iinagent-n2.out diff --git a/.github/workflows/test_weaver-corda-interop-app.yaml b/.github/workflows/test_weaver-corda-interop-app.yaml index c4f90066d9..950b7a62c7 100644 --- a/.github/workflows/test_weaver-corda-interop-app.yaml +++ b/.github/workflows/test_weaver-corda-interop-app.yaml @@ -10,16 +10,8 @@ name: Unit Test Corda Interop App on: push: branches: [ main ] - paths: - - '.github/workflows/test_weaver-**' - - 'weaver/common/protos-java-kt/**' - - 'weaver/core/network/corda-interop-app/**' pull_request: branches: [ main ] - paths: - - '.github/workflows/test_weaver-**' - - 'weaver/common/protos-java-kt/**' - - 'weaver/core/network/corda-interop-app/**' concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} @@ -30,21 +22,34 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3.5.2 - - - name: Set up JDK 8 + + - uses: dorny/paths-filter@v2.11.1 + id: changes + with: + filters: | + weaver_code_changed: + - './weaver/common/protos-java-kt/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - './weaver/core/network/corda-interop-app/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - '.github/workflows/test_weaver-corda-interop-app.yaml' + + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Set up JDK 8 uses: actions/setup-java@v3.11.0 with: java-version: '8' distribution: 'adopt' - - - name: Build Protos (Local) + + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Build Protos (Local) run: make build working-directory: weaver/common/protos-java-kt - - name: Build Corda Interop App (Local) + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Build Corda Interop App (Local) run: make build-local working-directory: weaver/core/network/corda-interop-app - - name: Run Tests (Local) + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Run Tests (Local) run: make test working-directory: weaver/core/network/corda-interop-app diff --git a/.github/workflows/test_weaver-data-sharing.yaml b/.github/workflows/test_weaver-data-sharing.yaml index ae99098277..8001e3136d 100644 --- a/.github/workflows/test_weaver-data-sharing.yaml +++ b/.github/workflows/test_weaver-data-sharing.yaml @@ -14,20 +14,8 @@ on: # Triggers the workflow on push or pull request events but only for the main branch push: branches: [ main ] - paths: - - '.github/workflows/test_weaver-**' - - 'weaver/**' - - '!weaver/docs/**' - - '!weaver/rfcs/**' - - '!weaver/resources/**' pull_request: branches: [ main ] - paths: - - '.github/workflows/test_weaver-**' - - 'weaver/**' - - '!weaver/docs/**' - - '!weaver/rfcs/**' - - '!weaver/resources/**' # Allows you to run this workflow manually from the Actions tab workflow_dispatch: @@ -38,8 +26,24 @@ concurrency: # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: + check_code_changed: + outputs: + status: ${{ steps.changes.outputs.weaver_code_changed }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3.5.2 + + - uses: dorny/paths-filter@v2.11.1 + id: changes + with: + filters: | + weaver_code_changed: + - './weaver/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - '.github/workflows/test_weaver-data-sharing.yaml' + data-sharing: - if: ${{ false }} + needs: check_code_changed + if: ${{ false && needs.check_code_changed.outputs.status == 'true' }} # The type of runner that the job will run on runs-on: ubuntu-latest @@ -180,17 +184,20 @@ jobs: sed -i "s//${{ secrets.GITHUB_TOKEN }}/g" .npmrc cat .npmrc working-directory: weaver/samples/fabric/fabric-cli + - name: Build Fabric CLI run: | npm install --global yarn make build working-directory: weaver/samples/fabric/fabric-cli + - name: Setup Fabric CLI Config run: | echo ${GITHUB_WORKSPACE} cp config.template.json config.json sed -i "s##${GITHUB_WORKSPACE}/weaver#g" config.json working-directory: weaver/samples/fabric/fabric-cli + - name: Setup Fabric CLI ENV run: | echo ${GITHUB_WORKSPACE} @@ -353,47 +360,57 @@ jobs: fi working-directory: weaver/samples/fabric/fabric-cli - - name: DEBUG Logs - corda partya - if: failure() + - if: failure() + name: DEBUG Logs - corda partya run: docker logs corda_partya_1 - - name: DEBUG Logs - corda network2 partya - if: failure() + - if: failure() + name: DEBUG Logs - corda network2 partya run: docker logs corda_network2_partya_1 - - name: DEBUG Logs - fabric n1 relay - if: failure() + - if: failure() + name: DEBUG Logs - fabric n1 relay run: docker logs relay-network1 - - name: DEBUG Logs - fabric n2 relay - if: failure() + - if: failure() + name: DEBUG Logs - fabric n2 relay run: docker logs relay-network2 - - name: DEBUG Logs - corda relay - if: failure() + - if: failure() + name: DEBUG Logs - corda relay run: docker logs relay-corda - - name: DEBUG Logs - corda2 relay - if: failure() + - if: failure() + name: DEBUG Logs - corda2 relay run: docker logs relay-corda2 - - name: DEBUG Logs - fabric n1 driver - if: failure() + - if: failure() + name: DEBUG Logs - fabric n1 driver run: docker logs driver-fabric-network1 - - name: DEBUG Logs - fabric n2 driver - if: failure() + - if: failure() + name: DEBUG Logs - fabric n2 driver run: docker logs driver-fabric-network2 - - name: DEBUG Logs - corda driver - if: failure() + - if: failure() + name: DEBUG Logs - corda driver run: docker logs driver-corda-Corda_Network - - name: DEBUG Logs - corda2 driver - if: failure() + - if: failure() + name: DEBUG Logs - corda2 driver run: docker logs driver-corda-Corda_Network2 + - if: failure() + name: DEBUG Logs - iin agent n1 org1 + run: docker logs iin-agent-Org1MSP-network1 + + - if: failure() + name: DEBUG Logs - iin agent n2 org1 + run: docker logs iin-agent-Org1MSP-network2 + data-sharing-docker-local: + needs: check_code_changed + if: needs.check_code_changed.outputs.status == 'true' # if: ${{ false }} # The type of runner that the job will run on runs-on: ubuntu-latest @@ -403,6 +420,14 @@ jobs: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v3.5.2 + - uses: dorny/paths-filter@v2.11.1 + id: changes + with: + filters: | + weaver_code_changed: + - './weaver/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - '.github/workflows/test_weaver-data-sharing.yaml' + - name: Set up JDK 8 uses: actions/setup-java@v3.11.0 with: @@ -597,6 +622,7 @@ jobs: cp config.template.json config.json sed -i "s##${GITHUB_WORKSPACE}/weaver#g" config.json working-directory: weaver/samples/fabric/fabric-cli + - name: Setup Fabric CLI ENV run: | echo ${GITHUB_WORKSPACE} @@ -615,12 +641,12 @@ jobs: run: | ./bin/fabric-cli configure membership --local-network=network1 --target-network=network2 --iin-agent-endpoint=localhost:9500 sleep 30 - docker logs iin-agent-Org1MSP-network1 - docker logs iin-agent-Org1MSP-network2 + docker logs --tail 5 iin-agent-Org1MSP-network1 + docker logs --tail 5 iin-agent-Org1MSP-network2 ./bin/fabric-cli configure membership --local-network=network2 --target-network=network1 --iin-agent-endpoint=localhost:9501 sleep 30 - docker logs iin-agent-Org1MSP-network1 - docker logs iin-agent-Org1MSP-network2 + docker logs --tail 5 iin-agent-Org1MSP-network1 + docker logs --tail 5 iin-agent-Org1MSP-network2 working-directory: weaver/samples/fabric/fabric-cli # CORDA CLIENT @@ -759,47 +785,57 @@ jobs: fi working-directory: weaver/samples/fabric/fabric-cli - - name: DEBUG Logs - corda partya - if: failure() + - if: failure() + name: DEBUG Logs - corda partya run: docker logs corda_partya_1 - - name: DEBUG Logs - corda network2 partya - if: failure() + - if: failure() + name: DEBUG Logs - corda network2 partya run: docker logs corda_network2_partya_1 - - name: DEBUG Logs - fabric n1 relay - if: failure() + - if: failure() + name: DEBUG Logs - fabric n1 relay run: docker logs relay-network1 - - name: DEBUG Logs - fabric n2 relay - if: failure() + - if: failure() + name: DEBUG Logs - fabric n2 relay run: docker logs relay-network2 - - name: DEBUG Logs - corda relay - if: failure() + - if: failure() + name: DEBUG Logs - corda relay run: docker logs relay-corda - - name: DEBUG Logs - corda2 relay - if: failure() + - if: failure() + name: DEBUG Logs - corda2 relay run: docker logs relay-corda2 - - name: DEBUG Logs - fabric n1 driver - if: failure() + - if: failure() + name: DEBUG Logs - fabric n1 driver run: docker logs driver-fabric-network1 - - name: DEBUG Logs - fabric n2 driver - if: failure() + - if: failure() + name: DEBUG Logs - fabric n2 driver run: docker logs driver-fabric-network2 - - name: DEBUG Logs - corda driver - if: failure() + - if: failure() + name: DEBUG Logs - corda driver run: docker logs driver-corda-Corda_Network - - name: DEBUG Logs - corda2 driver - if: failure() + - if: failure() + name: DEBUG Logs - corda2 driver run: docker logs driver-corda-Corda_Network2 + - if: failure() + name: DEBUG Logs - iin agent n1 org1 + run: docker logs iin-agent-Org1MSP-network1 + + - if: failure() + name: DEBUG Logs - iin agent n2 org1 + run: docker logs iin-agent-Org1MSP-network2 + data-sharing-local: + needs: check_code_changed + if: needs.check_code_changed.outputs.status == 'true' # if: ${{ false }} # The type of runner that the job will run on runs-on: ubuntu-latest @@ -809,6 +845,14 @@ jobs: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v3.5.2 + - uses: dorny/paths-filter@v2.11.1 + id: changes + with: + filters: | + weaver_code_changed: + - './weaver/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - '.github/workflows/test_weaver-data-sharing.yaml' + - name: Set up JDK 8 uses: actions/setup-java@v3.11.0 with: @@ -1027,10 +1071,10 @@ jobs: run: | ./bin/fabric-cli configure membership --local-network=network1 --target-network=network2 --iin-agent-endpoint=localhost:9500 sleep 10 - tail -10 ../../../core/identity-management/iin-agent/iinagent-n1.out + tail -5 ../../../core/identity-management/iin-agent/iinagent-n1.out ./bin/fabric-cli configure membership --local-network=network2 --target-network=network1 --iin-agent-endpoint=localhost:9501 sleep 10 - tail -10 ../../../core/identity-management/iin-agent/iinagent-n2.out + tail -5 ../../../core/identity-management/iin-agent/iinagent-n2.out working-directory: weaver/samples/fabric/fabric-cli # CORDA CLIENT @@ -1169,42 +1213,50 @@ jobs: fi working-directory: weaver/samples/fabric/fabric-cli - - name: DEBUG Logs - corda partya - if: failure() + - if: failure() + name: DEBUG Logs - corda partya run: docker logs corda_partya_1 - - name: DEBUG Logs - corda network2 partya - if: failure() + - if: failure() + name: DEBUG Logs - corda network2 partya run: docker logs corda_network2_partya_1 - - name: DEBUG Logs - fabric n1 relay - if: failure() + - if: failure() + name: DEBUG Logs - fabric n1 relay run: cat weaver/core/relay/relay-n1.out - - name: DEBUG Logs - fabric n2 relay - if: failure() + - if: failure() + name: DEBUG Logs - fabric n2 relay run: cat weaver/core/relay/relay-n2.out - - name: DEBUG Logs - corda relay - if: failure() + - if: failure() + name: DEBUG Logs - corda relay run: cat weaver/core/relay/relay-corda.out - - name: DEBUG Logs - corda2 relay - if: failure() + - if: failure() + name: DEBUG Logs - corda2 relay run: cat weaver/core/relay/relay-corda2.out - - name: DEBUG Logs - fabric n1 driver - if: failure() + - if: failure() + name: DEBUG Logs - fabric n1 driver run: cat weaver/core/drivers/fabric-driver/fdriver-n1.out - - name: DEBUG Logs - fabric n2 driver - if: failure() + - if: failure() + name: DEBUG Logs - fabric n2 driver run: cat weaver/core/drivers/fabric-driver/fdriver-n2.out - - name: DEBUG Logs - corda driver - if: failure() + - if: failure() + name: DEBUG Logs - corda driver run: cat weaver/core/drivers/corda-driver/corda-driver.out - - name: DEBUG Logs - corda2 driver - if: failure() + - if: failure() + name: DEBUG Logs - corda2 driver run: cat weaver/core/drivers/corda-driver/corda2-driver.out + + - if: failure() + name: DEBUG Logs - iin agent n1 org1 + run: cat weaver/core/identity-management/iin-agent/iinagent-n1.out + + - if: failure() + name: DEBUG Logs - iin agent n2 org1 + run: cat weaver/core/identity-management/iin-agent/iinagent-n2.out diff --git a/.github/workflows/test_weaver-docker-build.yaml b/.github/workflows/test_weaver-docker-build.yaml index a309cd249d..b85a824902 100644 --- a/.github/workflows/test_weaver-docker-build.yaml +++ b/.github/workflows/test_weaver-docker-build.yaml @@ -10,20 +10,8 @@ env: on: push: branches: [ main ] - paths: - - '.github/workflows/test_weaver-**' - - 'weaver/**' - - '!weaver/docs/**' - - '!weaver/rfcs/**' - - '!weaver/resources/**' pull_request: branches: [ main ] - paths: - - '.github/workflows/test_weaver-**' - - 'weaver/**' - - '!weaver/docs/**' - - '!weaver/rfcs/**' - - '!weaver/resources/**' concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} @@ -37,7 +25,17 @@ jobs: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v3.5.2 - - name: Build Image + - uses: dorny/paths-filter@v2.11.1 + id: changes + with: + filters: | + weaver_code_changed: + - './weaver/common/protos-rs/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - './weaver/core/relay/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - '.github/workflows/test_weaver-docker-build.yaml' + + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Build Image run: make build-server-local working-directory: weaver/core/relay @@ -47,27 +45,44 @@ jobs: steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v3.5.2 - - name: Use Node.js ${{ env.NODEJS_VERSION }} + + - uses: dorny/paths-filter@v2.11.1 + id: changes + with: + filters: | + weaver_code_changed: + - './weaver/common/protos/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - './weaver/common/protos-js/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - './weaver/sdks/fabric/interoperation-node-sdk/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - './weaver/weaver/core/drivers/fabric-driver/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - '.github/workflows/test_weaver-docker-build.yaml' + + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Use Node.js ${{ env.NODEJS_VERSION }} uses: actions/setup-node@v3.6.0 with: node-version: ${{ env.NODEJS_VERSION }} - - name: Use Protoc 3.15 + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Use Protoc 3.15 run: | curl -LO https://github.com/protocolbuffers/protobuf/releases/download/v3.15.6/protoc-3.15.6-linux-x86_64.zip unzip protoc-3.15.6-linux-x86_64.zip -d protoc - - name: Build JS Protos (Local) + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Build JS Protos (Local) run: | export PATH="$PATH:${GITHUB_WORKSPACE}/protoc/bin" make build working-directory: weaver/common/protos-js - - name: Build Fabric Interop Node SDK (Local) + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Build Fabric Interop Node SDK (Local) run: make build-local working-directory: weaver/sdks/fabric/interoperation-node-sdk - - name: Build Image (Local) + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Build Image (Local) run: make build-image-local working-directory: weaver/core/drivers/fabric-driver @@ -78,14 +93,24 @@ jobs: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v3.5.2 - - name: Setup .npmrc + - uses: dorny/paths-filter@v2.11.1 + id: changes + with: + filters: | + weaver_code_changed: + - './weaver/weaver/core/drivers/fabric-driver/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - '.github/workflows/test_weaver-docker-build.yaml' + + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Setup .npmrc run: | cp .npmrc.template .npmrc sed -i "s//${{ secrets.GITHUB_TOKEN }}/g" .npmrc cat .npmrc working-directory: weaver/core/drivers/fabric-driver - - name: Build Image + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Build Image run: make build-image working-directory: weaver/core/drivers/fabric-driver @@ -95,25 +120,42 @@ jobs: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v3.5.2 - - name: Set up JDK 8 + - uses: dorny/paths-filter@v2.11.1 + id: changes + with: + filters: | + weaver_code_changed: + - './weaver/common/protos/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - './weaver/common/protos-java-kt/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - './weaver/core/network/corda-interop-app/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - './weaver/sdks/corda/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - './weaver/core/drivers/corda-driver/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - '.github/workflows/test_weaver-docker-build.yaml' + + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Set up JDK 8 uses: actions/setup-java@v3.11.0 with: java-version: '8' distribution: 'adopt' - - name: Build Protos (Local) + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Build Protos (Local) run: make build working-directory: weaver/common/protos-java-kt - - name: Build Corda Interop App (Local) + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Build Corda Interop App (Local) run: make build-local working-directory: weaver/core/network/corda-interop-app - - name: Build Corda Interop SDK (Local) + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Build Corda Interop SDK (Local) run: make build working-directory: weaver/sdks/corda - - name: Build Image (Local) + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Build Image (Local) run: make image-local working-directory: weaver/core/drivers/corda-driver @@ -124,7 +166,16 @@ jobs: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v3.5.2 - - name: Generate github.properties + - uses: dorny/paths-filter@v2.11.1 + id: changes + with: + filters: | + weaver_code_changed: + - './weaver/core/drivers/corda-driver/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - '.github/workflows/test_weaver-docker-build.yaml' + + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Generate github.properties run: | echo "Using ${GITHUB_ACTOR} user." echo "username=${GITHUB_ACTOR}" >> github.properties @@ -142,7 +193,8 @@ jobs: cat github.properties working-directory: weaver/core/drivers/corda-driver - - name: Build Image + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Build Image run: make image working-directory: weaver/core/drivers/corda-driver @@ -151,26 +203,43 @@ jobs: steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v3.5.2 - - name: Use Node.js ${{ env.NODEJS_VERSION }} + + - uses: dorny/paths-filter@v2.11.1 + id: changes + with: + filters: | + weaver_code_changed: + - './weaver/common/protos/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - './weaver/common/protos-js/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - './weaver/sdks/fabric/interoperation-node-sdk/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - './weaver/core/identity-management/iin-agent/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - '.github/workflows/test_weaver-docker-build.yaml' + + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Use Node.js ${{ env.NODEJS_VERSION }} uses: actions/setup-node@v3.6.0 with: node-version: ${{ env.NODEJS_VERSION }} - - name: Use Protoc 3.15 + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Use Protoc 3.15 run: | curl -LO https://github.com/protocolbuffers/protobuf/releases/download/v3.15.6/protoc-3.15.6-linux-x86_64.zip unzip protoc-3.15.6-linux-x86_64.zip -d protoc - - name: Build JS Protos (Local) + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Build JS Protos (Local) run: | export PATH="$PATH:${GITHUB_WORKSPACE}/protoc/bin" make build working-directory: weaver/common/protos-js - - name: Build Fabric Interop Node SDK (Local) + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Build Fabric Interop Node SDK (Local) run: make build-local working-directory: weaver/sdks/fabric/interoperation-node-sdk - - name: Build Image + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Build Image run: make build-image-local working-directory: weaver/core/identity-management/iin-agent diff --git a/.github/workflows/test_weaver-go.yaml b/.github/workflows/test_weaver-go.yaml index 7c8bda49f0..7c15feec9a 100644 --- a/.github/workflows/test_weaver-go.yaml +++ b/.github/workflows/test_weaver-go.yaml @@ -7,20 +7,8 @@ name: Unit Test Fabric Interop CC and Sample Chaincode on: push: branches: [ main ] - paths: - - '.github/workflows/test_weaver-**' - - 'weaver/common/protos-go/**' - - 'weaver/core/network/fabric-interop-cc/**' - - 'weaver/samples/fabric/**' - - '!weaver/samples/fabric/fabric-cli/**' pull_request: branches: [ main ] - paths: - - '.github/workflows/test_weaver-**' - - 'weaver/common/protos-go/**' - - 'weaver/core/network/fabric-interop-cc/**' - - 'weaver/samples/fabric/**' - - '!weaver/samples/fabric/fabric-cli/**' concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} @@ -32,20 +20,33 @@ jobs: steps: - uses: actions/checkout@v3.5.2 - - name: Set up Go + - uses: dorny/paths-filter@v2.11.1 + id: changes + with: + filters: | + weaver_code_changed: + - 'weaver/common/protos-go/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - 'weaver/core/network/fabric-interop-cc/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - '.github/workflows/test_weaver-go.yaml' + + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Set up Go uses: actions/setup-go@v4.0.0 with: go-version: '1.20.2' - - name: Vendor + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Vendor run: make run-vendor working-directory: weaver/core/network/fabric-interop-cc/contracts/interop - - name: Build + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Build run: go build -v ./... working-directory: weaver/core/network/fabric-interop-cc/contracts/interop - - name: Test + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Test run: go test -v ./... working-directory: weaver/core/network/fabric-interop-cc/contracts/interop @@ -55,20 +56,33 @@ jobs: steps: - uses: actions/checkout@v3.5.2 - - name: Set up Go + - uses: dorny/paths-filter@v2.11.1 + id: changes + with: + filters: | + weaver_code_changed: + - 'weaver/common/protos-go/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - 'weaver/core/network/fabric-interop-cc/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - '.github/workflows/test_weaver-go.yaml' + + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Set up Go uses: actions/setup-go@v4.0.0 with: go-version: '1.20.2' - - name: Vendor + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Vendor run: make run-vendor working-directory: weaver/core/network/fabric-interop-cc/interfaces/asset-mgmt - - name: Build + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Build run: go build -v ./... working-directory: weaver/core/network/fabric-interop-cc/interfaces/asset-mgmt - - name: Test + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Test run: go test -v ./... working-directory: weaver/core/network/fabric-interop-cc/interfaces/asset-mgmt @@ -77,20 +91,34 @@ jobs: steps: - uses: actions/checkout@v3.5.2 - - name: Set up Go + - uses: dorny/paths-filter@v2.11.1 + id: changes + with: + filters: | + weaver_code_changed: + - 'weaver/common/protos-go/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - 'weaver/core/network/fabric-interop-cc/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - 'weaver/samples/fabric/simplestate/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - '.github/workflows/test_weaver-go.yaml' + + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Set up Go uses: actions/setup-go@v4.0.0 with: go-version: '1.20.2' - - name: Vendor + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Vendor run: make run-vendor working-directory: weaver/samples/fabric/simplestate - - name: Build + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Build run: go build -v ./... working-directory: weaver/samples/fabric/simplestate - - name: Test + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Test run: go test -v ./... working-directory: weaver/samples/fabric/simplestate @@ -99,20 +127,34 @@ jobs: steps: - uses: actions/checkout@v3.5.2 - - name: Set up Go + - uses: dorny/paths-filter@v2.11.1 + id: changes + with: + filters: | + weaver_code_changed: + - 'weaver/common/protos-go/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - 'weaver/core/network/fabric-interop-cc/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - 'weaver/samples/fabric/simpleasset/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - '.github/workflows/test_weaver-go.yaml' + + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Set up Go uses: actions/setup-go@v4.0.0 with: go-version: '1.20.2' - - name: Vendor + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Vendor run: make run-vendor working-directory: weaver/samples/fabric/simpleasset - - name: Build + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Build run: go build -v ./... working-directory: weaver/samples/fabric/simpleasset - - name: Test + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Test run: go test -v ./... working-directory: weaver/samples/fabric/simpleasset @@ -121,20 +163,34 @@ jobs: steps: - uses: actions/checkout@v3.5.2 - - name: Set up Go + - uses: dorny/paths-filter@v2.11.1 + id: changes + with: + filters: | + weaver_code_changed: + - 'weaver/common/protos-go/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - 'weaver/core/network/fabric-interop-cc/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - 'weaver/samples/fabric/simpleassetandinterop/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - '.github/workflows/test_weaver-go.yaml' + + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Set up Go uses: actions/setup-go@v4.0.0 with: go-version: '1.20.2' - - name: Vendor + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Vendor run: make run-vendor working-directory: weaver/samples/fabric/simpleassetandinterop - - name: Build + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Build run: go build -v ./... working-directory: weaver/samples/fabric/simpleassetandinterop - - name: Test + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Test run: go test -v ./... working-directory: weaver/samples/fabric/simpleassetandinterop @@ -143,19 +199,33 @@ jobs: steps: - uses: actions/checkout@v3.5.2 - - name: Set up Go + - uses: dorny/paths-filter@v2.11.1 + id: changes + with: + filters: | + weaver_code_changed: + - 'weaver/common/protos-go/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - 'weaver/core/network/fabric-interop-cc/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - 'weaver/samples/fabric/simpleassettransfer/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - '.github/workflows/test_weaver-go.yaml' + + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Set up Go uses: actions/setup-go@v4.0.0 with: go-version: '1.20.2' - - name: Vendor + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Vendor run: make run-vendor working-directory: weaver/samples/fabric/simpleassettransfer - - name: Build + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Build run: go build -v ./... working-directory: weaver/samples/fabric/simpleassettransfer - - name: Test + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Test run: go test -v ./... working-directory: weaver/samples/fabric/simpleassettransfer diff --git a/.github/workflows/test_weaver-node-pkgs.yaml b/.github/workflows/test_weaver-node-pkgs.yaml index a2ddf9005c..31f38a245c 100644 --- a/.github/workflows/test_weaver-node-pkgs.yaml +++ b/.github/workflows/test_weaver-node-pkgs.yaml @@ -14,20 +14,8 @@ env: on: push: branches: [ main ] - paths: - - '.github/workflows/test_weaver-**' - - 'weaver/common/protos-js/**' - - 'weaver/sdks/fabric/interoperation-node-sdk/**' - - 'weaver/core/identity-management/**' - - 'weaver/docs/**' pull_request: branches: [ main ] - paths: - - '.github/workflows/test_weaver-**' - - 'weaver/common/protos-js/**' - - 'weaver/sdks/fabric/interoperation-node-sdk/**' - - 'weaver/core/identity-management/**' - - 'weaver/docs/**' concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} @@ -45,23 +33,43 @@ jobs: steps: - uses: actions/checkout@v3.5.2 - - name: Use Node.js ${{ matrix.node-version }} + + - uses: dorny/paths-filter@v2.11.1 + id: changes + with: + filters: | + weaver_code_changed: + - '.github/workflows/test_weaver-node-pkgs.yaml' + - 'weaver/common/protos/**' + - 'weaver/common/protos-js/**' + - 'weaver/sdks/fabric/interoperation-node-sdk/**' + + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v3.6.0 with: node-version: ${{ matrix.node-version }} - - name: Use Protoc 3.15 + + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Use Protoc 3.15 run: | curl -LO https://github.com/protocolbuffers/protobuf/releases/download/v3.15.6/protoc-3.15.6-linux-x86_64.zip unzip protoc-3.15.6-linux-x86_64.zip -d protoc - - name: Build JS Protos + + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Build JS Protos run: | export PATH="$PATH:${GITHUB_WORKSPACE}/protoc/bin" make build working-directory: weaver/common/protos-js - - name: Build + + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Build run: make build-local working-directory: weaver/sdks/fabric/interoperation-node-sdk - - name: Tests + + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Tests run: npm run test working-directory: weaver/sdks/fabric/interoperation-node-sdk @@ -76,26 +84,49 @@ jobs: steps: - uses: actions/checkout@v3.5.2 - - name: Use Node.js ${{ matrix.node-version }} + + - uses: dorny/paths-filter@v2.11.1 + id: changes + with: + filters: | + weaver_code_changed: + - '.github/workflows/test_weaver-node-pkgs.yaml' + - 'weaver/common/protos/**' + - 'weaver/common/protos-js/**' + - 'weaver/sdks/fabric/interoperation-node-sdk/**' + - 'weaver/core/identity-management/**' + + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v3.6.0 with: node-version: ${{ matrix.node-version }} - - name: Use Protoc 3.15 + + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Use Protoc 3.15 run: | curl -LO https://github.com/protocolbuffers/protobuf/releases/download/v3.15.6/protoc-3.15.6-linux-x86_64.zip unzip protoc-3.15.6-linux-x86_64.zip -d protoc - - name: Build JS Protos + + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Build JS Protos run: | export PATH="$PATH:${GITHUB_WORKSPACE}/protoc/bin" make build working-directory: weaver/common/protos-js - - name: Build + + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Build run: make build-local working-directory: weaver/sdks/fabric/interoperation-node-sdk - - name: Build IIN Agent + + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Build IIN Agent run: make build-local working-directory: weaver/core/identity-management/iin-agent - - name: Tests + + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Tests run: npm run test working-directory: weaver/core/identity-management/iin-agent @@ -105,15 +136,26 @@ jobs: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v3.5.2 - - name: Use Node.js ${{ env.NODEJS_LTS_VERSION }} + - uses: dorny/paths-filter@v2.11.1 + id: changes + with: + filters: | + weaver_code_changed: + - '.github/workflows/test_weaver-node-pkgs.yaml' + - 'weaver/docs/**' + + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Use Node.js ${{ env.NODEJS_LTS_VERSION }} uses: actions/setup-node@v3.6.0 with: node-version: ${{ env.NODEJS_LTS_VERSION }} - - name: NPM INSTALL + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: NPM INSTALL run: npm install working-directory: weaver/docs - - name: Build + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Build run: npm run build working-directory: weaver/docs diff --git a/.github/workflows/test_weaver-relay.yaml b/.github/workflows/test_weaver-relay.yaml index e418407f5b..b8608841c5 100644 --- a/.github/workflows/test_weaver-relay.yaml +++ b/.github/workflows/test_weaver-relay.yaml @@ -7,16 +7,8 @@ name: Unit Test Relay on: push: branches: [ main ] - paths: - - '.github/workflows/test_weaver-**' - - 'weaver/common/protos-rs/**' - - 'weaver/core/relay/**' pull_request: branches: [ main ] - paths: - - '.github/workflows/test_weaver-**' - - 'weaver/common/protos-rs/**' - - 'weaver/core/relay/**' concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} @@ -30,44 +22,62 @@ jobs: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v3.5.2 - - name: Install RUST Toolchain minimal stable with clippy and rustfmt + - uses: dorny/paths-filter@v2.11.1 + id: changes + with: + filters: | + weaver_code_changed: + - '.weaver/common/protos/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - '.weaver/common/protos-rs/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - '.weaver/core/relay/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - .github/workflows/test_weaver-relay.yaml' + + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Install RUST Toolchain minimal stable with clippy and rustfmt uses: actions-rs/toolchain@v1.0.6 with: profile: minimal toolchain: stable components: rustfmt, clippy - - name: Use Protoc 3.15 + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Use Protoc 3.15 run: | curl -LO https://github.com/protocolbuffers/protobuf/releases/download/v3.15.6/protoc-3.15.6-linux-x86_64.zip unzip protoc-3.15.6-linux-x86_64.zip -d protoc - - name: Build Protos RS + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Build Protos RS run: | export PATH="$PATH:${GITHUB_WORKSPACE}/protoc/bin" make build working-directory: weaver/common/protos-rs - - name: Get Latest Relay Dependencies + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Get Latest Relay Dependencies run: | make protos-local cargo update -p nom cargo update -p lexical-core working-directory: weaver/core/relay - - name: Build Image + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Build Image run: make working-directory: weaver/core/relay - - name: Run Dummy Relay + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Run Dummy Relay run: RELAY_CONFIG=config/Dummy_Relay.toml cargo run --bin server &> relay-dummy.out & working-directory: weaver/core/relay - - name: Run Dummy Driver + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Run Dummy Driver run: RELAY_CONFIG=config/Dummy_Relay.toml cargo run --bin dummy-driver &> driver-dummy.out & working-directory: weaver/core/relay - - name: Mock Client Test + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Mock Client Test run: | echo "Waiting for Dummy Relay and Driver to come up" sleep 30 @@ -81,44 +91,62 @@ jobs: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v3.5.2 - - name: Install RUST Toolchain minimal stable with clippy and rustfmt + - uses: dorny/paths-filter@v2.11.1 + id: changes + with: + filters: | + weaver_code_changed: + - '.weaver/common/protos/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - '.weaver/common/protos-rs/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - '.weaver/core/relay/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - .github/workflows/test_weaver-relay.yaml' + + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Install RUST Toolchain minimal stable with clippy and rustfmt uses: actions-rs/toolchain@v1.0.6 with: profile: minimal toolchain: stable components: rustfmt, clippy - - name: Use Protoc 3.15 + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Use Protoc 3.15 run: | curl -LO https://github.com/protocolbuffers/protobuf/releases/download/v3.15.6/protoc-3.15.6-linux-x86_64.zip unzip protoc-3.15.6-linux-x86_64.zip -d protoc - - name: Build Protos RS + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Build Protos RS run: | export PATH="$PATH:${GITHUB_WORKSPACE}/protoc/bin" make build working-directory: weaver/common/protos-rs - - name: Get Latest Relay Dependencies + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Get Latest Relay Dependencies run: | make protos-local cargo update -p nom cargo update -p lexical-core working-directory: weaver/core/relay - - name: Build Image + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Build Image run: make working-directory: weaver/core/relay - - name: Run Dummy Relay + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Run Dummy Relay run: RELAY_CONFIG=config/Dummy_Relay_tls.toml cargo run --bin server &> relay-dummy.out & working-directory: weaver/core/relay - - name: Run Dummy Driver + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Run Dummy Driver run: RELAY_CONFIG=config/Dummy_Relay_tls.toml cargo run --bin dummy-driver &> driver-dummy.out & working-directory: weaver/core/relay - - name: Mock Client Test + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Mock Client Test run: | echo "Waiting for Dummy Relay and Driver to come up" sleep 30 @@ -132,32 +160,47 @@ jobs: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v3.5.2 - - name: Install RUST Toolchain minimal stable with clippy and rustfmt + - uses: dorny/paths-filter@v2.11.1 + id: changes + with: + filters: | + weaver_code_changed: + - '.weaver/common/protos-rs/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - '.weaver/core/relay/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - .github/workflows/test_weaver-relay.yaml' + + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Install RUST Toolchain minimal stable with clippy and rustfmt uses: actions-rs/toolchain@v1.0.6 with: profile: minimal toolchain: stable components: rustfmt, clippy - - name: Get Latest Relay Dependencies + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Get Latest Relay Dependencies run: | cargo update -p nom cargo update -p lexical-core working-directory: weaver/core/relay - - name: Build Image + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Build Image run: make build working-directory: weaver/core/relay - - name: Run Dummy Relay + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Run Dummy Relay run: RELAY_CONFIG=config/Dummy_Relay.toml cargo run --bin server &> relay-dummy.out & working-directory: weaver/core/relay - - name: Run Dummy Driver + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Run Dummy Driver run: RELAY_CONFIG=config/Dummy_Relay.toml cargo run --bin dummy-driver &> driver-dummy.out & working-directory: weaver/core/relay - - name: Mock Client Test + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Mock Client Test run: | echo "Waiting for Dummy Relay and Driver to come up" sleep 30 @@ -171,32 +214,47 @@ jobs: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v3.5.2 - - name: Install RUST Toolchain minimal stable with clippy and rustfmt + - uses: dorny/paths-filter@v2.11.1 + id: changes + with: + filters: | + weaver_code_changed: + - '.weaver/common/protos-rs/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - '.weaver/core/relay/**!(*.md|*.css|*.html|*.jpg|*.jpeg|*.png)' + - .github/workflows/test_weaver-relay.yaml' + + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Install RUST Toolchain minimal stable with clippy and rustfmt uses: actions-rs/toolchain@v1.0.6 with: profile: minimal toolchain: stable components: rustfmt, clippy - - name: Get Latest Relay Dependencies + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Get Latest Relay Dependencies run: | cargo update -p nom cargo update -p lexical-core working-directory: weaver/core/relay - - name: Build Image + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Build Image run: make build working-directory: weaver/core/relay - - name: Run Dummy Relay + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Run Dummy Relay run: RELAY_CONFIG=config/Dummy_Relay_tls.toml cargo run --bin server &> relay-dummy.out & working-directory: weaver/core/relay - - name: Run Dummy Driver + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Run Dummy Driver run: RELAY_CONFIG=config/Dummy_Relay_tls.toml cargo run --bin dummy-driver &> driver-dummy.out & working-directory: weaver/core/relay - - name: Mock Client Test + - if: steps.changes.outputs.weaver_code_changed == 'true' + name: Mock Client Test run: | echo "Waiting for Dummy Relay and Driver to come up" sleep 30