Skip to content

Commit e3859b7

Browse files
authored
feat: change acceptance.yml to use matrix and tweak configurations for a more optimal CI flow (#3547)
* feat: change acceptance.yml to use matrix with max-parallel set to 5 Signed-off-by: Simeon Nakov <[email protected]> * trigger CI Signed-off-by: Simeon Nakov <[email protected]> * trigger CI Signed-off-by: Simeon Nakov <[email protected]> * experimenting with max-parallel: 3 Signed-off-by: Simeon Nakov <[email protected]> * add temporary logging for CI Signed-off-by: Simeon Nakov <[email protected]> * bump max-parallel to 6 Signed-off-by: Simeon Nakov <[email protected]> * undo unnecessary logging + disable async tx processing experimentally Signed-off-by: Simeon Nakov <[email protected]> * bump max-parallel to 8 Signed-off-by: Simeon Nakov <[email protected]> * tweak CI config variables again Signed-off-by: Simeon Nakov <[email protected]> * move new local acceptance vars to localAcceptance.env Signed-off-by: Simeon Nakov <[email protected]> --------- Signed-off-by: Simeon Nakov <[email protected]>
1 parent 28ea22f commit e3859b7

File tree

2 files changed

+31
-159
lines changed

2 files changed

+31
-159
lines changed

.github/workflows/acceptance.yml

Lines changed: 29 additions & 157 deletions
Original file line numberDiff line numberDiff line change
@@ -12,168 +12,41 @@ concurrency:
1212
cancel-in-progress: true
1313

1414
jobs:
15-
api_batch_1:
16-
name: API Batch 1
17-
uses: ./.github/workflows/acceptance-workflow.yml
18-
with:
19-
testfilter: api_batch1
20-
secrets:
21-
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
22-
23-
api_batch_2:
24-
name: API Batch 2
25-
uses: ./.github/workflows/acceptance-workflow.yml
26-
with:
27-
testfilter: api_batch2
28-
secrets:
29-
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
30-
31-
32-
api_batch_3:
33-
name: API Batch 3
34-
uses: ./.github/workflows/acceptance-workflow.yml
35-
with:
36-
testfilter: api_batch3
37-
secrets:
38-
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
39-
40-
erc20:
41-
name: ERC20
42-
uses: ./.github/workflows/acceptance-workflow.yml
43-
with:
44-
testfilter: erc20
45-
secrets:
46-
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
47-
48-
ratelimiter:
49-
name: Rate Limiter
50-
uses: ./.github/workflows/acceptance-workflow.yml
51-
with:
52-
testfilter: ratelimiter
53-
test_ws_server: true
54-
secrets:
55-
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
56-
57-
hbarlimiter_batch_1:
58-
name: HBar Limiter Batch 1
59-
uses: ./.github/workflows/acceptance-workflow.yml
60-
with:
61-
testfilter: hbarlimiter_batch1
62-
secrets:
63-
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
64-
65-
hbarlimiter_batch_2:
66-
name: HBar Limiter Batch 2
67-
uses: ./.github/workflows/acceptance-workflow.yml
68-
with:
69-
testfilter: hbarlimiter_batch2
70-
secrets:
71-
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
72-
73-
hbarlimiter_batch_3:
74-
name: HBar Limiter Batch 3
75-
uses: ./.github/workflows/acceptance-workflow.yml
76-
with:
77-
testfilter: hbarlimiter_batch3
78-
secrets:
79-
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
80-
81-
tokencreate:
82-
name: Token Create
83-
uses: ./.github/workflows/acceptance-workflow.yml
84-
with:
85-
testfilter: tokencreate
86-
secrets:
87-
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
88-
89-
tokenmanagement:
90-
name: Token Management
91-
uses: ./.github/workflows/acceptance-workflow.yml
92-
with:
93-
testfilter: tokenmanagement
94-
secrets:
95-
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
96-
97-
htsprecompilev1:
98-
name: Precompile
99-
uses: ./.github/workflows/acceptance-workflow.yml
100-
with:
101-
testfilter: htsprecompilev1
102-
secrets:
103-
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
104-
105-
precompilecalls:
106-
name: Precompile Calls
107-
uses: ./.github/workflows/acceptance-workflow.yml
108-
with:
109-
testfilter: precompile-calls
110-
secrets:
111-
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
112-
113-
websocket-batch-1:
114-
name: Websocket Batch 1
115-
uses: ./.github/workflows/acceptance-workflow.yml
116-
with:
117-
testfilter: ws_batch1
118-
test_ws_server: true
119-
secrets:
120-
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
121-
122-
websocket-batch-2:
123-
name: Websocket Batch 2
124-
uses: ./.github/workflows/acceptance-workflow.yml
125-
with:
126-
testfilter: ws_batch2
127-
test_ws_server: true
128-
secrets:
129-
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
130-
131-
websocket-batch-3:
132-
name: Websocket Batch 3
133-
uses: ./.github/workflows/acceptance-workflow.yml
134-
with:
135-
testfilter: ws_batch3
136-
test_ws_server: true
137-
secrets:
138-
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
139-
140-
cacheservice:
141-
name: Cache Service
142-
uses: ./.github/workflows/acceptance-workflow.yml
143-
with:
144-
testfilter: cache-service
145-
secrets:
146-
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
147-
148-
server-config:
149-
name: Server Config
150-
uses: ./.github/workflows/acceptance-workflow.yml
151-
with:
152-
testfilter: serverconfig
15+
acceptance_tests:
16+
name: ${{ matrix.test.name }}
17+
strategy:
18+
fail-fast: false
19+
max-parallel: 6
20+
matrix:
21+
test:
22+
- { name: 'API Batch 1', testfilter: 'api_batch1' }
23+
- { name: 'API Batch 2', testfilter: 'api_batch2' }
24+
- { name: 'API Batch 3', testfilter: 'api_batch3' }
25+
- { name: 'ERC20', testfilter: 'erc20' }
26+
- { name: 'Rate Limiter', testfilter: 'ratelimiter', test_ws_server: true }
27+
- { name: 'HBar Limiter Batch 1', testfilter: 'hbarlimiter_batch1' }
28+
- { name: 'HBar Limiter Batch 2', testfilter: 'hbarlimiter_batch2' }
29+
- { name: 'HBar Limiter Batch 3', testfilter: 'hbarlimiter_batch3' }
30+
- { name: 'Token Create', testfilter: 'tokencreate' }
31+
- { name: 'Token Management', testfilter: 'tokenmanagement' }
32+
- { name: 'Precompile', testfilter: 'htsprecompilev1' }
33+
- { name: 'Precompile Calls', testfilter: 'precompile-calls' }
34+
- { name: 'Websocket Batch 1', testfilter: 'ws_batch1', test_ws_server: true }
35+
- { name: 'Websocket Batch 2', testfilter: 'ws_batch2', test_ws_server: true }
36+
- { name: 'Websocket Batch 3', testfilter: 'ws_batch3', test_ws_server: true }
37+
- { name: 'Cache Service', testfilter: 'cache-service' }
38+
- { name: 'Server Config', testfilter: 'serverconfig' }
39+
uses: ./.github/workflows/acceptance-workflow.yml
40+
with:
41+
testfilter: ${{ matrix.test.testfilter }}
42+
test_ws_server: ${{ matrix.test.test_ws_server || false }}
15343
secrets:
15444
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
15545

15646
publish_results:
15747
name: Publish Results
15848
if: ${{ !cancelled() }}
159-
needs:
160-
- api_batch_1
161-
- api_batch_2
162-
- api_batch_3
163-
- erc20
164-
- ratelimiter
165-
- hbarlimiter_batch_1
166-
- hbarlimiter_batch_2
167-
- hbarlimiter_batch_3
168-
- tokencreate
169-
- tokenmanagement
170-
- htsprecompilev1
171-
- precompilecalls
172-
- websocket-batch-1
173-
- websocket-batch-2
174-
- websocket-batch-3
175-
- cacheservice
176-
49+
needs: [acceptance_tests]
17750
runs-on: hiero-smart-contracts-linux-medium
17851
steps:
17952
- name: Harden Runner
@@ -190,7 +63,6 @@ jobs:
19063
- name: Publish Test Report
19164
uses: step-security/publish-unit-test-result-action@4519d7c9f71dd765f8bbb98626268780f23bab28 # v2.17.0
19265
with:
193-
# check_name: Acceptance Tests
19466
check_name: '' # Set to empty to disable check run
19567
json_thousands_separator: ','
19668
files: 'test-*.xml'

packages/server/tests/localAcceptance.env

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ LIMIT_DURATION=90000
2828
SERVER_REQUEST_TIMEOUT_MS=60000
2929
MEMWATCH_ENABLED=true
3030
WRITE_SNAPSHOT_ON_MEMORY_LEAK=false
31-
HBAR_RATE_LIMIT_TINYBAR=9000000000# 90 HBARs
31+
HBAR_RATE_LIMIT_TINYBAR=30000000000# 300 HBARs
3232
HBAR_RATE_LIMIT_DURATION=86400000# 24 hours
3333
HBAR_RATE_LIMIT_BASIC=6000000000# 60 HBARs
3434
HBAR_SPENDING_PLANS_CONFIG_FILE=./packages/server/tests/testSpendingPlansConfig.json
35-
USE_ASYNC_TX_PROCESSING=true
35+
USE_ASYNC_TX_PROCESSING=false

0 commit comments

Comments
 (0)