Skip to content

Commit

Permalink
feat: add workflow which allows to start tests against desired tag (#649
Browse files Browse the repository at this point in the history
)

* feat: add new manual workflow

Signed-off-by: georgi-l95 <[email protected]>

* feat: add workflow for manual testing

Signed-off-by: georgi-l95 <[email protected]>

* chore: shorten run-nam

Signed-off-by: georgi-l95 <[email protected]>

* feat: add permission section in Manual Testing

Signed-off-by: Yaroslav Markovski <[email protected]>

* chore: update hedera local

Signed-off-by: georgi-l95 <[email protected]>

* fix: multicall test

Signed-off-by: georgi-l95 <[email protected]>

* feat: add Solidity, OZ and YUL

Signed-off-by: georgi-l95 <[email protected]>

---------

Signed-off-by: georgi-l95 <[email protected]>
Signed-off-by: Yaroslav Markovski <[email protected]>
Co-authored-by: Yaroslav Markovski <[email protected]>
  • Loading branch information
georgi-l95 and yaroslav-007 authored Feb 2, 2024
1 parent 5fd1841 commit 1be6eee
Show file tree
Hide file tree
Showing 5 changed files with 642 additions and 16 deletions.
193 changes: 193 additions & 0 deletions .github/workflows/manual-testing.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,193 @@
name: Manual Testing
on:
workflow_dispatch:
inputs:
networkNodeTag:
description: 'Specify desired Network Node image tag'
required: true
default: ''
mirrorNodeTag:
description: 'Specify desired Mirror-Node image tag'
required: true
default: ''
relayTag:
description: 'Specify desired Hedera JSON-RPC Relay tag'
required: true
default: ''
run-name: Manual Test with N:${{ inputs.networkNodeTag }}, M:${{ inputs.mirrorNodeTag }} and R:${{ inputs.relayTag }}
permissions:
contents: write
checks: write
pull-requests: write

jobs:
ERC20Contract:
name: ERC20 Contract Test Suite
uses: ./.github/workflows/test-workflow.yml
with:
testfilter: ERC20
networkTag: ${{inputs.networkNodeTag}}
mirrorTag: ${{inputs.mirrorNodeTag}}
relayTag: ${{inputs.relayTag}}

ERC721Contract:
name: ERC721 Contract Test Suite
uses: ./.github/workflows/test-workflow.yml
with:
testfilter: ERC721
networkTag: ${{inputs.networkNodeTag}}
mirrorTag: ${{inputs.mirrorNodeTag}}
relayTag: ${{inputs.relayTag}}

ERC1155Contract:
name: ERC1155 Contract Test Suite
uses: ./.github/workflows/test-workflow.yml
with:
testfilter: ERC1155
networkTag: ${{inputs.networkNodeTag}}
mirrorTag: ${{inputs.mirrorNodeTag}}
relayTag: ${{inputs.relayTag}}

TokenCreateContract:
name: Token Create Test Suite
uses: ./.github/workflows/test-workflow.yml
with:
testfilter: TokenCreateContract
networkTag: ${{inputs.networkNodeTag}}
mirrorTag: ${{inputs.mirrorNodeTag}}
relayTag: ${{inputs.relayTag}}

TokenQueryContract:
name: Token Query Test Suite
uses: ./.github/workflows/test-workflow.yml
with:
testfilter: TokenQueryContract
networkTag: ${{inputs.networkNodeTag}}
mirrorTag: ${{inputs.mirrorNodeTag}}
relayTag: ${{inputs.relayTag}}

TokenManagmentContract:
name: Token Managment Test Suite
uses: ./.github/workflows/test-workflow.yml
with:
testfilter: TokenManagmentContract
networkTag: ${{inputs.networkNodeTag}}
mirrorTag: ${{inputs.mirrorNodeTag}}
relayTag: ${{inputs.relayTag}}

TokenTransferContract:
name: Token Transfer Test Suite
uses: ./.github/workflows/test-workflow.yml
with:
testfilter: TokenTransferContract
networkTag: ${{inputs.networkNodeTag}}
mirrorTag: ${{inputs.mirrorNodeTag}}
relayTag: ${{inputs.relayTag}}

Proxy:
name: Proxy Upgrade Test Suite
uses: ./.github/workflows/test-workflow.yml
with:
testfilter: Proxy
networkTag: ${{inputs.networkNodeTag}}
mirrorTag: ${{inputs.mirrorNodeTag}}
relayTag: ${{inputs.relayTag}}

