- Go to Gitlab's Pipelines in the repository.
- Click on the grey job with an arrow in it (
development
branch). - Click on 'Create Release' manually job of the pipeline, not on the play button!
- Enter the following key-value variable:
- Key:
RELEASE_TAG_NAME
- Value: The git tag you want, for example:
1.2.3
- Key:
- Press 'Run job'
All release steps are automatically executed including syncing the master
branch, git tags, Maven, Docker, etc.
Once the job completes, make manually a GitHub Release from the tag your created on GitHub.
- Make a new release branch (named
release/X.Y.Z
) - Bump version number in
pom.xml
- Update the changelog with the release name, use ChangeFrog to avoid mistakes.
- Run
mvn clean install -DskipTests=True
to generate a fat jar. - Create a merge request from the
release/X.Y.Z
branch to thedevelopment
branch and merge it if all tests pass. - Repeat this for
development
tomaster
. - Create a git tag:
git tag $TAG
onmaster
. - Push tag:
git push --tags
- Run
docker build -t rmlio/rmlmapper-java:$TAG .
to generate a Docker image for your$TAG
. - Repeat this for the
latest
tag:docker build -t rmlio/rmlmapper-java:latest
- Push Docker images to Docker Hub:
docker push rmlio/rmlmapper-java:$TAG
anddocker push rmlio/rmlmapper-java:latest
.
The following steps deploy a new version to the Central Repository, based on this tutorial.
- Check if
~/.m2/settings.xml
exists. - If so, add the content of
settings.example.xml
to it, else copysettings.example.xml
to~/.m2/settings.xml
. - Fill in your JIRA user name and password in
settings.xml
. - Fill in your GPG passphrase. Find more information about setting up your key here.
- Make sure
JAVA_HOME
is properly set for your setup. Example:export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
- Deploy the latest release via
mvn clean deploy -P release -DskipTests=true
.
- Update the
master
anddevelopment
branches on Github. - Go to the Github repo and make a new release.
- Select the tag you created earlier.
- Add the content of
CHANGELOG.md
in the release notes - Append the fat jar you generated earlier as release binaries
- Make sure you have
pmbootstrap
installed and ranpmbootstrap init
, see https://wiki.postmarketos.org/wiki/Installing_pmbootstrap#Installing_automatically - Fork and clone aports: https://gitlab.alpinelinux.org/alpine/aports
- Copy
APKBUILD
file of the rmlmapper intesting/rmlmapper
to~/.local/var/pmbootstrap/cache_git/pmaports/temp/rmlmapper/
. You might need to create thermlmapper
directory. - Update the version number in the
APKBUILD
file. - Run
pmbootstrap checksum rmlmapper
. This will update the SHA512 checksums. - Check if everything builds:
pmbootstrap build rmlmapper
- If it passes, copy the
APKBUILD
file back toaports/testing/rmlmapper
- Create a new commit in the
aports
git repo with title:testing/rmlmapper: update to $TAG
- Push to your fork and create a Merge Request in Alpine Linux's Gitlab.
- If the CI properly passes, maintainers will merge it in the next few hours or days.
- Re-run them for this
$TAG
- Make a merge request to the
rmlio
website