This is an automated email from the ASF dual-hosted git repository.

adamsaghy pushed a commit to branch release/1.13.1
in repository https://gitbox.apache.org/repos/asf/fineract.git

commit a0617870f70f8be3372175cb981b58cedc99dd91
Author: Adam Monsen <[email protected]>
AuthorDate: Sat Oct 11 13:35:16 2025 -0700

    further improve release steps 6 and 9
    
    Originally I thought I was causing issues by running `./gradlew clean` 
separate from `./gradlew srcDistTar binaryDistTar`. If I did (or so I thought), 
a `fineract-provider/build/classes/java/main/git.properties` file was 
_sometimes_ not generated (the `generateGitProperties` task failing, 
misbehaving, or not even running? was the file getting deleted? no idea).
    
    Unsure of the cause, at least I understand that file is supposed to end up 
at `BOOT-INF/classes/git.properties` in `fineract-provider-VERSION.jar` in the 
binary release tarball. Its contents are displayed at the 
`/fineract-provider/actuator/info` endpoint. I think that's more or less how it 
works, but I did not spend enough time on this to be certain.
    
    Now I think it wasn't at all related to how I was running our Gradle tasks, 
but rather some nasty behavior in gradle-git-properties:
    
    * https://github.com/n0mer/gradle-git-properties/issues/233
    * https://github.com/gradle/gradle/issues/34177
    
    Yuck. 🤢
---
 .../docs/en/chapters/release/process-step06.adoc   | 14 +++------
 .../docs/en/chapters/release/process-step09.adoc   | 35 +++++++++++++++-------
 2 files changed, 29 insertions(+), 20 deletions(-)

diff --git a/fineract-doc/src/docs/en/chapters/release/process-step06.adoc 
b/fineract-doc/src/docs/en/chapters/release/process-step06.adoc
index a32093eeba..ed970fd5be 100644
--- a/fineract-doc/src/docs/en/chapters/release/process-step06.adoc
+++ b/fineract-doc/src/docs/en/chapters/release/process-step06.adoc
@@ -6,10 +6,11 @@ Create source and binary tarballs.
 
 [source,bash,subs="attributes+"]
 ----
-./gradlew clean
-./gradlew srcDistTar binaryDistTar
+./gradlew clean srcDistTar binaryDistTar
 ----
 
+Check that `fineract-provider/build/classes/java/main/git.properties` exists. 
If so, continue. If not, you're likely encountering 
https://github.com/n0mer/gradle-git-properties/issues/233[this bug], and you 
need to re-run the command above to create proper source and binary tarballs. 
That `git.properties` file is supposed to end up at 
`BOOT-INF/classes/git.properties` in `fineract-provider-{revnumber}.jar` in the 
binary release tarball. Its contents are displayed at the `/fineract-provid 
[...]
+
 Look in `fineract-war/build/distributions/` for the tarballs.
 
 Do some sanity checks. The source tarball and the code in the release branch 
(at the commit with the release tag) should match.
@@ -25,17 +26,10 @@ cd ..
 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. Here's the bare minimum check:
-
-[source,bash,subs="attributes+"]
-----
-./gradlew build -x test -x doc
-----
+Make sure the code compiles and tests pass on the uncompressed source. You 
should at the very least do exactly what you will ask the community to do in 
<<Step 9: Verify Distribution Staging>>.
 
 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 rel [...]
 
-Finally, inspect `apache-fineract-bin-{revnumber}.tar.gz`. Make sure the 
`fineract-provider-{revnumber}.jar` can be run directly, and the 
`fineract-provider.war` can be run with Tomcat.
-
 NOTE: We don't release any artifacts to Apache's Maven repository.
 
 == Gradle Task
diff --git a/fineract-doc/src/docs/en/chapters/release/process-step09.adoc 
b/fineract-doc/src/docs/en/chapters/release/process-step09.adoc
index e532f3ad7b..4c39485135 100644
--- a/fineract-doc/src/docs/en/chapters/release/process-step09.adoc
+++ b/fineract-doc/src/docs/en/chapters/release/process-step09.adoc
@@ -21,8 +21,7 @@ Make sure release artifacts are hosted at 
https://dist.apache.org/repos/dist/dev
 ----
 # source tarball signature and checksum verification steps
 # we'll check the source tarball first
-version={revnumber}
-src=apache-fineract-src-$version.tar.gz
+src=apache-fineract-src-{revnumber}.tar.gz
 
 # upon success: prints "Good signature" and returns successful exit code
 # upon failure: prints "BAD signature" and returns error exit code
@@ -33,7 +32,7 @@ gpg --verify $src.asc
 gpg --print-md SHA512 $src | diff - $src.sha512
 
 # binary tarball signature and checksum verification steps and outputs are 
similar
-bin=apache-fineract-bin-$version.tar.gz
+bin=apache-fineract-bin-{revnumber}.tar.gz
 gpg --verify $bin.asc
 gpg --print-md SHA512 $bin | diff - $bin.sha512
 ----
@@ -48,28 +47,44 @@ TIP: Consider also 
https://en.wikipedia.org/wiki/Key_signing_party[signing] and
 
 === Build from source
 
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 tar -xzf $src
-cd apache-fineract-src-$version
-gradle build -x test -x doc
+cd apache-fineract-src-{revnumber}
+./gradlew build -x test -x doc
 cd ..
 ----
 
 === Run from binary
 
-Before running this you must first start a database server and ensure the 
`fineract_default` and `fineract_tenant` databases exist. Then:
+Before running Fineract you must first start a <<Database support,supported 
relational database server>> and ensure the `fineract_default` and 
`fineract_tenants` databases exist. Detailed steps for database preparation are 
left as an exercise for the reader. You can find ideas on how to do prepare 
your database in the `build-mariadb.yml`, `build-mysql.yml`, and 
`build-postgresql.yml` files in source control.
+
+Finally, start your Fineract server:
+
+[source,bash,subs="attributes+"]
+----
+tar -xvzf apache-fineract-bin-{revnumber}
+cd apache-fineract-bin-{revnumber}
+export FINERACT_SERVER_SSL_ENABLED=false
+export FINERACT_SERVER_PORT=8080
+export BACKEND_PROTOCOL=http
+export BACKEND_PORT=$FINERACT_SERVER_PORT
+# assumes reachable, healthy mariadb with default username, password, and port
+java -jar fineract-provider-{revnumber}.jar
+----
+
+Alternatively, you can run it in Tomcat:
 
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
-tar -xzf $bin
-cd apache-fineract-bin-$version
 cat << 'EndOfRcenv' >> rcenv
 FINERACT_SERVER_SSL_ENABLED=false
 FINERACT_SERVER_PORT=8080
 BACKEND_PROTOCOL=http
 BACKEND_PORT=$FINERACT_SERVER_PORT
 EndOfRcenv
+source rcenv
+# assumes reachable, healthy mariadb with default username, password, and port
 docker run --rm -it -v "$(pwd):/usr/local/tomcat/webapps" \
   --net=host --env-file=rcenv tomcat:jre21
 ----

Reply via email to