-
Notifications
You must be signed in to change notification settings - Fork 295
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ci(github): refactor the code change check logic to skip at job level
Signed-off-by: Sandeep Nishad <[email protected]>
- Loading branch information
1 parent
d03b33a
commit 24a90d4
Showing
6 changed files
with
261 additions
and
370 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -18,38 +18,43 @@ concurrency: | |
cancel-in-progress: true | ||
|
||
jobs: | ||
check_code_changed: | ||
outputs: | ||
interop_cordapp_changed: ${{ steps.changes.outputs.interop_cordapp_changed }} | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/[email protected] | ||
|
||
- uses: dorny/[email protected] | ||
id: changes | ||
with: | ||
filters: | | ||
interop_cordapp_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' | ||
unit_test_interop_cordapp: | ||
needs: check_code_changed | ||
if: needs.check_code_changed.outputs.interop_cordapp_changed == 'true' | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/[email protected] | ||
|
||
- uses: dorny/[email protected] | ||
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 | ||
- name: Set up JDK 8 | ||
uses: actions/[email protected] | ||
with: | ||
java-version: '8' | ||
distribution: 'adopt' | ||
|
||
- if: steps.changes.outputs.weaver_code_changed == 'true' | ||
name: Build Protos (Local) | ||
- name: Build Protos (Local) | ||
run: make build | ||
working-directory: weaver/common/protos-java-kt | ||
|
||
- if: steps.changes.outputs.weaver_code_changed == 'true' | ||
name: Build Corda Interop App (Local) | ||
- name: Build Corda Interop App (Local) | ||
run: make build-local | ||
working-directory: weaver/core/network/corda-interop-app | ||
|
||
- if: steps.changes.outputs.weaver_code_changed == 'true' | ||
name: Run Tests (Local) | ||
- name: Run Tests (Local) | ||
run: make test | ||
working-directory: weaver/core/network/corda-interop-app |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -18,164 +18,151 @@ concurrency: | |
cancel-in-progress: true | ||
|
||
jobs: | ||
build_docker_relay: | ||
# if: ${{ false }} | ||
check_code_changed: | ||
outputs: | ||
relay_changed: ${{ steps.changes.outputs.relay_changed }} | ||
fabric_driver_changed: ${{ steps.changes.outputs.fabric_driver_changed }} | ||
corda_driver_changed: ${{ steps.changes.outputs.corda_driver_changed }} | ||
iin_agent_changed: ${{ steps.changes.outputs.iin_agent_changed }} | ||
runs-on: ubuntu-latest | ||
steps: | ||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it | ||
- uses: actions/[email protected] | ||
|
||
- uses: dorny/[email protected] | ||
id: changes | ||
with: | ||
filters: | | ||
weaver_code_changed: | ||
relay_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 | ||
fabric_driver_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' | ||
corda_driver_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' | ||
iin_agent_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' | ||
build_docker_relay: | ||
needs: check_code_changed | ||
if: needs.check_code_changed.outputs.relay_changed == 'true' | ||
# if: ${{ false }} | ||
runs-on: ubuntu-latest | ||
steps: | ||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it | ||
- uses: actions/[email protected] | ||
|
||
- name: Build Image | ||
run: make build-server-local | ||
working-directory: weaver/core/relay | ||
|
||
build_docker_fabric_driver_local: | ||
needs: check_code_changed | ||
if: needs.check_code_changed.outputs.fabric_driver_changed == 'true' | ||
# if: ${{ false }} | ||
runs-on: ubuntu-latest | ||
steps: | ||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it | ||
- uses: actions/[email protected] | ||
|
||
- uses: dorny/[email protected] | ||
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 }} | ||
- name: Use Node.js ${{ env.NODEJS_VERSION }} | ||
uses: actions/[email protected] | ||
with: | ||
node-version: ${{ env.NODEJS_VERSION }} | ||
|
||
- if: steps.changes.outputs.weaver_code_changed == 'true' | ||
name: Use Protoc 3.15 | ||
- 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 | ||
- if: steps.changes.outputs.weaver_code_changed == 'true' | ||
name: Build JS Protos (Local) | ||
- name: Build JS Protos (Local) | ||
run: | | ||
export PATH="$PATH:${GITHUB_WORKSPACE}/protoc/bin" | ||
make build | ||
working-directory: weaver/common/protos-js | ||
|
||
- if: steps.changes.outputs.weaver_code_changed == 'true' | ||
name: Build Fabric Interop Node SDK (Local) | ||
- name: Build Fabric Interop Node SDK (Local) | ||
run: make build-local | ||
working-directory: weaver/sdks/fabric/interoperation-node-sdk | ||
|
||
- if: steps.changes.outputs.weaver_code_changed == 'true' | ||
name: Build Image (Local) | ||
- name: Build Image (Local) | ||
run: make build-image-local | ||
working-directory: weaver/core/drivers/fabric-driver | ||
|
||
build_docker_fabric_driver_packages: | ||
if: ${{ false }} | ||
needs: check_code_changed | ||
if: ${{ false && needs.check_code_changed.outputs.fabric_driver_changed == 'true' }} | ||
runs-on: ubuntu-latest | ||
steps: | ||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it | ||
- uses: actions/[email protected] | ||
|
||
- uses: dorny/[email protected] | ||
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 | ||
- name: Setup .npmrc | ||
run: | | ||
cp .npmrc.template .npmrc | ||
sed -i "s/<personal-access-token>/${{ secrets.GITHUB_TOKEN }}/g" .npmrc | ||
cat .npmrc | ||
working-directory: weaver/core/drivers/fabric-driver | ||
|
||
- if: steps.changes.outputs.weaver_code_changed == 'true' | ||
name: Build Image | ||
- name: Build Image | ||
run: make build-image | ||
working-directory: weaver/core/drivers/fabric-driver | ||
|
||
build_docker_corda_driver_local: | ||
needs: check_code_changed | ||
if: needs.check_code_changed.outputs.corda_driver_changed == 'true' | ||
runs-on: ubuntu-latest | ||
steps: | ||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it | ||
- uses: actions/[email protected] | ||
|
||
- uses: dorny/[email protected] | ||
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 | ||
- name: Set up JDK 8 | ||
uses: actions/[email protected] | ||
with: | ||
java-version: '8' | ||
distribution: 'adopt' | ||
|
||
- if: steps.changes.outputs.weaver_code_changed == 'true' | ||
name: Build Protos (Local) | ||
- name: Build Protos (Local) | ||
run: make build | ||
working-directory: weaver/common/protos-java-kt | ||
|
||
- if: steps.changes.outputs.weaver_code_changed == 'true' | ||
name: Build Corda Interop App (Local) | ||
- name: Build Corda Interop App (Local) | ||
run: make build-local | ||
working-directory: weaver/core/network/corda-interop-app | ||
|
||
- if: steps.changes.outputs.weaver_code_changed == 'true' | ||
name: Build Corda Interop SDK (Local) | ||
- name: Build Corda Interop SDK (Local) | ||
run: make build | ||
working-directory: weaver/sdks/corda | ||
|
||
- if: steps.changes.outputs.weaver_code_changed == 'true' | ||
name: Build Image (Local) | ||
- name: Build Image (Local) | ||
run: make image-local | ||
working-directory: weaver/core/drivers/corda-driver | ||
|
||
build_docker_corda_driver_packages: | ||
if: ${{ false }} | ||
needs: check_code_changed | ||
if: ${{ false && needs.check_code_changed.outputs.corda_driver_changed == 'true' }} | ||
runs-on: ubuntu-latest | ||
steps: | ||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it | ||
- uses: actions/[email protected] | ||
|
||
- uses: dorny/[email protected] | ||
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 | ||
- name: Generate github.properties | ||
run: | | ||
echo "Using ${GITHUB_ACTOR} user." | ||
echo "username=${GITHUB_ACTOR}" >> github.properties | ||
|
@@ -193,53 +180,38 @@ jobs: | |
cat github.properties | ||
working-directory: weaver/core/drivers/corda-driver | ||
|
||
- if: steps.changes.outputs.weaver_code_changed == 'true' | ||
name: Build Image | ||
- name: Build Image | ||
run: make image | ||
working-directory: weaver/core/drivers/corda-driver | ||
|
||
build_docker_iin_agent_local: | ||
needs: check_code_changed | ||
if: needs.check_code_changed.outputs.iin_agent_changed == 'true' | ||
runs-on: ubuntu-latest | ||
steps: | ||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it | ||
- uses: actions/[email protected] | ||
|
||
- uses: dorny/[email protected] | ||
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 }} | ||
- name: Use Node.js ${{ env.NODEJS_VERSION }} | ||
uses: actions/[email protected] | ||
with: | ||
node-version: ${{ env.NODEJS_VERSION }} | ||
|
||
- if: steps.changes.outputs.weaver_code_changed == 'true' | ||
name: Use Protoc 3.15 | ||
- 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 | ||
- if: steps.changes.outputs.weaver_code_changed == 'true' | ||
name: Build JS Protos (Local) | ||
- name: Build JS Protos (Local) | ||
run: | | ||
export PATH="$PATH:${GITHUB_WORKSPACE}/protoc/bin" | ||
make build | ||
working-directory: weaver/common/protos-js | ||
|
||
- if: steps.changes.outputs.weaver_code_changed == 'true' | ||
name: Build Fabric Interop Node SDK (Local) | ||
- name: Build Fabric Interop Node SDK (Local) | ||
run: make build-local | ||
working-directory: weaver/sdks/fabric/interoperation-node-sdk | ||
|
||
- if: steps.changes.outputs.weaver_code_changed == 'true' | ||
name: Build Image | ||
- name: Build Image | ||
run: make build-image-local | ||
working-directory: weaver/core/identity-management/iin-agent |
Oops, something went wrong.