Skip to content

Commit

Permalink
Merge 840197a into 8547e14
Browse files Browse the repository at this point in the history
  • Loading branch information
penalosa authored Dec 2, 2024
2 parents 8547e14 + 840197a commit 005d926
Show file tree
Hide file tree
Showing 3 changed files with 71 additions and 0 deletions.
5 changes: 5 additions & 0 deletions .changeset/thin-items-turn.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"wrangler": patch
---

test patch bump backporting
32 changes: 32 additions & 0 deletions .github/workflows/open-v3-maintenance-prs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: v3 Maintenance

on: pull_request

jobs:
open-pr:
if: ${{ github.repository_owner == 'cloudflare' }}
name: Open backport PR for patches
runs-on: ubuntu-latest
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
timeout-minutes: 30
steps:
- name: Checkout Repo
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Install Dependencies
uses: ./.github/actions/install-dependencies

- uses: Ana06/[email protected]
id: files
with:
format: "json"

- run: node -r esbuild-register tools/deployments/open-v3-pr.ts
env:
FILES: ${{ steps.files.outputs.all }}
PR_NUMBER: ${{ github.event.number }}
GH_TOKEN: ${{ secrets.GH_ACCESS_TOKEN }}
34 changes: 34 additions & 0 deletions tools/deployments/open-v3-pr.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
import { execSync } from "node:child_process";
import { readFileSync } from "node:fs";
import parseChangeset from "@changesets/parse";

/* eslint-disable turbo/no-undeclared-env-vars */
if (require.main === module) {
if (isWranglerPatch(process.env.FILES as string)) {
// Create a new branch for the v3 maintenance PR
execSync(`git checkout -b v3-maintenance-${process.env.PR_NUMBER} -f`);

execSync(`git push origin HEAD --force`);

execSync(
`gh pr create --head v3-maintenance-${process.env.PR_NUMBER} --label "skip-pr-description-validation" --title "Backport #${process.env.PR_NUMBER} to Wrangler v3" --body "This is an automatically opened PR to backport patch changes from #${process.env.PR_NUMBER} to Wrangler v3"`
);
}
}

export function isWranglerPatch(changedFilesJson: string) {
const changedFiles = JSON.parse(changedFilesJson) as string[];
const changesets = changedFiles
.filter((f) => f.startsWith(".changeset/"))
.map((c) => parseChangeset(readFileSync(c, "utf8")));

let hasWranglerPatch = false;
for (const changeset of changesets) {
for (const release of changeset.releases) {
if (release.name === "wrangler" && release.type === "patch") {
hasWranglerPatch = true;
}
}
}
return hasWranglerPatch;
}

0 comments on commit 005d926

Please sign in to comment.