Skip to content
greg higgins edited this page Feb 3, 2021 · 6 revisions

Welcome to the fluxtion wiki!

For user docs on stream processing see: https://v12technology.github.io/fluxtion/

old docs - ignore: https://fluxtion.gitbook.io/docs/

Releasing notes

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

Github action release

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:

  1. Create pull request from develop to release branch
  2. Commit the merge
  3. Outputs for the process are here

Maven central

In order to the release to maven the project has passed all the steps detailed here. This guide presumes that has been completed.

local release

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>