Skip to content

Commit 1e09d25

Browse files
mertcanaltinmarco-ippolito
authored andcommitted
tools: add WPT updater for specific subsystems
PR-URL: #54460 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
1 parent 25e1862 commit 1e09d25

File tree

1 file changed

+75
-0
lines changed

1 file changed

+75
-0
lines changed

.github/workflows/update-wpt.yml

+75
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
name: WPT update
2+
3+
on:
4+
schedule:
5+
# Run once a week at 12:00 AM UTC on Sunday.
6+
- cron: 0 0 * * *
7+
workflow_dispatch:
8+
inputs:
9+
subsystems:
10+
description: Subsystem to run the update for
11+
required: false
12+
default: '["url", "WebCryptoAPI"]'
13+
14+
permissions:
15+
contents: read
16+
17+
env:
18+
NODE_VERSION: lts/*
19+
20+
jobs:
21+
wpt-subsystem-update:
22+
if: github.repository == 'nodejs/node' || github.event_name == 'workflow_dispatch'
23+
runs-on: ubuntu-latest
24+
strategy:
25+
fail-fast: false
26+
matrix:
27+
subsystem: ${{ fromJSON(github.event.inputs.subsystems || '["url", "WebCryptoAPI"]') }}
28+
29+
steps:
30+
- uses: actions/checkout@6d193bf28034eafb982f37bd894289fe649468fc # v4.1.7
31+
with:
32+
persist-credentials: false
33+
34+
- name: Install Node.js
35+
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
36+
with:
37+
node-version: ${{ env.NODE_VERSION }}
38+
39+
- name: Install @node-core/utils
40+
run: npm install -g @node-core/utils
41+
42+
- name: Setup @node-core/utils
43+
run: |
44+
ncu-config set username "$USERNAME"
45+
ncu-config set token "$GH_TOKEN"
46+
ncu-config set jenkins_token "$JENKINS_TOKEN"
47+
ncu-config set owner "${{ github.repository_owner }}"
48+
ncu-config set repo "$(echo ${{ github.repository }} | cut -d/ -f2)"
49+
env:
50+
USERNAME: ${{ secrets.JENKINS_USER }}
51+
GH_TOKEN: ${{ secrets.GH_USER_TOKEN }}
52+
JENKINS_TOKEN: ${{ secrets.JENKINS_TOKEN }}
53+
54+
- name: Update WPT for subsystem ${{ matrix.subsystem }}
55+
run: |
56+
git node wpt ${{ matrix.subsystem }}
57+
58+
- name: Calculate new version for WPT using jq
59+
run: |
60+
new_version=$(jq -r '.${{ matrix.subsystem }}.commit' test/fixtures/wpt/versions.json)
61+
echo "new_version=$new_version" >> $GITHUB_ENV
62+
63+
- name: Open or update PR for the subsystem update
64+
uses: gr2m/create-or-update-pull-request-action@86ec1766034c8173518f61d2075cc2a173fb8c97
65+
with:
66+
branch: actions/update-wpt-${{ matrix.subsystem }}
67+
author: Node.js GitHub Bot <github-bot@iojs.org>
68+
title: 'test: update WPT for ${{ matrix.subsystem }} to ${{ env.new_version }}'
69+
commit-message: 'test: update WPT for ${{ matrix.subsystem }} to ${{ env.new_version }}'
70+
labels: test
71+
update-pull-request-title-and-body: true
72+
body: |
73+
This is an automated update of the WPT for ${{ matrix.subsystem }} to ${{ env.new_version }}.
74+
env:
75+
GITHUB_TOKEN: ${{ secrets.GH_USER_TOKEN }}

0 commit comments

Comments
 (0)