Skip to content

Commit 1aaf8ef

Browse files
committed
ci: add draft workflows
1 parent bb7f6d7 commit 1aaf8ef

3 files changed

Lines changed: 96 additions & 0 deletions

File tree

.github/workflows/build.yaml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: Build
2+
on:
3+
pull_request:
4+
5+
jobs:
6+
build:
7+
name: Build
8+
runs-on: ubuntu-latest
9+
steps:
10+
- uses: actions/checkout@v4
11+
- name: Determine Java version from POM
12+
run: |
13+
echo "JAVA_VERSION=$(grep '<jdk.version>' pom.xml | cut -f2 -d'>' | cut -f1 -d'<')" >> ${GITHUB_ENV}
14+
15+
- name: Set up JDK ${{ env.JAVA_VERSION }}
16+
uses: actions/setup-java@v4
17+
with:
18+
java-version: ${{ env.JAVA_VERSION }}
19+
distribution: 'temurin'
20+
cache: 'maven'
21+
22+
- name: Build, test, analyze
23+
run: mvn -B verify

.github/workflows/release.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Release to Maven Central Repository
2+
on:
3+
push:
4+
tags:
5+
- '*'
6+
7+
jobs:
8+
publish:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@v4
12+
- name: Determine Java version from POM
13+
run: |
14+
echo "JAVA_VERSION=$(grep '<jdk.version>' pom.xml | cut -f2 -d'>' | cut -f1 -d'<')" >> ${GITHUB_ENV}
15+
16+
- name: Set up JDK ${{ env.JAVA_VERSION }}
17+
uses: actions/setup-java@v4
18+
with:
19+
java-version: ${{ env.JAVA_VERSION }}
20+
distribution: 'temurin'
21+
cache: 'maven'
22+
23+
# Running setup-java again overwrites the settings.xml - IT'S MANDATORY TO DO THIS SECOND SETUP!!!
24+
- name: Set up Maven Central Repository
25+
uses: actions/setup-java@v4
26+
with:
27+
java-version: ${{ env.JAVA_VERSION }}
28+
distribution: 'temurin'
29+
server-id: ossrh
30+
server-username: MAVEN_USERNAME
31+
server-password: MAVEN_PASSWORD
32+
gpg-private-key: ${{ secrets.DATAVERSEBOT_GPG_KEY }}
33+
gpg-passphrase: MAVEN_GPG_PASSPHRASE
34+
35+
- name: Sign + Publish release
36+
run: mvn -Prelease deploy -DskipUT -DskipIT
37+
env:
38+
MAVEN_USERNAME: ${{ secrets.DATAVERSEBOT_SONATYPE_USERNAME }}
39+
MAVEN_PASSWORD: ${{ secrets.DATAVERSEBOT_SONATYPE_TOKEN }}
40+
MAVEN_GPG_PASSPHRASE: ${{ secrets.DATAVERSEBOT_GPG_PASSWORD }}

.github/workflows/snapshot.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: Snapshot to Maven Central Repository
2+
on:
3+
push:
4+
branches:
5+
- main
6+
7+
jobs:
8+
publish:
9+
runs-on: ubuntu-latest
10+
if: ${{ !contains(github.event.head_commit.message, '[maven-release-plugin]') }}
11+
steps:
12+
- uses: actions/checkout@v4
13+
- name: Determine Java version from POM
14+
run: |
15+
echo "JAVA_VERSION=$(grep '<jdk.version>' pom.xml | cut -f2 -d'>' | cut -f1 -d'<')" >> ${GITHUB_ENV}
16+
17+
- name: Set up JDK ${{ env.JAVA_VERSION }}
18+
uses: actions/setup-java@v4
19+
with:
20+
java-version: ${{ env.JAVA_VERSION }}
21+
distribution: 'temurin'
22+
cache: 'maven'
23+
server-id: ossrh
24+
server-username: MAVEN_USERNAME
25+
server-password: MAVEN_PASSWORD
26+
27+
- name: Build, test, verify and publish snapshot
28+
run: mvn -B verify
29+
- name: Publish snapshot
30+
run: mvn deploy -DskipUT -DskipIT
31+
env:
32+
MAVEN_USERNAME: ${{ secrets.DATAVERSEBOT_SONATYPE_USERNAME }}
33+
MAVEN_PASSWORD: ${{ secrets.DATAVERSEBOT_SONATYPE_TOKEN }}

0 commit comments

Comments
 (0)