From 01d6899fd914b38aad34ee62ac9c620a06260306 Mon Sep 17 00:00:00 2001
From: sudoforge <no-reply@sudoforge.com>
Date: Wed, 21 May 2025 17:16:49 -0700
Subject: [PATCH] feat(dev-infra): add pipeline: cron/rename-default-branch
 (#1465)

This change adds a new pipeline named `cron`, with an initial task that
will handle automatically updating the default branch for this
repository on May 31 2025.

Ref: #1404
Change-Id: Iff5529938d9be50de9733f98e72e86c4480e1d6e
---
 .github/workflows/cron.yml | 40 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)
 create mode 100644 .github/workflows/cron.yml

diff --git a/.github/workflows/cron.yml b/.github/workflows/cron.yml
new file mode 100644
index 00000000..e68c9db0
--- /dev/null
+++ b/.github/workflows/cron.yml
@@ -0,0 +1,40 @@
+---
+name: cron
+
+on:
+  schedule:
+    - cron: '0 10 31 5 *' # 05/31 at 10:00
+
+permissions:
+  contents: read
+
+jobs:
+  rename-default-branch:
+    runs-on: ubuntu-latest
+    if: github.ref_name == "master"
+    steps:
+      - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
+        with:
+          fetch-depth: 0
+
+      - name: configure git remote
+        run: |
+          git remote set-url origin git@github.com:git-bug/git-bug.git
+
+      - name: "merge pull request: 1464"
+        env:
+          GH_TOKEN: ${{ secrets.RENAME_TOKEN_1404 }}
+        run: gh pr merge 1464 --admin --squash
+
+      - name: "set default branch: refs/heads/trunk"
+        env:
+          GH_TOKEN: ${{ secrets.RENAME_TOKEN_1404 }}
+        run: gh repo edit --default-branch trunk
+
+      - name: "set base for all PRs: refs/heads/trunk"
+        env:
+          GH_TOKEN: ${{ secrets.RENAME_TOKEN_1404 }}
+        run: |-
+          for pr in $(gh pr list -B master -s open --json number --jq '.[] | .number'); do
+            gh pr edit "$pr" -B trunk
+          done
-- 
GitLab