FINERACT-2219: capture v1.11.0 lessons learned in asciidoc and fineract release plugin
* don't bother making MD5 files, they aren't necessary * step12 changed, stub it out and reference FINERACT-1817 for future improvements (looks like svn mv is not yet supported) * use latest vote message template, based on https://lists.apache.org/thread/cs5t0ho39ktg2jxr74dqd7fg9nyfcz3k * use more explicit form of `git push` to push release tag, see https://stackoverflow.com/questions/5195859/how-do-you-push-a-tag-to-a-remote-repository-using-git * use consistent language re: tarball, file, artifact, release candidate * fix some source listings that shouldn't be using macro expansion: this messes up URLs (hides scheme) * fix asciidoc link to FINERACT-1229 * clean up copyright years: use variable properly and remove unnecessary extra copyright in preface (it appears directly above, in the license) * de-indent URL in apache license -- this makes the link clickable in rendered HTML and PDF asciidoc outputs
This commit is contained in:
@@ -334,8 +334,6 @@ class FineractPlugin implements Plugin<Project> {
|
||||
gpgService.sign(step.gpg)
|
||||
|
||||
step.gpg.files.findAll {
|
||||
gpgService.md5(step.gpg)
|
||||
|
||||
gpgService.sha512(step.gpg)
|
||||
}
|
||||
}
|
||||
@@ -440,29 +438,10 @@ class FineractPlugin implements Plugin<Project> {
|
||||
project.tasks.register("fineractReleaseStep12") {
|
||||
doFirst {
|
||||
FineractPluginExtension.FineractPluginStep step = step(extension, "step12")
|
||||
|
||||
String version = project.properties?['fineract.release.version']
|
||||
|
||||
if(!version) {
|
||||
TextIO textIO = TextIoFactory.getTextIO()
|
||||
|
||||
version = textIO.newStringInputReader()
|
||||
.withPattern("\\d+.\\d+.\\d+")
|
||||
.read("Release Version");
|
||||
}
|
||||
|
||||
// TODO: input validation, see FINERACT-1610
|
||||
|
||||
subversionService.checkout(step.subversion)
|
||||
|
||||
def directory = step.subversion.directory?:System.getProperty("java.io.tmpdir") + "/fineract-dist-release"
|
||||
|
||||
def source = new File("fineract-war/build/distributions")
|
||||
def target = new File("${directory}/${version}")
|
||||
|
||||
FileUtils.copyDirectory(source, target, true)
|
||||
|
||||
subversionService.commit(step.subversion)
|
||||
// TODO: implement this, see FINERACT-1817
|
||||
printInstructions(project, "step12")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -116,15 +116,6 @@ class GpgService {
|
||||
return generator.generate();
|
||||
}
|
||||
|
||||
|
||||
void md5(FineractPluginExtension.FineractPluginGpgParams params) {
|
||||
params.files.findAll {
|
||||
def result = calc(new FileInputStream(it), MessageDigest.getInstance("MD5", BouncyCastleProvider.PROVIDER_NAME))
|
||||
def file = new File("${it}.md5")
|
||||
file.write result
|
||||
}
|
||||
}
|
||||
|
||||
void sha512(FineractPluginExtension.FineractPluginGpgParams params) {
|
||||
params.files.findAll {
|
||||
def result = calc(new FileInputStream(it), MessageDigest.getInstance("SHA-512", BouncyCastleProvider.PROVIDER_NAME))
|
||||
|
||||
@@ -20,15 +20,15 @@
|
||||
-->
|
||||
Hello everyone,
|
||||
|
||||
... we have created Apache Fineract ${project['fineract.release.version']} release, with the artifacts below up for a vote.
|
||||
We are proud to present Apache Fineract ${project['fineract.release.version']}, with the artifacts below up for a vote. Releases are important for a number of reasons: They put a stamp of approval on a set of code changes and they build momentum for future improvements.
|
||||
|
||||
It fixes the following issues: https://cwiki.apache.org/confluence/display/FINERACT/${project['fineract.release.version']}+-+Apache+Fineract
|
||||
Release notes and ChangeLog: https://cwiki.apache.org/confluence/display/FINERACT/${project['fineract.release.version']}+-+Apache+Fineract
|
||||
|
||||
Source & Binary files : https://dist.apache.org/repos/dist/dev/fineract/${project['fineract.release.version']}/
|
||||
Source and binary artifacts: https://dist.apache.org/repos/dist/dev/fineract/${project['fineract.release.version']}/
|
||||
|
||||
Tag to be voted on (rc#): https://gitbox.apache.org/repos/asf?p=fineract.git;a=commit;h=refs/heads/${project['fineract.release.version']}
|
||||
Tagged as ${project['fineract.release.version']}
|
||||
|
||||
Fineract's KEYS containing the PGP key we used to sign the release: https://dist.apache.org/repos/dist/dev/fineract/KEYS
|
||||
Committer PGP keys, including the release signing key: https://dist.apache.org/repos/dist/dev/fineract/KEYS
|
||||
|
||||
Note that this release contains source and binary artifacts.
|
||||
|
||||
@@ -38,6 +38,16 @@ This vote will be open for 72 hours:
|
||||
[ ] +0 no opinion
|
||||
[ ] -1 disapprove (and reason why)
|
||||
|
||||
Please indicate if you are a binding vote (member of the PMC).
|
||||
|
||||
Please also indicate with "Tested: YES/NO/PARTIAL" if you have locally built and/or tested these artifacts and/or a clone of the code checked out to the release commit, following the form:
|
||||
|
||||
Tested: YES ... Verified integrity and signatures of release artifacts locally, built from source, ran jar/war: Did everything mentioned in the current release candidate verification guidance ( https://lists.apache.org/thread/hym94pdy3nk9gjspkz4qonv2v15n5dpo ). If you did more than that, please specify.
|
||||
|
||||
Tested: NO ... No testing performed on release candidate, e.g. relying on testing performed by other contributors ( https://lists.apache.org/thread/q4xvombgzk99lpow23bdpvd7n0dx49lt , https://lists.apache.org/thread/42p54kfx69olcopdg4lojgpj1drmbmtw ) and/or output of GitHub Actions, while exercising my right to vote.
|
||||
|
||||
Tested: PARTIAL ... Please specify.
|
||||
|
||||
Cheers,
|
||||
|
||||
${project['fineract.config.name']}
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
<#--
|
||||
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
|
||||
-->
|
||||
|
||||
|
||||
[INSTRUCTIONS:START]
|
||||
|
||||
Move the release candidate from the dev area to the release area using a Subversion server-side copy:
|
||||
|
||||
svn mv https://dist.apache.org/repos/dist/dev/fineract/${project['fineract.release.version']} https://dist.apache.org/repos/dist/release /fineract/
|
||||
|
||||
[INSTRUCTIONS:END]
|
||||
@@ -27,9 +27,9 @@ Following are the typical things we need to verify before voting on a release ca
|
||||
Make sure release artifacts are hosted at https://dist.apache.org/repos/dist/dev/fineract
|
||||
|
||||
* Release candidates should be in format apache-fineract-${project['fineract.release.version']}-binary.tar.gz
|
||||
* Verify signatures and hashes. You may have to import the public key of the release manager to verify the signatures. (`gpg --recv-key <key id>`)
|
||||
* Verify signatures and hashes. You may have to import the public key of the release manager to verify the signatures. (gpg --import KEYS or gpg --recv-key <key id>)
|
||||
* Git tag matches the released bits (diff -rf)
|
||||
* Can compile successfully from source
|
||||
* Can compile docs and code successfully from source
|
||||
* Verify DISCLAIMER, NOTICE and LICENSE (year etc)
|
||||
* All files have correct headers (Rat check should be clean - gradlew rat)
|
||||
* No jar files in the source artifacts
|
||||
|
||||
Reference in New Issue
Block a user