Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add workflow which allows to start tests against desired tag #649

Conversation

georgi-l95
Copy link
Contributor

@georgi-l95 georgi-l95 commented Jan 29, 2024

Description:
This PR aims to add manual workflow, which can be triggered by specifying tag which the tests should run against.

Related issue(s):

Fixes #648

Notes for reviewer:

Checklist

  • Documented (Code comments, README, etc.)
  • Tested (unit, integration, etc.)

@georgi-l95 georgi-l95 linked an issue Jan 29, 2024 that may be closed by this pull request
@georgi-l95 georgi-l95 self-assigned this Jan 29, 2024
@georgi-l95 georgi-l95 added the Limechain Items for Limechain team label Jan 29, 2024
Copy link

github-actions bot commented Jan 29, 2024

Test Results

242 tests  ±0   236 ✔️ ±0   7m 42s ⏱️ +18s
  72 suites ±0       6 💤 ±0 
  14 files   ±0       0 ±0 

Results for commit a4734bd. ± Comparison against base commit 8cabc7f.

This pull request removes 1 and adds 1 tests. Note that renamed tests count towards both.
should NOT be able to aggregate 150 calls to processLongInputTx ‑ Multicall Test Suite payable calls with large input should NOT be able to aggregate 150 calls to processLongInputTx
should NOT be able to aggregate 200 calls to processLongInputTx ‑ Multicall Test Suite payable calls with large input should NOT be able to aggregate 200 calls to processLongInputTx

♻️ This comment has been updated with latest results.

Signed-off-by: georgi-l95 <[email protected]>
@yaroslav-007 yaroslav-007 force-pushed the 648-add-workflow-which-allows-to-start-tests-against-desired-tag branch from 68af2e9 to 0cd5e57 Compare January 30, 2024 14:16
@georgi-l95 georgi-l95 marked this pull request as ready for review January 30, 2024 14:21
@georgi-l95 georgi-l95 requested a review from a team as a code owner January 30, 2024 14:21
Signed-off-by: georgi-l95 <[email protected]>
@@ -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
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Question: Above I saw the networkTag, mirrorTag, relayTag are marked required:false, does that mean if those tags are not entered, local node will pick up the latest tags?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yep, local node will start with local configuration(which is usually latest tags)

Copy link
Member

@quiet-node quiet-node Jan 30, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work! Will be back for a full review soon

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My idea with this manual workflow is to be triggered, when for example we have a new network tag. Instead of checking out repos locally, starting local-node and running tests, we can do it here with a simple click.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice initiative!

testfilter: PrngSystemContract
networkTag: ${{inputs.networkNodeTag}}
mirrorTag: ${{inputs.mirrorNodeTag}}
relayTag: ${{inputs.relayTag}}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you think we should make some room for the Solidity, Yul, and OZ contracts as well? https://github.com/hashgraph/hedera-smart-contracts/blob/main/.github/workflows/solidity-tests.yml

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might be too much for this case but not a bad idea.
@georgi-l95 have you tried the run out?
How long does everything take already and then when you add the above suggestions?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, we can add them, they run in parallel, so it shouldn't run longer than now, which is as long as the slowest test (around 5 minutes)

Copy link
Collaborator

@Nana-EC Nana-EC left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice addition.
A few questions

.github/workflows/manual-testing.yml Show resolved Hide resolved
.github/workflows/test-workflow.yml Show resolved Hide resolved
testfilter: PrngSystemContract
networkTag: ${{inputs.networkNodeTag}}
mirrorTag: ${{inputs.mirrorNodeTag}}
relayTag: ${{inputs.relayTag}}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might be too much for this case but not a bad idea.
@georgi-l95 have you tried the run out?
How long does everything take already and then when you add the above suggestions?

Signed-off-by: georgi-l95 <[email protected]>
@georgi-l95 georgi-l95 force-pushed the 648-add-workflow-which-allows-to-start-tests-against-desired-tag branch from d148b17 to d0d1ab2 Compare January 31, 2024 21:33
@@ -324,16 +324,16 @@ describe('Multicall Test Suite', function () {
expect(receipt.status).to.eq(1);
});

it('should NOT be able to aggregate 150 calls to processLongInputTx', async function () {
const n = 150;
it('should NOT be able to aggregate 200 calls to processLongInputTx', async function () {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this change is needed, because of this PR in the relay, which changes chunk size to around 50kb

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh is that what it is? No wonder it kept failing in the ci

@georgi-l95 georgi-l95 force-pushed the 648-add-workflow-which-allows-to-start-tests-against-desired-tag branch from c9b0480 to a4734bd Compare January 31, 2024 21:51
Copy link
Member

@quiet-node quiet-node left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thanks for the work!

@@ -324,16 +324,16 @@ describe('Multicall Test Suite', function () {
expect(receipt.status).to.eq(1);
});

it('should NOT be able to aggregate 150 calls to processLongInputTx', async function () {
const n = 150;
it('should NOT be able to aggregate 200 calls to processLongInputTx', async function () {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh is that what it is? No wonder it kept failing in the ci

Copy link
Contributor

@isavov isavov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's a great addition!

@georgi-l95 georgi-l95 merged commit 1be6eee into main Feb 2, 2024
23 checks passed
@georgi-l95 georgi-l95 deleted the 648-add-workflow-which-allows-to-start-tests-against-desired-tag branch February 2, 2024 08:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Limechain Items for Limechain team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add workflow which allows to start tests against desired tag
5 participants