GitHub Actions
Add your API key as a repository secret:
- Go to Settings → Secrets and variables → Actions
- Click New repository secret
- Name:
INBOXICAL_API_KEY, Value:ixk_live_...
Basic workflow
Section titled “Basic workflow”name: Test
on: push: branches: [main] pull_request:
jobs: test: runs-on: ubuntu-latest
steps: - uses: actions/checkout@v4
- uses: actions/setup-node@v4 with: node-version: 22 cache: npm
- run: npm ci
- run: npm test env: INBOXICAL_API_KEY: ${{ secrets.INBOXICAL_API_KEY }}Parallel matrix
Section titled “Parallel matrix”Run your test suite in parallel shards — each job gets its own inboxes, no interference:
jobs: test: runs-on: ubuntu-latest strategy: matrix: shard: [1, 2, 3, 4]
steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 22 cache: npm - run: npm ci - run: npx jest --shard=${{ matrix.shard }}/4 env: INBOXICAL_API_KEY: ${{ secrets.INBOXICAL_API_KEY }}With Playwright
Section titled “With Playwright”jobs: e2e: runs-on: ubuntu-latest
steps: - uses: actions/checkout@v4
- uses: actions/setup-node@v4 with: node-version: 22 cache: npm
- run: npm ci - run: npx playwright install --with-deps chromium
- run: npm run build && npm start & name: Start app
- run: npx playwright test env: INBOXICAL_API_KEY: ${{ secrets.INBOXICAL_API_KEY }}
- uses: actions/upload-artifact@v4 if: failure() with: name: playwright-report path: playwright-report/- Never log
INBOXICAL_API_KEYin CI output - Use
if: always()on cleanup steps to delete inboxes even when tests fail - Consider a separate
INBOXICAL_API_KEY_CIkey for CI so you can revoke it independently