forked from google/adk-python
-
Notifications
You must be signed in to change notification settings - Fork 0
73 lines (66 loc) · 2.59 KB
/
Copy pathrelease-cherry-pick.yml
File metadata and controls
73 lines (66 loc) · 2.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# Copyright 2026 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Step 3 (optional): Cherry-picks a commit from a base branch (main or v1) into the active release candidate branch.
# Use this between step 1 and step 4 to include hotfixes in an in-progress release.
# Note: Does NOT auto-trigger release-please to preserve manual changelog edits.
name: "Release: Cherry-pick"
on:
workflow_dispatch:
inputs:
branch:
description: 'Branch line of the release candidate (main or v1)'
required: true
default: 'main'
type: choice
options:
- main
- v1
commit_sha:
description: 'Commit SHA to cherry-pick'
required: true
jobs:
cherry-pick:
runs-on: ubuntu-latest
steps:
- name: Determine Branch Configurations
id: config
run: |
BRANCH="${{ inputs.branch }}"
if [ "$BRANCH" = "v1" ]; then
echo "candidate_branch=release/v1-candidate" >> $GITHUB_OUTPUT
else
echo "candidate_branch=release/candidate" >> $GITHUB_OUTPUT
fi
- uses: actions/checkout@v6
with:
ref: ${{ steps.config.outputs.candidate_branch }}
fetch-depth: 0
- name: Configure git
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
- name: Cherry-pick commit
run: |
CANDIDATE_BRANCH="${{ steps.config.outputs.candidate_branch }}"
echo "Cherry-picking ${INPUTS_COMMIT_SHA} to $CANDIDATE_BRANCH"
git cherry-pick ${INPUTS_COMMIT_SHA}
env:
INPUTS_COMMIT_SHA: ${{ inputs.commit_sha }}
- name: Push changes
run: |
CANDIDATE_BRANCH="${{ steps.config.outputs.candidate_branch }}"
git push origin "$CANDIDATE_BRANCH"
echo "Successfully cherry-picked commit to $CANDIDATE_BRANCH"
echo "If you want to regenerate the changelog PR, run the 'Release: Cut' workflow manually"
echo "with action='regenerate' and branch='${{ inputs.branch }}'."