summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Hughes <tomhughes@chromium.org>2021-02-04 10:20:09 -0800
committerCommit Bot <commit-bot@chromium.org>2021-02-04 22:12:18 +0000
commit023f407a3858d5b5f74fd5e5b620c284d5cd8aaa (patch)
tree915b6f005bbe40d9175b09a71390d5a914393031
parent0a6a6103ce93c030a578b5305b2da5e4a0da8768 (diff)
downloadchrome-ec-023f407a3858d5b5f74fd5e5b620c284d5cd8aaa.tar.gz
util: Migrate fingerprint to new release script
The update_release_branch.py script replaces update_release_branch.sh. BRANCH=none BUG=b:179093018 TEST=none Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I53c0dae20e80ae65fd217522ea450dc236963d4b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2676267 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
-rw-r--r--util/fingerprint-relevant-paths.txt6
-rwxr-xr-xutil/update_release_branch.py4
-rwxr-xr-xutil/update_release_branch.sh95
3 files changed, 10 insertions, 95 deletions
diff --git a/util/fingerprint-relevant-paths.txt b/util/fingerprint-relevant-paths.txt
new file mode 100644
index 0000000000..e530c038cd
--- /dev/null
+++ b/util/fingerprint-relevant-paths.txt
@@ -0,0 +1,6 @@
+# Paths of interest to be included in the commit message for
+# merge commits to the firmware-fpmcu-<BOARD>-release branch when
+# using update_release_branch.py.
+common/fpsensor
+docs/fingerprint
+driver/fingerprint
diff --git a/util/update_release_branch.py b/util/update_release_branch.py
index ddaff9d500..263ffa3a30 100755
--- a/util/update_release_branch.py
+++ b/util/update_release_branch.py
@@ -5,6 +5,10 @@
"""Release branch updater tool.
This is a tool to merge from the main branch into a release branch.
+
+Inspired by the fingerprint release process:
+http://go/cros-fingerprint-firmware-branching-and-signing and now used by other
+boards.
"""
from __future__ import print_function
import argparse
diff --git a/util/update_release_branch.sh b/util/update_release_branch.sh
deleted file mode 100755
index 4013c75ee3..0000000000
--- a/util/update_release_branch.sh
+++ /dev/null
@@ -1,95 +0,0 @@
-#!/bin/bash
-
-# Copyright 2020 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# Tool to merge master branch into a release branch. Currently specific to the
-# fingerprint sensor, but can easily be generalized. See
-# http://go/cros-fingerprint-firmware-branching-and-signing.
-
-. /usr/share/misc/shflags
-
-DEFINE_string 'board' "bloonchipper" 'EC board (FPMCU) to update' 'b'
-
-# Process commandline flags.
-FLAGS "${@}" || exit 1
-eval set -- "${FLAGS_ARGV}"
-
-set -e
-
-# Dereference symlinks so "git log" works as expected.
-readonly BOARD_DIR="$(realpath --relative-to=. "board/${FLAGS_board}")"
-readonly RELEVANT_PATHS=(
- "${BOARD_DIR}"
- common/fpsensor
- docs/fingerprint
- driver/fingerprint
- util/getversion.sh
-)
-readonly RELEASE_BRANCH="firmware-fpmcu-${FLAGS_board}-release"
-
-get_relevant_commits_cmd() {
- local head="${1}"
- local merge_head="${2}"
- local format="${3}"
-
- local relevant_commits_cmd="git log ${format} ${head}..${merge_head}"
- relevant_commits_cmd+=" -- ${RELEVANT_PATHS[*]}"
- echo "${relevant_commits_cmd}"
-}
-
-git_commit_msg() {
- local branch="${1}"
- local head="${2}"
- local merge_head="${3}"
-
- local relevant_commits_cmd
- local relevant_commits
- local relevant_bugs_cmd
- local relevant_bugs
-
- relevant_commits_cmd="$(get_relevant_commits_cmd "${head}" \
- "${merge_head}" "--oneline")"
- relevant_commits="$(${relevant_commits_cmd})"
- relevant_bugs_cmd="$(get_relevant_commits_cmd "${head}" \
- "${merge_head}" "")"
- relevant_bugs="$(${relevant_bugs_cmd} | \
- pcregrep -o1 'BUG=(.*)' | pcregrep -v none | \
- tr ' ' '\n' | tr ',' '\n' | \
- sort | uniq | xargs)"
-
- cat <<HEREDOC
-Merge remote-tracking branch 'm/master' into ${branch}
-
-Relevant changes:
-
-${relevant_commits_cmd}
-
-${relevant_commits}
-
-BRANCH=none
-BUG=${relevant_bugs}
-TEST=test_that --board <board> <IP> suite:fingerprint
-HEREDOC
-}
-
-merge_master() {
- git remote update
- git checkout -B "${RELEASE_BRANCH}" "cros/${RELEASE_BRANCH}"
- git merge --no-ff --no-commit m/master
-
- local branch
- local head
- local merge_head
-
- branch="$(git rev-parse --abbrev-ref HEAD)"
- head="$(git rev-parse --short HEAD)"
- merge_head="$(git rev-parse --short MERGE_HEAD)"
-
- git commit --signoff -m "$(git_commit_msg "${branch}" \
- "${head}" "${merge_head}")"
- git commit --amend
-}
-
-merge_master