Skip to content

Commit

Permalink
tools: add WPT updater for specific subsystems
Browse files Browse the repository at this point in the history
  • Loading branch information
Mert Can Altin committed Sep 21, 2024
1 parent 65768bc commit c064fee
Showing 1 changed file with 76 additions and 0 deletions.
76 changes: 76 additions & 0 deletions .github/workflows/update-wpt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
name: WPT update

on:
schedule:
# Run once a week at 12:00 AM UTC on Sunday.
- cron: 0 0 * * *
workflow_dispatch:
inputs:
subsystems:
description: Subsystem to run the update for
required: false
default: '["url"]'

permissions:
contents: read

jobs:
wpt-subsystem-update:
if: github.repository == 'nodejs/node' || github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
subsystem: ${{ fromJSON(github.event.inputs.subsystems || '["url"]') }}

steps:
- uses: actions/[email protected]
with:
persist-credentials: false

- name: Install @node-core/utils
run: |
npm install -g @node-core/utils
- name: Calculate new version for WPT
run: |
# Hypothetically, you can get the latest version from a specific file or git log
new_version=$(git log -1 --pretty=format:"%h")
echo "new_version=$new_version" >> $GITHUB_ENV
- name: Compare versions
run: |
echo "Comparing current version to new version ${{ env.new_version }}"
- name: Update WPT for subsystem ${{ matrix.subsystem }}
run: |
git node wpt ${{ matrix.subsystem }}
env:
GH_TOKEN: ${{ secrets.GH_USER_TOKEN }}

- name: Handle changes
run: |
if [[ "$(git status --porcelain)" != "" ]]; then
git config --global user.name "${{ github.actor }}[bot]"
git config --global user.email "${{ github.actor }}@users.noreply.github.com"
git checkout -b actions/update-wpt-${{ matrix.subsystem }}
git add .
git commit -m "test: update WPT for ${{ matrix.subsystem }} to ${{ env.new_version }}"
gh auth setup-git
git push origin actions/update-wpt-${{ matrix.subsystem }} -fu --no-verify
echo "createPR=true" >> "$GITHUB_OUTPUT"
else
echo "No changes to commit."
fi
env:
GH_TOKEN: ${{ secrets.GH_USER_TOKEN }}

- name: Open or update PR for the subsystem update
if: steps.push-changes.outputs.createPR
uses: gr2m/create-or-update-pull-request-action@86ec1766034c8173518f61d2075cc2a173fb8c97
with:
token: ${{ secrets.GH_USER_TOKEN }}
branch: actions/update-wpt-${{ matrix.subsystem }}
title: 'test: update WPT for ${{ matrix.subsystem }} to ${{ env.new_version }}'
body: |
This is an automated update of the WPT for ${{ matrix.subsystem }} to ${{ env.new_version }}.

0 comments on commit c064fee

Please sign in to comment.