38 lines
1.4 KiB
Markdown
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.
|