diff options
Diffstat (limited to 'testing/web-platform/tests/.github/workflows')
5 files changed, 160 insertions, 0 deletions
diff --git a/testing/web-platform/tests/.github/workflows/documentation.yml b/testing/web-platform/tests/.github/workflows/documentation.yml new file mode 100644 index 0000000000..14c52ebc40 --- /dev/null +++ b/testing/web-platform/tests/.github/workflows/documentation.yml @@ -0,0 +1,40 @@ +name: documentation +on: + push: + branches: + - master + paths: + - 'docs/**' + - 'resources/**' + - 'tools/**' + pull_request: + paths: + - 'docs/**' + - 'resources/**' + - 'tools/**' +jobs: + build-and-publish: + runs-on: ubuntu-20.04 + steps: + - name: Set up Python + uses: actions/setup-python@v4 + with: + # Documentation is generated using Python 3.9 due to spinx-js not + # supporting 3.10: https://github.com/mozilla/sphinx-js/issues/186 + python-version: '3.9' + - name: Set up Node + uses: actions/setup-node@v3 + with: + node-version: '14' + - name: Set up Virtualenv + run: pip install virtualenv + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 50 + - name: Run website_build.sh + # Use a conditional step instead of a conditional job to work around #20700. + if: github.repository == 'web-platform-tests/wpt' + run: ./tools/ci/website_build.sh + env: + DEPLOY_TOKEN: ${{ secrets.DEPLOY_TOKEN }} diff --git a/testing/web-platform/tests/.github/workflows/epochs.yml b/testing/web-platform/tests/.github/workflows/epochs.yml new file mode 100644 index 0000000000..a9590cbc87 --- /dev/null +++ b/testing/web-platform/tests/.github/workflows/epochs.yml @@ -0,0 +1,20 @@ +name: epochs +on: + schedule: + # Trigger 10 minutes past every 3rd hour. 10 minutes is a safety margin + # for any manifest workflow to finish, see tools/wpt/revlist.py. + - cron: 10 */3 * * * +jobs: + update: + runs-on: ubuntu-20.04 + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Run epochs_update.sh + # Use a conditional step instead of a conditional job to work around #20700. + if: github.repository == 'web-platform-tests/wpt' + run: ./tools/ci/epochs_update.sh + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/testing/web-platform/tests/.github/workflows/interfaces.yml b/testing/web-platform/tests/.github/workflows/interfaces.yml new file mode 100644 index 0000000000..91aecaa12f --- /dev/null +++ b/testing/web-platform/tests/.github/workflows/interfaces.yml @@ -0,0 +1,33 @@ +name: interfaces +on: + # Trigger at every UTC noon, or manually. + schedule: + - cron: 0 12 * * * + workflow_dispatch: +jobs: + update: + runs-on: ubuntu-20.04 + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Run interfaces_update.sh + run: ./tools/ci/interfaces_update.sh + - name: Create pull request + # Use a conditional step instead of a conditional job to work around #20700. + if: github.repository == 'web-platform-tests/wpt' + uses: peter-evans/create-pull-request@v4 + with: + token: ${{ secrets.GITHUB_TOKEN }} + author: wpt-pr-bot <wpt-pr-bot@users.noreply.github.com> + # env.webref_idl_version is set by interfaces_update.sh + title: "Sync interfaces/ with @webref/idl ${{ env.webref_idl_version }}" + commit-message: "Sync interfaces/ with @webref/idl ${{ env.webref_idl_version }}" + body: | + This automated pull request updates interfaces/*.idl from [@webref/idl ${{ env.webref_idl_version }}](https://www.npmjs.com/package/@webref/idl/v/${{ env.webref_idl_version }}). + + Before merging, please check that any tests that depend on the updated IDL files still work. In particular, check for **gray boxes as the wpt.fyi check status**, which usually means that some tests have regressed. + + If additional changes are needed, please manually create another PR based on this one. + + See the [workflow](https://github.com/web-platform-tests/wpt/blob/master/.github/workflows/interfaces.yml) for how this pull request was created, and the [README](https://github.com/web-platform-tests/wpt/blob/master/interfaces/README.md) for how the IDL files in this directory are used. + branch: actions/update-idl diff --git a/testing/web-platform/tests/.github/workflows/manifest.yml b/testing/web-platform/tests/.github/workflows/manifest.yml new file mode 100644 index 0000000000..457861edec --- /dev/null +++ b/testing/web-platform/tests/.github/workflows/manifest.yml @@ -0,0 +1,30 @@ +name: manifest +on: + push: + branches: + - master + pull_request: + paths: + - 'tools/**' +jobs: + build-and-tag: + runs-on: ubuntu-20.04 + steps: + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.10' + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 50 + - name: Install dependencies + run: | + sudo apt-get -qqy install zstd + pip install -r tools/wpt/requirements.txt + - name: Run manifest_build.py + # Use a conditional step instead of a conditional job to work around #20700. + if: github.repository == 'web-platform-tests/wpt' + run: tools/docker/retry.py --delay 60 python tools/ci/manifest_build.py + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/testing/web-platform/tests/.github/workflows/regen_certs.yml b/testing/web-platform/tests/.github/workflows/regen_certs.yml new file mode 100644 index 0000000000..4e29171ff2 --- /dev/null +++ b/testing/web-platform/tests/.github/workflows/regen_certs.yml @@ -0,0 +1,37 @@ +name: certificates +on: + # Our certificates are good for ~1 year, but we regenerate them every + # month to be sure. Also support manually triggering the workflow. + schedule: + - cron: 0 0 12 * * + workflow_dispatch: +jobs: + update: + runs-on: ubuntu-20.04 + steps: + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.10' + - name: Checkout + uses: actions/checkout@v3 + - name: Regenerate certs + # Use a conditional step instead of a conditional job to work around #20700. + if: github.repository == 'web-platform-tests/wpt' + run: | + python wpt make-hosts-file | sudo tee -a /etc/hosts + python wpt regen-certs --force + - name: Commit and create pull request + # Use a conditional step instead of a conditional job to work around #20700. + if: github.repository == 'web-platform-tests/wpt' + uses: peter-evans/create-pull-request@v4 + with: + token: ${{ secrets.GITHUB_TOKEN }} + author: wpt-pr-bot <wpt-pr-bot@users.noreply.github.com> + commit-message: Automated regeneration of WPT certificates + title: Regenerate WPT certificates + body: | + This automated pull request renews the core WPT certificates. + + See the [workflow](https://github.com/web-platform-tests/wpt/blob/master/.github/workflows/regen_certs.yml) for how this pull request was created. + branch: actions/regen-certs |