FINERACT-2335: don't rename release tarballs

Release tarballs are currently renamed (without changing the contents): apache-fineract-src-1.12.1.tar.gz becomes apache-fineract-1.12.1-src.tar.gz . The former matches the exploded directory name, the latter does not. The difference is subtle but meaningful... I strongly prefer the former because it's less surprising / more common, and easier to work with from scripts.

There's no functional difference, this should only impact aesthetics.

I did also shorten `binary` to `bin` so release artifact name lengths match.
This commit is contained in:
Adam Monsen
2025-07-28 11:04:23 -07:00
parent ab8bb930ec
commit e090da2a01
5 changed files with 15 additions and 25 deletions
@@ -176,8 +176,8 @@ fineract {
description: 'Sign the distribution artifacts', description: 'Sign the distribution artifacts',
gpg: [ gpg: [
files: [ files: [
"${rootDir}/fineract-war/build/distributions/apache-fineract-${project.version}-src.tar.gz", "${rootDir}/fineract-war/build/distributions/apache-fineract-src-${project.version}.tar.gz",
"${rootDir}/fineract-war/build/distributions/apache-fineract-${project.version}-binary.tar.gz" "${rootDir}/fineract-war/build/distributions/apache-fineract-bin-${project.version}.tar.gz"
] ]
] ]
], ],
@@ -16,12 +16,12 @@ Make sure to do some sanity checks. The source tarball and the code in the relea
[source,bash,subs="attributes+"] [source,bash,subs="attributes+"]
---- ----
% cd /fineract-release-preparations % cd /fineract-release-preparations
% tar -xvf path/to/apache-fineract-{revnumber}-src.tar.gz % tar -xvf path/to/apache-fineract-src-{revnumber}.tar.gz
% git clone git@github.com:apache/fineract.git % git clone git@github.com:apache/fineract.git
% cd fineract/ % cd fineract/
% git checkout tags/{revnumber} % git checkout tags/{revnumber}
% cd .. % cd ..
% diff -r fineract apache-fineract-{revnumber} % diff -r fineract apache-fineract-src-{revnumber}
---- ----
Make sure the code compiles and tests pass on the uncompressed source. Do as much testing as you can and share what you did. Ideally you'd build code and docs and run every possible test and check, but https://github.com/apache/fineract/actions[running everything has complex dependencies, caches, and takes many hours]. It is rarely done in practice offline / local / on developer machines. But please, go ahead and run the test and doc tasks, and more! Grab a cup of coffee and run everything you can. See the various builds in `.github/workflows/` and try the same things on your own. We should all hammer on a release candidate as much as we can to see if it breaks and fix it if so. All that of course improves our final release. Make sure the code compiles and tests pass on the uncompressed source. Do as much testing as you can and share what you did. Ideally you'd build code and docs and run every possible test and check, but https://github.com/apache/fineract/actions[running everything has complex dependencies, caches, and takes many hours]. It is rarely done in practice offline / local / on developer machines. But please, go ahead and run the test and doc tasks, and more! Grab a cup of coffee and run everything you can. See the various builds in `.github/workflows/` and try the same things on your own. We should all hammer on a release candidate as much as we can to see if it breaks and fix it if so. All that of course improves our final release.
@@ -6,10 +6,10 @@ Release source and binary tarballs must be checksummed and signed. In order to s
[source,bash,subs="attributes+,+macros"] [source,bash,subs="attributes+,+macros"]
---- ----
% gpg --armor --output apache-fineract-{revnumber}-src.tar.gz.asc --detach-sig apache-fineract-{revnumber}-src.tar.gz % gpg --armor --output apache-fineract-src-{revnumber}.tar.gz.asc --detach-sig apache-fineract-src-{revnumber}.tar.gz
% gpg --print-md SHA512 apache-fineract-{revnumber}-src.tar.gz > apache-fineract-{revnumber}-src.tar.gz.sha512 % gpg --print-md SHA512 apache-fineract-src-{revnumber}.tar.gz > apache-fineract-src-{revnumber}.tar.gz.sha512
% gpg --armor --output apache-fineract-{revnumber}-binary.tar.gz.asc --detach-sig apache-fineract-{revnumber}-binary.tar.gz % gpg --armor --output apache-fineract-bin-{revnumber}.tar.gz.asc --detach-sig apache-fineract-bin-{revnumber}.tar.gz
% gpg --print-md SHA512 apache-fineract-{revnumber}-binary.tar.gz > apache-fineract-{revnumber}-binary.tar.gz.sha512 % gpg --print-md SHA512 apache-fineract-bin-{revnumber}.tar.gz > apache-fineract-bin-{revnumber}.tar.gz.sha512
---- ----
== Gradle Task == Gradle Task
@@ -4,12 +4,12 @@
Finally create a directory with release name ({revnumber} in this example) in https://dist.apache.org/repos/dist/dev/fineract and add the following files in this new directory: Finally create a directory with release name ({revnumber} in this example) in https://dist.apache.org/repos/dist/dev/fineract and add the following files in this new directory:
* apache-fineract-{revnumber}-binary.tar.gz * apache-fineract-bin-{revnumber}.tar.gz
* apache-fineract-{revnumber}-binary.tar.gz.sha512 * apache-fineract-bin-{revnumber}.tar.gz.sha512
* apache-fineract-{revnumber}-binary.tar.gz.asc * apache-fineract-bin-{revnumber}.tar.gz.asc
* apache-fineract-{revnumber}-src.tar.gz * apache-fineract-src-{revnumber}.tar.gz
* apache-fineract-{revnumber}-src.tar.gz.sha512 * apache-fineract-src-{revnumber}.tar.gz.sha512
* apache-fineract-{revnumber}-src.tar.gz.asc * apache-fineract-src-{revnumber}.tar.gz.asc
These files (or "artifacts") make up the release candidate. These files (or "artifacts") make up the release candidate.
+1 -11
View File
@@ -105,7 +105,7 @@ tasks.withType(Tar) {
distributions { distributions {
binary { binary {
distributionBaseName = 'apache-fineract-binary' distributionBaseName = 'apache-fineract-bin'
contents { contents {
// Track inputs explicitly for binary distribution // Track inputs explicitly for binary distribution
filesMatching('**/*.jar') { filesMatching('**/*.jar') {
@@ -170,21 +170,11 @@ tasks.named('binaryDistTar') {
':fineract-provider:build', ':fineract-doc:doc', ':fineract-provider:build', ':fineract-doc:doc',
':fineract-client:javadocJar', ':fineract-client:sourcesJar', ':fineract-client:javadocJar', ':fineract-client:sourcesJar',
':fineract-avro-schemas:javadocJar', ':fineract-avro-schemas:sourcesJar') ':fineract-avro-schemas:javadocJar', ':fineract-avro-schemas:sourcesJar')
doLast {
file("${buildDir}/distributions/apache-fineract-binary-${version}.tar.gz")
.renameTo("${buildDir}/distributions/apache-fineract-${version}-binary.tar.gz")
}
} }
tasks.named('srcDistTar') { tasks.named('srcDistTar') {
description = 'Assembles the source distribution as a tar archive' description = 'Assembles the source distribution as a tar archive'
outputs.cacheIf { true } outputs.cacheIf { true }
doLast {
file("${buildDir}/distributions/apache-fineract-src-${version}.tar.gz")
.renameTo("${buildDir}/distributions/apache-fineract-${version}-src.tar.gz")
}
} }
// Disable zip distributions as they're not needed // Disable zip distributions as they're not needed