Practical workflow for Chenile maintainers covering version upgrades, installs, tagging, git describe checks, deploy, and Maven Central publication checks.
Edit me

This handbook captures the practical maintenance workflow for the 11 primary Chenile repositories.

Working rules

  • Do not commit unrelated changes during a version upgrade.
  • Prefer annotated tags so git describe resolves to the release tag.
  • Treat chenile-parent as the release gate for all the other repositories.
  • Do not deploy the sibling repositories until the new chenile-parent is visible in Maven Central.

Repository order

Use this standard order for build, tagging, and deploy:

  1. chenile-parent
  2. chenile-core
  3. chenile-query-workflow-blueprints
  4. chenile-service-registry
  5. chenile-proxies
  6. chenile-security
  7. chenile-messaging
  8. chenile-bdd
  9. chenile-others
  10. chenile-process-management
  11. cconfig

Release checklist

1. Update versions

Update chenile-parent first, then update each sibling repository root pom.xml parent version and *-version.txt file.

2. Verify the scoped edits

Typical check:

git status --short

3. Run local installs

Run local build verification in repository order.

mvn install

The repository Makefiles also support:

make build

4. Commit the upgrade

Commit each repository with:

Upgraded to <version>

5. Create annotated tags

git tag -a <version> -m "<version>"

6. Push branch and tag

git push
git push origin <version>

If main has no upstream:

git push --set-upstream origin main
git push origin <version>

7. Verify git describe

After tagging:

git describe

Expected result:

<version>

If it returns something like 2.1.13-1-g<sha>, the new tag is probably lightweight while the older tag is annotated.

Fix:

git tag -d <version>
git tag -a <version> -m "<version>"
git push --force origin refs/tags/<version>

Deploy workflow

Step 1: Deploy chenile-parent

make deploy

Step 2: Wait for Maven Central

Verify that:

org.chenile:chenile-parent:<version>

is visible in Maven Central before deploying any sibling repository.

Step 3: Deploy the remaining repositories

Only after chenile-parent is visible in Maven Central, run:

make deploy

in the standard repository order.

Troubleshooting

git describe shows the previous version

Cause:

  • the new tag is lightweight
  • the older tag is annotated

Resolution:

  • recreate the tag as annotated
  • force-push the updated tag

chenile-parent deploy succeeded but sibling deploys fail

Likely cause:

  • Maven Central has not indexed the new parent yet

Resolution:

  • wait until the parent version is visible in Maven Central
  • retry dependent deploys after publication is confirmed
Tags: