-
Notifications
You must be signed in to change notification settings - Fork 9
Home
For user docs on stream processing see: https://v12technology.github.io/fluxtion/
old docs - ignore: https://fluxtion.gitbook.io/docs/
Fluxtion currently releases all the modules in the project with the same version number. Releases are run locally or from a github action, both releases methods perform the following actions:
- Validates the develop and master branches are at latest state
- Creates a release/[release-version-ref] from the develop branch and switches to new branch
- Moves snapshot to release versions for all sub modules including bom's
- Runs mvn install with all tests
- Signs all artefacts
- Uploads to maven central
- Tags the release
- Merges release into master branch
- Merges master into develop
- Bumps version numbers in develop branch to the next SNAPSHOT version
- Commits develop and master branches. Deletes local release/[release-version-ref] branch
- Pushes develop and master to github
A push on the release branch triggers the release process using github actions to orchestrate the process. The workflow file is here release.yml. To trigger a release:
- Create pull request from develop to release branch
- Commit the merge
- Outputs for the process are here
In order to the release to maven the project has passed all the steps detailed here. This guide presumes that has been completed.
run the script from the root of the project, in windows:
C:\projects\fluxtion>scripts\mavenRelease.bat
A local settings.xml needs to be configured in order to complete the release successfully:
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<pluginGroups>
<pluginGroup>external.atlassian.jgitflow</pluginGroup>
</pluginGroups>
<servers>
<server>
<id>ossrh</id>
<username>[MAVEN_CENTRAL_USER]</username>
<password>[MAVEN_CENTRAL_PASSWORD]</password>
</server>
<server>
<id>gpg.passphrase</id>
<passphrase>[GPG_PASSPHRASE]</passphrase>
</server>
</servers>
<profiles>
<profile>
<activation>
<property>
<name>!doNotUseFluxtionGitCredentials</name>
</property>
</activation>
<id>fluxtion-git-credentials</id>
<properties>
<fluxtion.github.user>[GITHUB_USER]</fluxtion.github.user>
<fluxtion.github.password>[GITHUB_PASSWORD]</fluxtion.github.password>
</properties>
</profile>
</profiles>
</settings>