shared-actions/playwright-e2e/README.md

38 lines
1.4 KiB
Markdown

# playwright-e2e
Run Playwright E2E tests with optional sharding, upload results to S3.
## Inputs
| Input | Required | Default | Description |
|-------|----------|---------|-------------|
| `jfrog-token` | Yes | | JFrog npm auth token |
| `s3-reports-bucket` | Yes | | S3 bucket for report upload |
| `s3-reports-prefix` | Yes | | S3 path prefix |
| `aws-role-arn` | Yes | | IAM role ARN for OIDC authentication |
| `working-directory` | No | `e2e` | Directory containing Playwright config |
| `playwright-version` | No | `v1.58.2` | Playwright version tag for browser cache key |
| `pnpm-version` | No | `10.11` | pnpm version |
| `shard-index` | No | `1` | Current shard (1-based) |
| `shard-total` | No | `1` | Total shards. 1 = no sharding |
| `aws-profile` | No | `stage` | AWS CLI profile name |
| `extra-deps` | No | `""` | Space-separated apt packages to install |
## Usage
```yaml
- uses: schmalz/shared-actions/.github/actions/playwright-e2e@v1
with:
jfrog-token: ${{ secrets.JFROG_TOKEN }}
s3-reports-bucket: my-reports-bucket
s3-reports-prefix: pr-${{ github.event.number }}
aws-role-arn: ${{ secrets.AWS_ROLE_ARN }}
shard-index: "1"
shard-total: "4"
```
## Notes
- Playwright browsers are cached between runs using the `playwright-version` input as cache key.
- Reports are uploaded to `s3://<bucket>/<prefix>/shard-<index>/`.
- Uses JFrog Artifactory as the npm registry for dependency installation.