-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
GH-45316: [Release][C#] Use GitHub Releases for artifacts
- Loading branch information
Showing
14 changed files
with
203 additions
and
136 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -46,6 +46,7 @@ rc_url="https://dist.apache.org/repos/dist/dev/arrow/${tag}" | |
echo "Preparing source for tag ${tag}" | ||
|
||
: ${release_hash:=$(cd "${SOURCE_TOP_DIR}" && git rev-list --max-count=1 ${tag})} | ||
: ${GITHUB_REPOSITORY:=apache/arrow} | ||
|
||
if [ ${SOURCE_UPLOAD} -gt 0 ]; then | ||
if [ -z "$release_hash" ]; then | ||
|
@@ -62,35 +63,40 @@ if [ ${SOURCE_DOWNLOAD} -gt 0 ]; then | |
# Wait for the release candidate workflow to finish before attempting | ||
# to download the tarball from the GitHub Release. | ||
. $SOURCE_DIR/utils-watch-gh-workflow.sh ${tag} "release_candidate.yml" | ||
rm -f ${tarball} | ||
gh release download \ | ||
${tag} \ | ||
--repo apache/arrow \ | ||
--dir . \ | ||
--pattern "${tarball}" | ||
. $SOURCE_DIR/utils-watch-gh-workflow.sh ${tag} "csharp.yml" | ||
rm -rf artifacts | ||
gh release download ${tag} \ | ||
--dir artifacts \ | ||
--repo "${GITHUB_REPOSITORY}" | ||
fi | ||
|
||
if [ ${SOURCE_RAT} -gt 0 ]; then | ||
"${SOURCE_DIR}/run-rat.sh" ${tarball} | ||
"${SOURCE_DIR}/run-rat.sh" artifacts/${tarball} | ||
fi | ||
|
||
if type shasum >/dev/null 2>&1; then | ||
sha256_generate="shasum -a 256" | ||
sha512_generate="shasum -a 512" | ||
else | ||
sha256_generate="sha256sum" | ||
sha512_generate="sha512sum" | ||
fi | ||
|
||
|
||
if [ ${SOURCE_UPLOAD} -gt 0 ]; then | ||
# sign the archive | ||
gpg --armor --output ${tarball}.asc --detach-sig ${tarball} | ||
${sha256_generate} $tarball > ${tarball}.sha256 | ||
${sha512_generate} $tarball > ${tarball}.sha512 | ||
rm -rf signed-artifacts | ||
mkdir -p signed-artifacts | ||
|
||
# sign the artifacts | ||
for artifact in artifacts/*; do | ||
case "${artifact}" in | ||
*.sha256|*.sha512) | ||
continue | ||
;; | ||
esac | ||
gpg \ | ||
--armor \ | ||
--detach-sig \ | ||
--output signed-artifacts/$(basename ${artifact}).asc \ | ||
${artifact} | ||
done | ||
|
||
# Upload signed tarballs to GitHub Release | ||
gh release upload --repo apache/arrow ${tag} ${tarball}.sha256 ${tarball}.sha512 | ||
gh release upload ${tag} \ | ||
--repo "${GITHUB_REPOSITORY}" \ | ||
--verify-tag \ | ||
signed-artifacts/* | ||
|
||
# check out the arrow RC folder | ||
svn co --depth=empty https://dist.apache.org/repos/dist/dev/arrow tmp | ||
|
@@ -99,13 +105,16 @@ if [ ${SOURCE_UPLOAD} -gt 0 ]; then | |
mkdir -p tmp/${tag} | ||
|
||
# copy the rc tarball into the tmp dir | ||
cp ${tarball}* tmp/${tag} | ||
cp artifacts/${tarball}* tmp/${tag} | ||
cp signed-artifacts/${tarball}.asc tmp/${tag} | ||
|
||
# commit to svn | ||
svn add tmp/${tag} | ||
svn ci -m "Apache Arrow ${version} RC${rc}" tmp/${tag} | ||
|
||
# clean up | ||
rm -rf artifacts | ||
rm -rf signed-artifacts | ||
rm -rf tmp | ||
|
||
echo "Success! The release candidate is available here:" | ||
|
@@ -124,7 +133,7 @@ if [ ${SOURCE_PR} -gt 0 ]; then | |
--head-branch=${rc_branch} \ | ||
--pr-body="PR to verify Release Candidate" \ | ||
--pr-title="WIP: [Release] Verify ${rc_branch}" \ | ||
--remote=https://github.com/apache/arrow \ | ||
--remote=https://github.com/${GITHUB_REPOSITORY} \ | ||
--rc=${rc} \ | ||
--verify-source \ | ||
--version=${version} | ||
|
@@ -143,7 +152,7 @@ if [ ${SOURCE_VOTE} -gt 0 ]; then | |
curl_options+=(--get) | ||
curl_options+=(--data "state=open") | ||
curl_options+=(--data "head=apache:${rc_branch}") | ||
curl_options+=(https://api.github.com/repos/apache/arrow/pulls) | ||
curl_options+=(https://api.github.com/repos/${GITHUB_REPOSITORY}/pulls) | ||
verify_pr_url=$(curl "${curl_options[@]}" | jq -r ".[0].html_url") | ||
echo "The following draft email has been created to send to the" | ||
echo "[email protected] mailing list" | ||
|
@@ -163,13 +172,13 @@ This release candidate is based on commit: | |
${release_hash} [2] | ||
The source release rc${rc} is hosted at [3]. | ||
The binary artifacts are hosted at [4][5][6][7][8][9][10]. | ||
The changelog is located at [11]. | ||
The binary artifacts are hosted at [4][5][6][7][8][9]. | ||
The changelog is located at [10]. | ||
Please download, verify checksums and signatures, run the unit tests, | ||
and vote on the release. See [12] for how to validate a release candidate. | ||
and vote on the release. See [11] for how to validate a release candidate. | ||
See also a verification result on GitHub pull request [13]. | ||
See also a verification result on GitHub pull request [12]. | ||
The vote will be open for at least 72 hours. | ||
|
@@ -184,12 +193,11 @@ The vote will be open for at least 72 hours. | |
[5]: https://apache.jfrog.io/artifactory/arrow/amazon-linux-rc/ | ||
[6]: https://apache.jfrog.io/artifactory/arrow/centos-rc/ | ||
[7]: https://apache.jfrog.io/artifactory/arrow/debian-rc/ | ||
[8]: https://apache.jfrog.io/artifactory/arrow/nuget-rc/${version}-rc${rc} | ||
[9]: https://apache.jfrog.io/artifactory/arrow/python-rc/${version}-rc${rc} | ||
[10]: https://apache.jfrog.io/artifactory/arrow/ubuntu-rc/ | ||
[11]: https://github.com/apache/arrow/blob/${release_hash}/CHANGELOG.md | ||
[12]: https://arrow.apache.org/docs/developers/release_verification.html | ||
[13]: ${verify_pr_url} | ||
[8]: https://apache.jfrog.io/artifactory/arrow/python-rc/${version}-rc${rc} | ||
[9]: https://apache.jfrog.io/artifactory/arrow/ubuntu-rc/ | ||
[10]: https://github.com/apache/arrow/blob/${release_hash}/CHANGELOG.md | ||
[11]: https://arrow.apache.org/docs/developers/release_verification.html | ||
[12]: ${verify_pr_url} | ||
echo "---------------------------------------------------------" | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.