aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows/pull-request-wpt-export.yml
blob: 49adcdd0b5a07ab3728fa943d469e24b3d30d304 (plain) (blame)
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
name: Pull request (WPT export)
on:
  pull_request_target:
    types: ['opened', 'synchronize', 'reopened', 'edited', 'closed']

jobs:
  upstream:
    # Run job only on servo/servo
    if: github.repository == 'servo/servo'
    runs-on: ubuntu-latest
    steps:
      - name: Calculate PR fetch depth
        run: echo "PR_FETCH_DEPTH=$(( ${{ github.event.pull_request.commits }} + 1 ))" >> "${GITHUB_ENV}"
      - name: Check out shallow servo PR
        run: |
          mkdir servo
          cd servo
          git init -b main
          git remote add origin ${{ github.event.repository.clone_url}}
          git fetch origin pull/${{ github.event.pull_request.number}}/head:pr --depth ${{ env.PR_FETCH_DEPTH }}
          git fetch origin master:master --depth 1
          git checkout master
      - name: Check out wpt
        uses: actions/checkout@v3
        with:
          path: wpt
          repository: 'web-platform-tests/wpt'
          # The token here must be the token that we will use to push to the
          # WPT repository and not the token used for GitHub actions, because
          # the checkout action sets up an `extraheader` authorization override
          # using the token specified here.
          # See https://github.com/actions/checkout/issues/162.
          token: ${{ secrets.WPT_SYNC_TOKEN }}
      - name: Install requirements
        run: pip install -r servo/python/wpt/requirements.txt
      - name: Process pull request
        run: servo/python/wpt/export.py
        env:
          GITHUB_CONTEXT: ${{ toJson(github) }}
          WPT_SYNC_TOKEN: ${{ secrets.WPT_SYNC_TOKEN }}