2021-06-14 07:48:57 -04:00
|
|
|
# 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 }}
|
2021-12-19 22:00:42 -05:00
|
|
|
if: github.repository == 'denoland/deno'
|
2021-06-14 07:48:57 -04:00
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
timeout-minutes: 30
|
|
|
|
strategy:
|
|
|
|
fail-fast: false
|
|
|
|
matrix:
|
|
|
|
deno-version: [v1.x, canary]
|
2023-03-31 23:05:31 -04:00
|
|
|
os: [ubuntu-22.04-xl]
|
2021-06-14 07:48:57 -04:00
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: Clone repository
|
2024-02-06 16:47:44 -05:00
|
|
|
uses: actions/checkout@v4
|
2021-06-14 07:48:57 -04:00
|
|
|
with:
|
|
|
|
submodules: true
|
|
|
|
persist-credentials: false
|
|
|
|
|
|
|
|
- name: Setup Deno
|
|
|
|
uses: denoland/setup-deno@v1
|
|
|
|
with:
|
|
|
|
deno-version: ${{ matrix.deno-version }}
|
|
|
|
|
|
|
|
- name: Install Python
|
2024-02-23 09:51:10 -05:00
|
|
|
uses: actions/setup-python@v5
|
2021-06-14 07:48:57 -04:00
|
|
|
with:
|
2023-01-26 06:22:32 -05:00
|
|
|
python-version: "3.11"
|
2021-06-14 07:48:57 -04:00
|
|
|
|
|
|
|
- name: Log versions
|
|
|
|
run: |
|
|
|
|
python --version
|
|
|
|
deno --version
|
|
|
|
|
|
|
|
- name: Switch WPT submodule to epochs/daily
|
2024-02-15 22:32:28 -05:00
|
|
|
working-directory: tests/wpt/suite/
|
2021-06-14 14:57:02 -04:00
|
|
|
shell: bash
|
|
|
|
run: |
|
|
|
|
git remote set-branches origin '*'
|
|
|
|
git fetch origin
|
2021-06-16 08:19:44 -04:00
|
|
|
git checkout $(./wpt rev-list --epoch 1d)
|
2021-06-14 14:57:02 -04:00
|
|
|
git checkout -b epochs/daily
|
2021-06-14 07:48:57 -04:00
|
|
|
|
|
|
|
- name: Configure hosts file for WPT (unix)
|
|
|
|
if: runner.os != 'Windows'
|
2024-02-15 22:32:28 -05:00
|
|
|
working-directory: tests/wpt/suite/
|
2021-06-14 07:48:57 -04:00
|
|
|
run: ./wpt make-hosts-file | sudo tee -a /etc/hosts
|
|
|
|
|
|
|
|
- name: Configure hosts file for WPT (windows)
|
|
|
|
if: runner.os == 'Windows'
|
2024-02-15 22:32:28 -05:00
|
|
|
working-directory: tests/wpt/suite/
|
2021-06-14 07:48:57 -04:00
|
|
|
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: |
|
2022-04-13 12:51:16 -04:00
|
|
|
deno run --unstable --allow-write --allow-read --allow-net \
|
|
|
|
--allow-env --allow-run --lock=tools/deno.lock.json \
|
2024-03-06 16:59:30 -05:00
|
|
|
./tests/wpt/wpt.ts setup
|
2022-04-13 12:51:16 -04:00
|
|
|
deno run --unstable --allow-write --allow-read --allow-net \
|
|
|
|
--allow-env --allow-run --lock=tools/deno.lock.json \
|
2024-03-06 16:59:30 -05:00
|
|
|
./tests/wpt/wpt.ts run \ \
|
2024-02-22 19:17:39 -05:00
|
|
|
--binary=$(which deno) --quiet --release --no-ignore --json=wpt.json --wptreport=wptreport.json
|
2021-06-14 07:48:57 -04:00
|
|
|
|
|
|
|
- name: Upload wpt results to wpt.fyi
|
2021-06-14 14:57:02 -04:00
|
|
|
env:
|
2022-01-02 07:41:59 -05:00
|
|
|
WPT_FYI_USER: deno
|
2021-07-01 09:44:44 -04:00
|
|
|
WPT_FYI_PW: ${{ secrets.WPT_FYI_PW }}
|
2021-06-14 07:48:57 -04:00
|
|
|
run: |
|
2023-03-13 08:24:16 -04:00
|
|
|
deno run -A --lock=tools/deno.lock.json ./tools/upload_wptfyi.js wptreport.json --from-raw-file --daily-run
|