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 )