Skip to content

Extracts and outputs the Playwright version from a project's lockfile

License

Notifications You must be signed in to change notification settings

eviden-actions/get-playwright-version

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

get-playwright-version

This parses the your project's lockfile and returns the installed playwright version. Supported are package-lock.json (NPM), yarn.lock (Yarn 1), and pnpm-lock.yaml (PNPM).

If you are using the Playwright Docker Image in your CI, Playwright strongly recommends using a versioned tag. This action can help you make sure your project's Playwright version matches the Playwright Docker Image version.

Release

Prerequisites

Define whatever your action needs to run here

Usage

name: Playwright Tests
on:
  push:
    branches: [ main ]

jobs:
  read-playwright-version:
    name: 'Read Playwright Version'
    runs-on: ubuntu-latest
    inputs:
      no-version-found: 'error'
    outputs:
      playwright-version: ${{ steps.get_playwright_version.outputs.playwright-version }}
    steps:
      - uses: actions/checkout@v4
      - id: get_playwright_version
				uses: eviden-actions/get-playwright-version@v1

  playwright:
    name: 'Run Playwright Tests'
    runs-on: ubuntu-latest
    needs: read-playwright-version
    container:
      image: mcr.microsoft.com/playwright:${{ needs.read-playwright-version.outputs.playwright-version }}-noble
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
      - name: Install dependencies
        run: npm ci
      - name: Run your tests
        run: npx playwright test
        env:
          HOME: /root

Inputs

Name Description Default
no-version-found The message level when no Playwright version is found (error, warning, info) error

Outputs

Name Description Example
playwright-version The playwright version from the package-lock.json v1.47.1

Sources

Thanks to @mxschmitt for coming up with the workflow this action is based on.