8
8
ignore-scripts :
9
9
type : boolean
10
10
default : false
11
+ protocol :
12
+ # RPC, WS
13
+ type : string
14
+ node :
15
+ # Juno, Pathfinder
16
+ type : string
17
+ version :
18
+ # vX_Y
19
+ type : string
11
20
secrets :
12
- TEST_RPC_URL :
21
+ TEST_NODE_URL :
22
+ required : false
23
+ TEST_WS_JUNO :
13
24
required : false
14
25
TEST_ACCOUNT_PRIVATE_KEY :
15
26
required : false
@@ -29,12 +40,15 @@ jobs:
29
40
- 5050:5050
30
41
31
42
env :
32
- TEST_RPC_URL : ${{ secrets.TEST_RPC_URL }}
43
+ PROTOCOL : ${{ inputs.protocol == 'WS' && 'wss' || 'https' }}
44
+ NODE : ${{ inputs.node == 'Juno' && 'juno' || inputs.node == 'Pathfinder' && 'pathfinder' || '' }}
45
+ VERSION : ${{ inputs.version }}
46
+
47
+ NODE_URL : ${{ secrets.TEST_NODE_URL }}
33
48
TEST_ACCOUNT_PRIVATE_KEY : ${{ secrets.TEST_ACCOUNT_PRIVATE_KEY }}
34
49
TEST_ACCOUNT_ADDRESS : ${{ secrets.TEST_ACCOUNT_ADDRESS }}
35
50
36
51
steps :
37
- - run : echo ${{ secrets.TEST_RPC_URL }}
38
52
- uses : actions/checkout@v4
39
53
- uses : actions/setup-node@v4
40
54
with :
43
57
- run : npm ci --ignore-scripts
44
58
- run : npm run pretest && npm run posttest
45
59
if : ${{ !inputs.ignore-scripts }}
46
- - run : npm run test:coverage
60
+ - id : env-modification
61
+ name : env modification
62
+ run : |
63
+ echo "::add-mask::$FORMATED_URL"
64
+ echo "NODE_URL=$FORMATED_URL" >> "$GITHUB_OUTPUT"
65
+ env :
66
+ FORMATED_URL : ${{ format(env.NODE_URL, env.PROTOCOL, env.NODE, env.VERSION) }}
67
+ - id : run-tests
68
+ name : run tests
69
+ run : |
70
+ args=()
71
+ [[ "${{ inputs.protocol }}" == "WS" ]] && args+=( '__tests__/WebSocket' )
72
+ npm run test:coverage "${args[@]}"
73
+ env :
74
+ TEST_RPC_URL : ${{ inputs.protocol != 'WS' && steps.env-modification.outputs.NODE_URL || null }}
75
+ TEST_WS_URL : ${{ inputs.protocol == 'WS' && (env.NODE == 'juno' && secrets.TEST_WS_JUNO || steps.env-modification.outputs.NODE_URL) || null }}
76
+ TEST_ACCOUNT_PRIVATE_KEY : ${{ secrets.TEST_ACCOUNT_PRIVATE_KEY }}
77
+ TEST_ACCOUNT_ADDRESS : ${{ secrets.TEST_ACCOUNT_ADDRESS }}
0 commit comments