-
Notifications
You must be signed in to change notification settings - Fork 25
175 lines (139 loc) · 5.46 KB
/
pr.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
name: PR
on:
pull_request:
branches:
- '**'
merge_group:
branches:
- main
permissions:
pull-requests: read
env:
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.TS_IMMUTABLE_SDK_NX_TOKEN }}
jobs:
title-validation:
name: Validate PR title
runs-on: ubuntu-latest
steps:
- uses: amannn/action-semantic-pull-request@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
requireScope: true
syncpack:
name: Syncpack
runs-on: ubuntu-latest-4-cores
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.ref }}
fetch-depth: 0
- name: setup
uses: ./.github/actions/setup
- name: Syncpack
run: pnpm syncpack:check
build-lint-test-sdk:
name: Build, Lint & Test SDK
runs-on: ubuntu-latest-8-cores
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.ref }}
fetch-depth: 0
- name: setup
uses: ./.github/actions/setup
- name: Build, Lint & Test
run: pnpm --if-present nx affected -t build,lint,test
build-lint-test-examples:
name: Build, Lint & Test Examples
runs-on: ubuntu-latest-8-cores
env:
NODE_OPTIONS: --max-old-space-size=14366
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.ref }}
fetch-depth: 0
- name: Setup
uses: ./.github/actions/setup
- name: Build SDK
run: pnpm build
- name: Prepare SDK
run: pnpm prepare:sdk
- name: Prepare examples
run: pnpm prepare:examples
- name: Update modules
run: pnpm install --frozen-lockfile=false
- name: Build examples
run: pnpm build:examples
- name: Lint examples
run: pnpm lint:examples
- name: Setup playwright
uses: ./.github/actions/setup-playwright
# Temporary disabled until we can release v2, since the tests are failing due to breaking changes
# - name: Prepare Checkout SDK bundle for @examples/commerce-widget-nextjs
# run: pnpm --filter @imtbl/checkout-sdk prepare:examplesdk
# - name: Prepare widgets bundle for @examples/commerce-widget-nextjs
# run: pnpm --filter @imtbl/checkout-widgets prepare:examplewidgets
- name: Test examples
run: pnpm test:examples
func-tests:
name: Functional tests
runs-on: ubuntu-latest-8-cores
env:
# imx envs
NETWORK: sepolia
TEST_ALCHEMY_API_KEY: ${{ secrets.TEST_ALCHEMY_API_KEY }}
PUBLIC_API_URL: "https://api.sandbox.x.immutable.com/v1"
TEST_STARK_CONTRACT_ADDRESS: "0x2d5C349fD8464DA06a3f90b4B0E9195F3d1b7F98"
TEST_REGISTRATION_CONTRACT_ADDRESS: "0xDbA6129C02E69405622fAdc3d5A7f8d23eac3b97"
TEST_TOKEN_ADDRESS: "0xfA5539fBEd27887EEbb2515672D80412D1A3ADa3"
TEST_WALLET1_PRIVATE_KEY: ${{ secrets.TEST_WALLET1_PRIVATE_KEY }}
TEST_WALLET1_STARK_PRIVATE_KEY: ${{ secrets.TEST_WALLET1_STARK_PRIVATE_KEY }}
TEST_WALLET2_PRIVATE_KEY: ${{ secrets.TEST_WALLET2_PRIVATE_KEY }}
TEST_WALLET2_STARK_PRIVATE_KEY: ${{ secrets.TEST_WALLET2_STARK_PRIVATE_KEY }}
TEST_WALLET_BANKER_PRIVATE_KEY: ${{ secrets.TEST_WALLET_BANKER_PRIVATE_KEY }}
TEST_WALLET_BANKER_STARK_PRIVATE_KEY: ${{ secrets.TEST_WALLET_BANKER_STARK_PRIVATE_KEY }}
TEST_STARKEX_BATCH_SIZE: 500
# zkevm envs
ZKEVM_ORDERBOOK_BANKER: ${{ secrets.ZKEVM_ORDERBOOK_BANKER }}
ZKEVM_ORDERBOOK_ERC20: "0x70dCEF6C22F50497eafc77D252E8E175af21bF75"
ZKEVM_ORDERBOOK_ERC721: "0xBE8B131f39825282Ace9eFf99C0Bb14972417b49"
ZKEVM_ORDERBOOK_ERC1155: "0x2efB9B7810B1d1520c0822aa20F1889ABd2c2146"
SEAPORT_CONTRACT_ADDRESS: "0x7d117aA8BD6D31c4fa91722f246388f38ab1942c"
ZONE_CONTRACT_ADDRESS: "0x1004f9615E79462c711Ff05a386BdbA91a7628C3"
ZKEVM_RPC_ENDPOINT: "https://rpc.testnet.immutable.com"
ORDERBOOK_MR_API_URL: "https://api.sandbox.immutable.com"
ZKEVM_CHAIN_NAME: "imtbl-zkevm-testnet"
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.ref }}
fetch-depth: 0
- name: setup
uses: ./.github/actions/setup
- name: Build SDK
run: pnpm build
- name: Prepare SDK
run: pnpm prepare:sdk
- name: Prepare tests
run: pnpm prepare:tests
# Temporary disabled until we can release v2, since the tests are failing due to breaking changes
# - name: Install SDK at current version for @tests/checkout-widgets-nextjs
# run: pnpm --filter @tests/checkout-widgets-nextjs add @imtbl/sdk@$(npm view @imtbl/sdk version)
# - name: Build @tests/checkout-widgets-nextjs
# run: pnpm --filter @tests/checkout-widgets-nextjs build
# - name: Prepare Checkout SDK bundle for @tests/checkout-widgets-nextjs
# run: pnpm --filter @imtbl/checkout-sdk prepare:testsdk
# - name: Prepare widgets bundle for @tests/checkout-widgets-nextjs
# run: pnpm --filter @imtbl/checkout-widgets prepare:testwidgets
- name: Update modules
run: pnpm install --frozen-lockfile=false
- name: Setup playwright
uses: ./.github/actions/setup-playwright
- name: Run functional tests
run: pnpm --filter "@tests/*" --parallel func-test:ci