Skip to content

Commit

Permalink
RELEASE: improve CI-based release docs
Browse files Browse the repository at this point in the history
  • Loading branch information
DylanVanAssche committed Oct 5, 2023
1 parent f65886e commit cb3547e
Showing 1 changed file with 21 additions and 6 deletions.
27 changes: 21 additions & 6 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,21 @@
# Release process

## Release branch and tags
## Automated

1. Go to Gitlab's Pipelines in the repository.
2. Click on the grey job with an arrow in it (`development` branch).
3. Click on 'Create Release' manually job of the pipeline, not on the play button!
4. Enter the following key-value variable:
- Key: `RELEASE_TAG_NAME`
- Value: The git tag you want, for example: `1.2.3`
5. 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.

## Manually

### Release branch and tags

1. Make a new release branch (named `release/X.Y.Z`)
2. Bump version number in `pom.xml`
Expand All @@ -11,13 +26,13 @@
7. Create a git tag: `git tag $TAG` on `master`.
8. Push tag: `git push --tags`

## Docker image
### Docker image

1. Run `docker build -t rmlio/rmlmapper-java:$TAG .` to generate a Docker image for your `$TAG`.
2. Repeat this for the `latest` tag: `docker build -t rmlio/rmlmapper-java:latest`
3. Push Docker images to Docker Hub: `docker push rmlio/rmlmapper-java:$TAG` and `docker push rmlio/rmlmapper-java:latest`.

## Deploy on Central Repository
### Deploy on Central Repository

The following steps deploy a new version to the Central Repository,
based on [this tutorial](https://central.sonatype.org/pages/apache-maven.html).
Expand All @@ -30,15 +45,15 @@ copy `settings.example.xml` to `~/.m2/settings.xml`.
5. Make sure `JAVA_HOME` is properly set for your setup. Example: `export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64`
6. Deploy the latest release via `mvn clean deploy -P release -DskipTests=true`.

## Create a release on Github
### Create a release on Github

1. Update the `master` and `development` branches on Github.
2. Go to the Github repo and make a new release.
3. Select the tag you created earlier.
4. Add the content of `CHANGELOG.md` in the release notes
5. Append the fat jar you generated earlier as release binaries

## Create a Merge Request to Alpine Linux's aports
### Create a Merge Request to Alpine Linux's aports

1. Make sure you have `pmbootstrap` installed and ran `pmbootstrap init`, see https://wiki.postmarketos.org/wiki/Installing_pmbootstrap#Installing_automatically
3. Fork and clone aports: https://gitlab.alpinelinux.org/alpine/aports
Expand All @@ -51,7 +66,7 @@ copy `settings.example.xml` to `~/.m2/settings.xml`.
10. Push to your fork and create a Merge Request in Alpine Linux's Gitlab.
11. If the CI properly passes, maintainers will merge it in the next few hours or days.

## Re-run the R2RML implementation report test cases
### Re-run the R2RML implementation report test cases

1. Re-run them for this `$TAG`
2. Make a merge request to the `rmlio` website

0 comments on commit cb3547e

Please sign in to comment.