Skip to content

Commit cbe0cbd

Browse files
committed
ci: add automatic rebase of v2 on main after push to main
1 parent 60699a3 commit cbe0cbd

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
on:
2+
push:
3+
branches:
4+
- main
5+
6+
workflow_dispatch:
7+
8+
env:
9+
VSTEST_CONNECTION_TIMEOUT: 180
10+
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
11+
DOTNET_NOLOGO: true
12+
DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION: 1
13+
TERM: xterm
14+
15+
jobs:
16+
rebase:
17+
name: 🎁 Rebase V2 on Main
18+
runs-on: ubuntu-latest
19+
steps:
20+
21+
- name: 🛒 Checkout repository
22+
uses: actions/checkout@v4
23+
with:
24+
fetch-depth: 0
25+
token: ${{ secrets.BUNIT_BOT_TOKEN }}
26+
27+
- name: ⚙️ Import GPG key
28+
id: import_gpg
29+
uses: crazy-max/ghaction-import-gpg@v6
30+
with:
31+
gpg_private_key: ${{ secrets.BUNIT_BOT_GPG_PRIVATE_KEY }}
32+
passphrase: ${{ secrets.BUNIT_BOT_GPG_KEY_PASSPHRASE }}
33+
34+
- name: ⚙️ Setup CI GIT
35+
run: |
36+
git config user.name "${{ steps.import_gpg.outputs.name }}"
37+
git config user.email ${{ steps.import_gpg.outputs.email }}
38+
git config --global user.signingkey ${{ steps.import_gpg.outputs.keyid }}
39+
git config --global commit.gpgsign true
40+
41+
- name: ⏩ Merge stable with main, push to origin
42+
id: rebaseV2
43+
continue-on-error: true
44+
run: |
45+
git checkout v2
46+
git git rebase origin/main
47+
git push origin v2
48+
49+
- name: ⏭ Create pull request from main to v2 when direct rebase fails
50+
if: steps.rebaseV2.outcome == 'failure'
51+
uses: thomaseizinger/[email protected]
52+
env:
53+
GITHUB_TOKEN: ${{ secrets.BUNIT_BOT_TOKEN }}
54+
with:
55+
head: main
56+
base: v2
57+
title: Rebase v2 on main

0 commit comments

Comments
 (0)