Roll Next #385
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 }}', | |
| }); |