Skip to content

Roll Next

Roll Next #385

Workflow file for this run

name: Roll Next
on:
workflow_dispatch:
schedule:
# Every weekday at 10:05 UTC (Monday to Friday)
- cron: "5 10 * * 1-5"
jobs:
roll-docs:
name: Roll Playwright to ToT
runs-on: ubuntu-24.04
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4
with:
repository: 'microsoft/playwright'
path: playwright
- uses: actions/setup-node@v4
with:
node-version: 22
- name: Install dependencies
run: npm ci
- name: Roll
run: npm run roll
env:
SRC_DIR: ./playwright
- name: Prepare branch
id: prepare-branch
run: |
BRANCH_NAME="roll/next-$(date +"%d-%m-%y")"
set +e
git diff -s --exit-code
HAS_CHANGES="$?"
set -e
GIT_COMMIT="$(cd playwright && git rev-parse HEAD && cd ..)"
echo "HAS_CHANGES=$HAS_CHANGES" >> $GITHUB_OUTPUT
echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_OUTPUT
echo "GIT_COMMIT=$GIT_COMMIT" >> $GITHUB_OUTPUT
if [[ $HAS_CHANGES == 0 ]]; then
echo "No changes detected, skipping PR"
exit 0
fi
git config --global user.name microsoft-playwright-automation[bot]
git config --global user.email 203992400+microsoft-playwright-automation[bot]@users.noreply.github.com
git checkout -b "$BRANCH_NAME"
git add .
git commit -m "feat(roll): roll to ToT Playwright ($(date +"%d-%m-%y"))"
git push origin $BRANCH_NAME --force
- uses: actions/create-github-app-token@v1
id: app-token
with:
app-id: ${{ vars.PLAYWRIGHT_APP_ID }}
private-key: ${{ secrets.PLAYWRIGHT_PRIVATE_KEY }}
- name: Create Pull Request
uses: actions/github-script@v7
if: ${{ steps.prepare-branch.outputs.HAS_CHANGES == '1' }}
with:
github-token: ${{ steps.app-token.outputs.token }}
script: |
await github.rest.pulls.create({
owner: 'microsoft',
repo: 'playwright.dev',
head: 'microsoft:${{ steps.prepare-branch.outputs.BRANCH_NAME }}',
base: 'main',
title: 'feat(roll): roll to ToT Playwright (${{ steps.prepare-branch.outputs.BRANCH_NAME }})',
body: 'Upstream commit: https://github.com/microsoft/playwright/commit/${{ steps.prepare-branch.outputs.GIT_COMMIT }}',
});