Lucy
view release on metacpan or search on metacpan
devel/bin/release_commands.pl view on Meta::CPAN
say qq|[...]\n|;
say qq|# Commit version bump and CHANGES.|;
say qq|git commit -m "Updating CHANGES and version number |
. qq|for release $x_y_z_version."\n|;
}
if ( $micro == 0 && $rc < 2 ) {
say qq|# Since this is the first release in a series (i.e. X.Y.0),|;
say qq|# create a branch.|;
say qq|git checkout -b $major.$minor\n|;
say qq|# Update the CI test scripts|;
say qq|# - devel/bin/appveyor-build.bat|;
say qq|# - devel/bin/travis-test.sh|;
say qq|# to use the Clownfish branch containing the required major|;
say qq|# version. Replace the commands|;
say qq|# git clone -q --depth 1 <cfish_repo>|;
say qq|# with|;
say qq|# git clone -q -b <cfish_branch> --depth 1 <cfish_repo>|;
say qq|[...]|;
say qq|git commit -m "Updating CI test scripts |
. qq|for release $x_y_z_version."\n|;
}
say qq|# Create a tag for the release candidate.|;
say qq|git tag v$full_rc_version |
. qq|-m "Tagging release candidate $rc for $x_y_z_version."\n|;
say qq|# Export a pristine copy of the source from the release candidate|;
say qq|# tag.|;
say qq|git archive --prefix=apache-lucy-$x_y_z_version/ |
. qq|--output=apache-lucy-$x_y_z_version.tar.gz |
. qq|v$full_rc_version\n|;
say qq|# Create an RC directory in our dev area on dist.apache.org|;
say qq|# and check out a copy.|;
say qq|svn mkdir -m "Create RC dir for apache-lucy-$full_rc_version" |
. qq|https://dist.apache.org/repos/dist/dev/lucy/apache-lucy-$full_rc_version|;
say qq|svn co |
. qq|https://dist.apache.org/repos/dist/dev/lucy/apache-lucy-$full_rc_version\n|;
say qq|# Move the tarball and a copy of the CHANGES file into the RC dir,|;
say qq|# then chdir into it.|;
say qq|mv apache-lucy-$x_y_z_version.tar.gz apache-lucy-$full_rc_version|;
say qq|cp -p CHANGES apache-lucy-$full_rc_version/CHANGES-$x_y_z_version.txt|;
say qq|cd apache-lucy-$full_rc_version\n|;
say qq|# Generate checksums.|;
say qq|perl -MDigest -e '\$d = Digest->new("MD5"); open \$fh, |
. qq|"<apache-lucy-$x_y_z_version.tar.gz" or die; |
. qq|\$d->addfile(\$fh); print \$d->hexdigest; |
. qq|print " apache-lucy-$x_y_z_version.tar.gz\\n"' > |
. qq| apache-lucy-$x_y_z_version.tar.gz.md5|;
say qq|perl -MDigest -e '\$d = Digest->new("SHA-512"); open \$fh, |
. qq|"<apache-lucy-$x_y_z_version.tar.gz" or die; |
. qq|\$d->addfile(\$fh); print \$d->hexdigest; |
. qq|print " apache-lucy-$x_y_z_version.tar.gz\\n"' > |
. qq| apache-lucy-$x_y_z_version.tar.gz.sha512\n|;
say qq|# Sign the release.|;
say qq|gpg --armor --output apache-lucy-$x_y_z_version.tar.gz.asc |
. qq|--detach-sig apache-lucy-$x_y_z_version.tar.gz\n|;
say qq|# Add the artifacts and commit to the dev area on dist.apache.org.|;
say qq|svn add |
. qq|apache-lucy-$x_y_z_version.tar.gz |
. qq|apache-lucy-$x_y_z_version.tar.gz.md5 |
. qq|apache-lucy-$x_y_z_version.tar.gz.sha512 |
. qq|apache-lucy-$x_y_z_version.tar.gz.asc |
. qq|CHANGES-$x_y_z_version.txt |;
say qq|svn ci -m "Add apache-lucy-$x_y_z_version artifacts"\n|;
say qq|# Perform whatever QC seems prudent on the tarball, installing it|;
say qq|# on test systems, etc.|;
say qq|[...]\n|;
say qq|# Push your branch and the tag for the RC.|;
say qq|git push origin $major.$minor|;
say qq|git push origin v$full_rc_version\n|;
say qq|###############################################################|;
say qq|# Voting|;
say qq|###############################################################\n|;
say qq|# Call a release vote on the dev list, referring to the artifacts|;
say qq|# made public in the previous step and using the boilerplate email|;
say qq|# below.|;
say qq|[...]\n|;
say qq|###############################################################|;
say qq|# After the vote has passed...|;
say qq|###############################################################\n|;
say qq|# Tag the release and delete the RC tags.|;
say qq|git tag rel/v$x_y_z_version v$full_rc_version|;
say qq|git push origin rel/v$x_y_z_version|;
for ( 1 .. $rc ) {
my $rc_tag = qq|v$major.$minor.$micro-rc$_|;
say qq|git tag -d $rc_tag|;
say qq|git push origin :$rc_tag|;
}
say "";
say qq|# Copy release artifacts to the production dist directory and|;
say qq|# remove the RC dir. The "svnmucc" app, which ships with Subversion|;
say qq|# 1.7, is required.|;
say qq|svnmucc -m "Publish Apache Lucy $x_y_z_version" |
. qq|-U https://dist.apache.org/repos/dist/ |
. qq|mv dev/lucy/apache-lucy-$full_rc_version/apache-lucy-$x_y_z_version.tar.gz |
. qq|release/lucy/apache-lucy-$x_y_z_version.tar.gz |
. qq|mv dev/lucy/apache-lucy-$full_rc_version/apache-lucy-$x_y_z_version.tar.gz.md5 |
. qq|release/lucy/apache-lucy-$x_y_z_version.tar.gz.md5 |
. qq|mv dev/lucy/apache-lucy-$full_rc_version/apache-lucy-$x_y_z_version.tar.gz.sha512 |
. qq|release/lucy/apache-lucy-$x_y_z_version.tar.gz.sha512 |
. qq|mv dev/lucy/apache-lucy-$full_rc_version/apache-lucy-$x_y_z_version.tar.gz.asc |
. qq|release/lucy/apache-lucy-$x_y_z_version.tar.gz.asc |
. qq|mv dev/lucy/apache-lucy-$full_rc_version/CHANGES-$x_y_z_version.txt |
. qq|release/lucy/CHANGES-$x_y_z_version.txt|;
say qq|svnmucc -m "Remove apache-lucy-$full_rc_version directory" |
. qq|-U https://dist.apache.org/repos/dist/ |
. qq|rm dev/lucy/apache-lucy-$full_rc_version\n|;
( run in 0.492 second using v1.01-cache-2.11-cpan-df04353d9ac )