summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorLuca Casonato <hello@lcas.dev>2021-06-14 13:48:57 +0200
committerGitHub <noreply@github.com>2021-06-14 13:48:57 +0200
commitd837445e44c9ed5c29901813d73818f84e97b294 (patch)
treeda40539191c48bee852b7b500f070558db00307e /.github
parenta6f1edd9533ae52f6d7c4841c395a34021dbdb71 (diff)
build: add wpt epoch/daily run (#10937)
This adds a daily scheduled CI pipeline that runs WPT tests against the most recent epochs/daily every night. Results are uploaded to wpt.fyi. WPTs are run on all supported platforms, on both stable and canary.
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/wpt_epoch.yml69
1 files changed, 69 insertions, 0 deletions
diff --git a/.github/workflows/wpt_epoch.yml b/.github/workflows/wpt_epoch.yml
new file mode 100644
index 000000000..992d69d00
--- /dev/null
+++ b/.github/workflows/wpt_epoch.yml
@@ -0,0 +1,69 @@
+# This CI job runs every night and tests all versions of Deno (canary and latest
+# stable) across all OSes we support against the `epochs/daily` branch of WPT.
+
+name: wpt_epoch
+
+on:
+ schedule:
+ # Every night at 0:30 UTC. This is 20 minutes after `epochs/daily` branch is
+ # triggered to be created in WPT repo.
+ - cron: 30 0 * * *
+ workflow_dispatch:
+
+jobs:
+ wpt:
+ name: wpt / ${{ matrix.os }} / ${{ matrix.deno-version }}
+ runs-on: ${{ matrix.os }}
+ timeout-minutes: 30
+ strategy:
+ fail-fast: false
+ matrix:
+ deno-version: [v1.x, canary]
+ os: [macOS-latest, ubuntu-latest-xl, windows-2019]
+
+ steps:
+ - name: Clone repository
+ uses: actions/checkout@v2
+ with:
+ submodules: true
+ persist-credentials: false
+
+ - name: Setup Deno
+ uses: denoland/setup-deno@v1
+ with:
+ deno-version: ${{ matrix.deno-version }}
+
+ - name: Install Python
+ uses: actions/setup-python@v1
+ with:
+ python-version: "3.8"
+ architecture: x64
+
+ - name: Log versions
+ run: |
+ python --version
+ deno --version
+
+ - name: Switch WPT submodule to epochs/daily
+ working-directory: test_util/wpt/
+ run: git reset origin/epochs/daily --hard
+
+ - name: Configure hosts file for WPT (unix)
+ if: runner.os != 'Windows'
+ working-directory: test_util/wpt/
+ run: ./wpt make-hosts-file | sudo tee -a /etc/hosts
+
+ - name: Configure hosts file for WPT (windows)
+ if: runner.os == 'Windows'
+ working-directory: test_util/wpt/
+ run: python wpt make-hosts-file | Out-File $env:SystemRoot\System32\drivers\etc\hosts -Encoding ascii -Append
+
+ - name: Run web platform tests
+ shell: bash
+ run: |
+ deno run --unstable --allow-write --allow-read --allow-net --allow-env --allow-run ./tools/wpt.ts setup
+ deno run --unstable --allow-write --allow-read --allow-net --allow-env --allow-run ./tools/wpt.ts run --binary=(which deno) --quiet --release --json=wpt.json --wptreport=wptreport.json || true
+
+ - name: Upload wpt results to wpt.fyi
+ run: |
+ deno run -A ./tools/upload_wptfyi.js wptreport.json --from-raw-file