SafeHTS:
name: SafeHTS Test Suite
uses: ./.github/workflows/test-workflow.yml
with:
testfilter: SafeHTS
networkTag: ${{inputs.networkNodeTag}}
mirrorTag: ${{inputs.mirrorNodeTag}}
relayTag: ${{inputs.relayTag}}

HIP583:
name: HIP583 Test Suite
uses: ./.github/workflows/test-workflow.yml
with:
testfilter: HIP583
networkTag: ${{inputs.networkNodeTag}}
mirrorTag: ${{inputs.mirrorNodeTag}}
relayTag: ${{inputs.relayTag}}

Multicall:
name: Multicall Test Suite
uses: ./.github/workflows/test-workflow.yml
with:
testfilter: Multicall
networkTag: ${{inputs.networkNodeTag}}
mirrorTag: ${{inputs.mirrorNodeTag}}
relayTag: ${{inputs.relayTag}}

HRC:
name: HRC Test Suite
uses: ./.github/workflows/test-workflow.yml
with:
testfilter: HRC
networkTag: ${{inputs.networkNodeTag}}
mirrorTag: ${{inputs.mirrorNodeTag}}
relayTag: ${{inputs.relayTag}}

ShanghaiOpcodes:
name: ShanghaiOpcodes Test Suite
uses: ./.github/workflows/test-workflow.yml
with:
testfilter: ShanghaiOpcodes
networkTag: ${{inputs.networkNodeTag}}
mirrorTag: ${{inputs.mirrorNodeTag}}
relayTag: ${{inputs.relayTag}}

PrngSystemContract:
name: PrngSystemContract Test Suite
uses: ./.github/workflows/test-workflow.yml
with:
testfilter: PrngSystemContract
networkTag: ${{inputs.networkNodeTag}}
mirrorTag: ${{inputs.mirrorNodeTag}}
relayTag: ${{inputs.relayTag}}

SolidityEquivalence1:
name: Solidity Equivalence Suite 1
uses: ./.github/workflows/test-workflow.yml
with:
testfilter: 'solidityequiv1'
networkTag: ${{inputs.networkNodeTag}}
mirrorTag: ${{inputs.mirrorNodeTag}}
relayTag: ${{inputs.relayTag}}

SolidityEquivalence2:
name: Solidity Equivalence Suite 2
uses: ./.github/workflows/test-workflow.yml
with:
testfilter: 'solidityequiv2'
networkTag: ${{inputs.networkNodeTag}}
mirrorTag: ${{inputs.mirrorNodeTag}}
relayTag: ${{inputs.relayTag}}

SolidityEquivalence3:
name: Solidity Equivalence Suite 3
uses: ./.github/workflows/test-workflow.yml
with:
testfilter: 'solidityequiv3'
networkTag: ${{inputs.networkNodeTag}}
mirrorTag: ${{inputs.mirrorNodeTag}}
relayTag: ${{inputs.relayTag}}

YulEquiv:
name: Yul Equivalence
uses: ./.github/workflows/test-workflow.yml
with:
testfilter: 'yulequiv'
networkTag: ${{inputs.networkNodeTag}}
mirrorTag: ${{inputs.mirrorNodeTag}}
relayTag: ${{inputs.relayTag}}

OpenZeppelinEquiv:
name: OpenZeppelin Equivalence
uses: ./.github/workflows/test-workflow.yml
with:
testfilter: 'OZ'
networkTag: ${{inputs.networkNodeTag}}
mirrorTag: ${{inputs.mirrorNodeTag}}
relayTag: ${{inputs.relayTag}}
17 changes: 10 additions & 7 deletions .github/workflows/test-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,15 @@ on:
testfilter:
required: true
type: string

env:
RELAY_IMAGE_TAG: 0.39.0
NETWORK_NODE_IMAGE_TAG: 0.45.2
HAVEGED_IMAGE_TAG: 0.45.2
MIRROR_IMAGE_TAG: 0.96.0
networkTag:
required: false
type: string
mirrorTag:
required: false
type: string
relayTag:
required: false
type: string

jobs:
acceptance-workflow:
Expand Down Expand Up @@ -47,7 +50,7 @@ jobs:
version: nightly

- name: Start the local node
run: npx hedera start -d --network local
run: npx hedera start -d --network-tag=${{inputs.networkTag}} --mirror-tag=${{inputs.mirrorTag}} --relay-tag=${{inputs.relayTag}} --verbose=trace
timeout-minutes: 5

- name: Run the test in ${{ inputs.testfilter }}
Expand Down
Loading

0 comments on commit 1be6eee

Please sign in to comment.