summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/.github/workflows
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/.github/workflows')
-rw-r--r--testing/web-platform/tests/.github/workflows/documentation.yml40
-rw-r--r--testing/web-platform/tests/.github/workflows/epochs.yml20
-rw-r--r--testing/web-platform/tests/.github/workflows/interfaces.yml33
-rw-r--r--testing/web-platform/tests/.github/workflows/manifest.yml30
-rw-r--r--testing/web-platform/tests/.github/workflows/regen_certs.yml37
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