aboutsummaryrefslogtreecommitdiffhomepage
path: root/scripts/release
diff options
context:
space:
mode:
authorGravatar Damien Martin-Guillerez <dmarting@google.com>2017-01-26 14:41:04 +0000
committerGravatar Laszlo Csomor <laszlocsomor@google.com>2017-01-26 14:53:59 +0000
commitdbdaf83fe5480179bf65b86421168a5dba0e2198 (patch)
tree2dea053d8b511f967620455cf530d48e08b1d270 /scripts/release
parentbbfa9fa5ad1dd66ecedcb136a4ff3d0f8d397b9b (diff)
Fix release scripts by using full hash everywhere
Previously we were using short hash for rendering to the user but our repository as grown and on some configuration of git the short hash size has increased. To be future-proof, just remove all usage of short hash and use full hash instead. Fixes #2429. -- PiperOrigin-RevId: 145667804 MOS_MIGRATED_REVID=145667804
Diffstat (limited to 'scripts/release')
-rwxr-xr-xscripts/release/release_test.sh56
-rwxr-xr-xscripts/release/relnotes.sh2
-rwxr-xr-xscripts/release/relnotes_test.sh84
3 files changed, 82 insertions, 60 deletions
diff --git a/scripts/release/release_test.sh b/scripts/release/release_test.sh
index 471953a506..dfa9fe856c 100755
--- a/scripts/release/release_test.sh
+++ b/scripts/release/release_test.sh
@@ -191,7 +191,7 @@ Test replacement.
function test_release_workflow() {
export EDITOR=true
# Initial release
- create v0 965c392
+ create v0 965c392ab1d68d5bc23fdef3d86d635ec9d2da8e
expect_log "Release v0rc1"
expect_log "Initial release"
# Push the release branch
@@ -202,7 +202,7 @@ function test_release_workflow() {
CHANGELOG='## Release v0 ('$(date +%Y-%m-%d)')
```
-Baseline: 965c392
+Baseline: 965c392ab1d68d5bc23fdef3d86d635ec9d2da8e
```
Initial release.'
@@ -251,14 +251,16 @@ fi
cat ${TEST_TMPDIR}/replacement.log >\$1
EOF
chmod +x ${EDITOR}
- create v1 1170dc6 0540fde
+ create v1 1170dc6055ed0d669275efb1ab1906d2715ad1c3 \
+ 0540fdefe2c27605516a772c2a224d579db0a74d
local header='Release v1rc1 ('$(date +%Y-%m-%d)')
-Baseline: 1170dc6
+Baseline: 1170dc6055ed0d669275efb1ab1906d2715ad1c3
Cherry picks:
- + 0540fde: Extract version numbers that look like "..._1.2.3_..."
- from BUILD_EMBED_LABEL into Info.plist.
+ + 0540fdefe2c27605516a772c2a224d579db0a74d:
+ Extract version numbers that look like "..._1.2.3_..." from
+ BUILD_EMBED_LABEL into Info.plist.
'
assert_equals "${header}Test replacement" "$(cat ${TEST_log})"
@@ -288,15 +290,19 @@ Test replacement
EOF
echo "${RELNOTES}" >${TEST_TMPDIR}/replacement.log
- create v1 1170dc6 0540fde cef25c4
+ create v1 1170dc6055ed0d669275efb1ab1906d2715ad1c3 \
+ 0540fdefe2c27605516a772c2a224d579db0a74d \
+ cef25c44bc6c2ae8e5bd649228a9a9c39f057576
title='Release v1rc2 ('$(date +%Y-%m-%d)')'
- revision_info='Baseline: 1170dc6
+ revision_info='Baseline: 1170dc6055ed0d669275efb1ab1906d2715ad1c3
Cherry picks:
- + 0540fde: Extract version numbers that look like "..._1.2.3_..."
- from BUILD_EMBED_LABEL into Info.plist.
- + cef25c4: RELNOTES: Attribute error messages related to Android
- resources are easier to understand now.'
+ + 0540fdefe2c27605516a772c2a224d579db0a74d:
+ Extract version numbers that look like "..._1.2.3_..." from
+ BUILD_EMBED_LABEL into Info.plist.
+ + cef25c44bc6c2ae8e5bd649228a9a9c39f057576:
+ RELNOTES: Attribute error messages related to Android resources
+ are easier to understand now.'
header="${title}
${revision_info}
@@ -377,7 +383,7 @@ function generate_rc() {
function test_git_release_workflow() {
export EDITOR=true
# Initial release
- generate_rc v0 965c392
+ generate_rc v0 965c392ab1d68d5bc23fdef3d86d635ec9d2da8e
expect_log "Release v0rc1"
expect_log "Initial release"
@@ -429,14 +435,16 @@ fi
cat ${TEST_TMPDIR}/replacement.log >\$1
EOF
chmod +x ${EDITOR}
- generate_rc v1 1170dc6 0540fde
+ generate_rc v1 1170dc6055ed0d669275efb1ab1906d2715ad1c3 \
+ 0540fdefe2c27605516a772c2a224d579db0a74d
local header='Release v1rc1 ('$(date +%Y-%m-%d)')
-Baseline: 1170dc6
+Baseline: 1170dc6055ed0d669275efb1ab1906d2715ad1c3
Cherry picks:
- + 0540fde: Extract version numbers that look like "..._1.2.3_..."
- from BUILD_EMBED_LABEL into Info.plist.
+ + 0540fdefe2c27605516a772c2a224d579db0a74d:
+ Extract version numbers that look like "..._1.2.3_..." from
+ BUILD_EMBED_LABEL into Info.plist.
'
assert_equals "${header}Test replacement" "$(cat ${TEST_log})"
@@ -466,16 +474,18 @@ Test replacement
EOF
echo "${RELNOTES}" >${TEST_TMPDIR}/replacement.log
- generate_rc v1 cef25c4
+ generate_rc v1 cef25c44bc6c2ae8e5bd649228a9a9c39f057576
header='Release v1rc2 ('$(date +%Y-%m-%d)')
-Baseline: 1170dc6
+Baseline: 1170dc6055ed0d669275efb1ab1906d2715ad1c3
Cherry picks:
- + 0540fde: Extract version numbers that look like "..._1.2.3_..."
- from BUILD_EMBED_LABEL into Info.plist.
- + cef25c4: RELNOTES: Attribute error messages related to Android
- resources are easier to understand now.
+ + 0540fdefe2c27605516a772c2a224d579db0a74d:
+ Extract version numbers that look like "..._1.2.3_..." from
+ BUILD_EMBED_LABEL into Info.plist.
+ + cef25c44bc6c2ae8e5bd649228a9a9c39f057576:
+ RELNOTES: Attribute error messages related to Android resources
+ are easier to understand now.
'
assert_equals "${header}${RELNOTES}" "$(cat ${TEST_log})"
diff --git a/scripts/release/relnotes.sh b/scripts/release/relnotes.sh
index 2c4a0ab7cc..aed0b5cc17 100755
--- a/scripts/release/relnotes.sh
+++ b/scripts/release/relnotes.sh
@@ -65,7 +65,7 @@ function get_release_notes_commits() {
local rollback_hashes=$(echo "$rollback_commits" | cut -d " " -f 1)
local rolledback_hashes=$(echo "$rollback_commits" | cut -d " " -f 5 | sed -E 's/^(.......).*$/\1/')
local exclude_hashes=$(echo $cherry_picks $rollback_hashes $rolledback_hashes | xargs echo | sed 's/ /|/g')
- git log --reverse --pretty=format:%h ${baseline}.. -E --grep='^RELNOTES(\[[^\]+\])?:' \
+ git log --reverse --pretty=format:%H ${baseline}.. -E --grep='^RELNOTES(\[[^\]+\])?:' \
| grep -Ev "^(${exclude_hashes})"
}
diff --git a/scripts/release/relnotes_test.sh b/scripts/release/relnotes_test.sh
index 972a4e38d4..56278b1f46 100755
--- a/scripts/release/relnotes_test.sh
+++ b/scripts/release/relnotes_test.sh
@@ -52,11 +52,9 @@ some random stuff to test wrapping.")
function test_get_release_notes_commits() {
# Generated with git log --grep RELNOTES.
# Only 6d98f6c 53c0748 are removed (rollback).
- commits="0188971 957934c 7a99c7f b5ba24a c9041bf 8232d9b 422c731 e9029d4 \
-cc44636 06b09ce 29b05c8 67944d8 e8f6647 6d9fb36 f7c9922 5c0e4b2 9e387dd \
-98c9274 db4d861 a689f29 db487ce 965c392 bb59d88 d3461db cef25c4 14d905b"
+ commits='01889715e70b55b9d197e546593878f16cdc0f26 957934c40f73e96a4414c6a9efbc165367459b4b 7a99c7f47705bbb4ff8617f4876bc0298093a556 b5ba24a3f3ee0e7da718bf8becac96d691ae2074 c9041bf6f629b1441b6131ca495d8e6d0fb84f42 8232d9ba85b26cb4d10588a39d7a7adafeb5c4af 422c731fbefb098962813b3e0914a9192c72e549 e9029d4613d98c17e05236a0058164bb8787f94b cc44636d2d538bc91e7291ed4607f2bdce356827 06b09ce978eb984bee3a83ed446aab2dce60fa43 29b05c8e6c48b4028a06cd788d833506cce090eb 67944d866d4b74b9c4af51d5097a51fed5a6c30e e8f664780e3089b0af8b267effdec0f3242843ad 6d9fb360b79ec040e423b20b72a9cc3c4bac5b54 f7c992263610c9246a2c81b4e015b9c7f216fd50 5c0e4b2c64e9c9ccf80607ce4d8855ad032c302f 9e387ddc2fbeb6c88400e8b9fcf4e1d1fc600be7 98c92744557330d844ff5c38a28e5419d153ed1f db4d8619023693c97e5afb467737084ccd30b311 a689f2900911039d2c10e6de7d41fbf1bdf31f44 db487ce72207a340589182bbd85b84d1a9375bd1 965c392ab1d68d5bc23fdef3d86d635ec9d2da8e bb59d88448d3365ff3ec168c1431cd86c5a5f02c d3461dba46b50719e238939946048cd1ca12755a cef25c44bc6c2ae8e5bd649228a9a9c39f057576 14d905b5cce9a1bbc2911331809b03679b23dad1'
assert_equals "$commits" "$(get_release_notes_commits 00d7223 | xargs)"
- assert_equals "$(echo "$commits" | sed 's/957934c //')" \
+ assert_equals "$(echo "$commits" | sed 's/957934c[0-9a-f]* //')" \
"$(get_release_notes_commits 00d7223 957934c | xargs)"
}
@@ -83,7 +81,8 @@ function test_release_notes() {
assert_equals "$TEST_INC_CHANGE$(echo)$TEST_NEW_CHANGE$(echo)$TEST_CHANGE" \
"$(release_notes 965c392ab1d68d5bc23fdef3d86d635ec9d2da8e)"
assert_equals "$TEST_NEW_CHANGE$(echo)$TEST_CHANGE" \
- "$(release_notes 965c392ab1d68d5bc23fdef3d86d635ec9d2da8e bb59d88)"
+ "$(release_notes 965c392ab1d68d5bc23fdef3d86d635ec9d2da8e \
+ bb59d88)"
}
function test_get_last_release() {
@@ -100,50 +99,54 @@ EOF
cat <<EOF >${TEST_TMPDIR}/CHANGELOG.md
## New release
-Baseline: 965c392
+Baseline: 965c392ab1d68d5bc23fdef3d86d635ec9d2da8e
Initial release without cherry-picks
EOF
- assert_equals "965c392" \
+ assert_equals "965c392ab1d68d5bc23fdef3d86d635ec9d2da8e" \
"$(get_last_release "${TEST_TMPDIR}/CHANGELOG.md")"
mv ${TEST_TMPDIR}/CHANGELOG.md ${TEST_TMPDIR}/CHANGELOG.md.bak
cat <<EOF >${TEST_TMPDIR}/CHANGELOG.md
-## Cherry-picking bb59d88
+## Cherry-picking bb59d88448d3365ff3ec168c1431cd86c5a5f02c
-Baseline: 965c392
+Baseline: 965c392ab1d68d5bc23fdef3d86d635ec9d2da8e
Cherry picks:
- + bb59d88: RELNOTES[INC]: Remove deprecated "make var" INCDIR
+ + bb59d88448d3365ff3ec168c1431cd86c5a5f02c: RELNOTES[INC]: Remove deprecated "make var" INCDIR
$TEST_INC_CHANGE
EOF
cat ${TEST_TMPDIR}/CHANGELOG.md.bak >>${TEST_TMPDIR}/CHANGELOG.md
rm ${TEST_TMPDIR}/CHANGELOG.md.bak
- assert_equals "965c392 bb59d88" \
+ assert_equals "965c392ab1d68d5bc23fdef3d86d635ec9d2da8e bb59d88448d3365ff3ec168c1431cd86c5a5f02c" \
"$(get_last_release "${TEST_TMPDIR}/CHANGELOG.md")"
mv ${TEST_TMPDIR}/CHANGELOG.md ${TEST_TMPDIR}/CHANGELOG.md.bak
cat <<EOF >${TEST_TMPDIR}/CHANGELOG.md
-## Cherry-picking bb59d88 and 14d905b
+## Cherry-picking bb59d88448d3365ff3ec168c1431cd86c5a5f02c and
+## 14d905b5cce9a1bbc2911331809b03679b23dad1:
-Baseline: 965c392
+Baseline: 965c392ab1d68d5bc23fdef3d86d635ec9d2da8e
Cherry picks:
- + bb59d88: RELNOTES[INC]: Remove deprecated "make var" INCDIR
- + 14d905b: Add --with_aspect_deps flag to blaze query. This flag
- should produce additional information about aspect
- dependencies when --output is set to {xml, proto}.
+ + bb59d88448d3365ff3ec168c1431cd86c5a5f02c:
+ RELNOTES[INC]: Remove deprecated "make var" INCDIR
+ + 14d905b5cce9a1bbc2911331809b03679b23dad1:
+ Add --with_aspect_deps flag to blaze query. This flag should
+ produce additional information about aspect dependencies when
+ --output is set to {xml, proto}.
$TEST_INC_CHANGE
$TEST_NEW_CHANGE
EOF
cat ${TEST_TMPDIR}/CHANGELOG.md.bak >>${TEST_TMPDIR}/CHANGELOG.md
rm ${TEST_TMPDIR}/CHANGELOG.md.bak
- assert_equals "965c392 bb59d88 14d905b" \
- "$(get_last_release "${TEST_TMPDIR}/CHANGELOG.md")"
+ assert_equals \
+ "965c392ab1d68d5bc23fdef3d86d635ec9d2da8e bb59d88448d3365ff3ec168c1431cd86c5a5f02c 14d905b5cce9a1bbc2911331809b03679b23dad1" \
+ "$(get_last_release "${TEST_TMPDIR}/CHANGELOG.md")"
}
@@ -151,7 +154,7 @@ function test_create_release_notes() {
cat <<EOF >${TEST_TMPDIR}/CHANGELOG.md
## New release
-Baseline: 965c392
+Baseline: 965c392ab1d68d5bc23fdef3d86d635ec9d2da8e
Initial release without cherry-picks
@@ -160,13 +163,14 @@ EOF
"$(create_release_notes ${TEST_TMPDIR}/CHANGELOG.md)"
cat <<'EOF' >${TEST_TMPDIR}/CHANGELOG.md
-## Cherry-picking bb59d88
+## Cherry-picking bb59d88448d3365ff3ec168c1431cd86c5a5f02c
```
-Baseline: 965c392
+Baseline: 965c392ab1d68d5bc23fdef3d86d635ec9d2da8e
Cherry picks:
- + bb59d88: RELNOTES[INC]: Remove deprecated "make var" INCDIR
+ + bb59d88448d3365ff3ec168c1431cd86c5a5f02c:
+ RELNOTES[INC]: Remove deprecated "make var" INCDIR
```
EOF
@@ -175,20 +179,23 @@ $TEST_INC_CHANGE
EOF
assert_equals "$TEST_NEW_CHANGE$(echo)$TEST_CHANGE" \
"$(create_release_notes ${TEST_TMPDIR}/CHANGELOG.md)"
- assert_equals "965c392 bb59d88" \
+ assert_equals "965c392ab1d68d5bc23fdef3d86d635ec9d2da8e bb59d88448d3365ff3ec168c1431cd86c5a5f02c" \
"$(get_last_release "${TEST_TMPDIR}/CHANGELOG.md")"
cat <<'EOF' >${TEST_TMPDIR}/CHANGELOG.md
-## Cherry-picking bb59d88 and 14d905b
+## Cherry-picking bb59d88448d3365ff3ec168c1431cd86c5a5f02c and
+## 14d905b5cce9a1bbc2911331809b03679b23dad1:
```
-Baseline: 965c392
+Baseline: 965c392ab1d68d5bc23fdef3d86d635ec9d2da8e
Cherry picks:
- + bb59d88: RELNOTES[INC]: Remove deprecated "make var" INCDIR
- + 14d905b: Add --with_aspect_deps flag to blaze query. This flag
- should produce additional information about aspect
- dependencies when --output is set to {xml, proto}.
+ + bb59d88448d3365ff3ec168c1431cd86c5a5f02c:
+ RELNOTES[INC]: Remove deprecated "make var" INCDIR
+ + 14d905b5cce9a1bbc2911331809b03679b23dad1:
+ Add --with_aspect_deps flag to blaze query. This flag should
+ produce additional information about aspect dependencies when
+ --output is set to {xml, proto}.
```
EOF
@@ -201,14 +208,19 @@ EOF
}
function test_create_revision_information() {
- expected='Baseline: 965c392
+ expected='Baseline: 965c392ab1d68d5bc23fdef3d86d635ec9d2da8e
Cherry picks:
- + bb59d88: RELNOTES[INC]: Remove deprecated "make var" INCDIR
- + 14d905b: Add --with_aspect_deps flag to blaze query. This flag
- should produce additional information about aspect
- dependencies when --output is set to {xml, proto}.'
- actual="$(create_revision_information 965c392ab1d68d5bc23fdef3d86d635ec9d2da8e bb59d88 14d905b5cce9a1bbc2911331809b03679b23dad1)"
+ + bb59d88448d3365ff3ec168c1431cd86c5a5f02c:
+ RELNOTES[INC]: Remove deprecated "make var" INCDIR
+ + 14d905b5cce9a1bbc2911331809b03679b23dad1:
+ Add --with_aspect_deps flag to blaze query. This flag should
+ produce additional information about aspect dependencies when
+ --output is set to {xml, proto}.'
+ actual="$(create_revision_information \
+ 965c392ab1d68d5bc23fdef3d86d635ec9d2da8e \
+ bb59d88448d3365ff3ec168c1431cd86c5a5f02c \
+ 14d905b5cce9a1bbc2911331809b03679b23dad1)"
assert_equals "$expected" "$actual"
}