๐Ÿ“ฆ microsoft / playwright

๐Ÿ“„ roll_stable_test_runner.yml ยท 59 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59name: "PR: bump stable-test-runner"
on:
  workflow_dispatch:
  schedule:
    # At 10:00am UTC  (3AM PST) every Monday
    - cron: "0 10 * * 1"
jobs:
  trigger-roll:
    name: Trigger Roll
    runs-on: ubuntu-24.04
    if: github.repository == 'microsoft/playwright'
    permissions:
      contents: write
    steps:
      - uses: actions/checkout@v6
      - uses: actions/setup-node@v6
        with:
          node-version: 22
      - run: |
          npm install @playwright/test@next
          VERSION=$(node -e "console.log(require('./package.json').dependencies['@playwright/test'].replace('^', ''))")
          echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
        working-directory: tests/playwright-test/stable-test-runner/
        id: bump
      - name: Prepare branch
        id: prepare-branch
        run: |
          if [[ "$(git status --porcelain)" == "" ]]; then
              echo "there are no changes";
              exit 0;
          fi
          echo "HAS_CHANGES=1" >> $GITHUB_OUTPUT
          BRANCH_NAME="roll-stable-test-runner/$(date +%Y-%b-%d)"
          echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_OUTPUT
          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 "test: roll stable-test-runner to ${{ steps.bump.outputs.VERSION }}"
          git push origin $BRANCH_NAME
      - uses: actions/create-github-app-token@v2
        id: app-token
        with:
          app-id: ${{ vars.PLAYWRIGHT_APP_ID }}
          private-key: ${{ secrets.PLAYWRIGHT_PRIVATE_KEY }}
      - name: Create Pull Request
        if: ${{ steps.prepare-branch.outputs.HAS_CHANGES == '1' }}
        uses: actions/github-script@v8
        with:
          github-token: ${{ steps.app-token.outputs.token }}
          script: |
            await github.rest.pulls.create({
              owner: 'microsoft',
              repo: 'playwright',
              head: 'microsoft:${{ steps.prepare-branch.outputs.BRANCH_NAME }}',
              base: 'main',
              title: 'test: roll stable-test-runner to ${{ steps.bump.outputs.VERSION }}',
            });