Skip to content

Create Node PR

Create Node PR #54

# This file is automatically added by @npmcli/template-oss. Do not edit.
name: "Create Node PR"
on:
workflow_dispatch:
inputs:
spec:
description: "The npm spec to create the PR from"
required: true
default: 'latest'
branch:
description: "The major node version to serve as the base of the PR. Should be `main` or a number like `18`, `19`, etc."
required: true
default: 'main'
dryRun:
description: "Setting this to anything will run all the steps except opening the PR"
jobs:
create-pull-request:
name: Create Node PR
if: github.repository_owner == 'npm'
runs-on: ubuntu-latest
defaults:
run:
shell: bash
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Setup Git User
run: |
git config --global user.email "[email protected]"
git config --global user.name "npm CLI robot"
- name: Setup Node
uses: actions/setup-node@v3
id: node
with:
node-version: 20.x
check-latest: contains('20.x', '.x')
cache: npm
- name: Check Git Status
run: node scripts/git-dirty.js
- name: Reset Deps
run: node scripts/resetdeps.js
- name: Checkout Node
uses: actions/checkout@v3
with:
token: ${{ secrets.NODE_PULL_REQUEST_TOKEN }}
repository: nodejs/node
fetch-depth: 0
path: node
- name: Create Node Pull Request
env:
GITHUB_TOKEN: ${{ secrets.NODE_PULL_REQUEST_TOKEN }}
run: |
DRY_RUN=$([ -z "${{ inputs.dryRun }}" ] && echo "" || echo "--dry-run")
node scripts/create-node-pr.js ${{ inputs.spec }} ${{ inputs.branch }} "$DRY_RUN"