Tự động hoá test OTP trong CI/CD với GitHub Actions
Khi test luồng đăng ký có bước OTP, bạn cần một inbox thật trong lúc CI chạy. Mailtr API cung cấp inbox theo yêu cầu, nên việc đưa test này vào GitHub Actions khá đơn giản.
Bước 1: Lưu API key vào Secrets
Trong repo, vào Settings → Secrets and variables → Actions, thêm secret tên MAILTR_KEY. Không bao giờ commit key vào mã nguồn.
Bước 2: Workflow mẫu
Workflow cài phụ thuộc, truyền key qua biến môi trường rồi chạy test E2E:
name: e2e
on: [push]
jobs:
test:
runs-on: ubuntu-latest
env:
MAILTR_KEY: ${{ secrets.MAILTR_KEY }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npm ci
- run: npx playwright install --with-deps
- run: npm run test:e2e Bước 3: Trong test lấy OTP
Test đọc MAILTR_KEY từ env, tạo inbox và poll lấy OTP (xem bài Playwright/Cypress để có helper). Mỗi lần CI chạy là một lần kiểm thử luồng đăng ký thật.
Lưu ý vận hành
Mỗi test nên tạo inbox riêng để tránh nhiễu khi chạy song song. Theo dõi quota gói API và nâng gói nếu pipeline chạy dày.