Skip to content

Commit 574cf68

Browse files
committed
use GitHub Actions from gdcc/xoai (with minor tweaks)
1 parent 5c00925 commit 574cf68

2 files changed

Lines changed: 60 additions & 43 deletions

File tree

Lines changed: 46 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,51 @@
11
name: Release to Maven Central Repository
22
on:
3-
push:
4-
tags:
5-
- '*'
3+
push:
4+
tags:
5+
- '*'
6+
workflow_call:
7+
inputs:
8+
version:
9+
type: string
10+
required: true
11+
612
jobs:
7-
publish:
8-
runs-on: ubuntu-latest
9-
steps:
10-
- uses: actions/checkout@v4
11-
- name: Set up Java
12-
uses: actions/setup-java@v4
13-
with:
14-
java-version: '17'
15-
distribution: 'adopt'
16-
- name: Cache Maven packages
17-
uses: actions/cache@v4
18-
with:
19-
path: ~/.m2/repository
20-
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
21-
restore-keys: ${{ runner.os }}-m2
13+
publish:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- if: ${{ github.event_name == 'push' }}
17+
uses: actions/checkout@v4
18+
- if: ${{ inputs.version }}
19+
uses: actions/checkout@v4
20+
with:
21+
ref: "${{ inputs.version }}"
22+
# Alternative command if we just inherit the jdk.version from the parent (grep is faster):
23+
# $(mvn help:evaluate -Dexpression=jdk.version -q -DforceStdout)
24+
- name: Determine Java version from POM
25+
run: |
26+
echo "JAVA_VERSION=$(grep '<jdk.version>' pom.xml | cut -f2 -d'>' | cut -f1 -d'<')" >> ${GITHUB_ENV}
2227
23-
- name: Build, test, verify
24-
run: mvn -B verify
25-
- name: Check POM metadata for release
26-
run: mvn pomchecker:check-maven-central
28+
- name: Set up JDK ${{ env.JAVA_VERSION }}
29+
uses: actions/setup-java@v4
30+
with:
31+
java-version: ${{ env.JAVA_VERSION }}
32+
distribution: 'temurin'
33+
cache: 'maven'
2734

28-
# Running setup-java again overwrites the settings.xml - IT'S MANDATORY TO DO THIS SECOND SETUP!!!
29-
- name: Set up Maven Central Repository
30-
uses: actions/setup-java@v4
31-
with:
32-
java-version: '17'
33-
distribution: 'adopt'
34-
server-id: ossrh
35-
server-username: MAVEN_USERNAME
36-
server-password: MAVEN_PASSWORD
37-
gpg-private-key: ${{ secrets.DATAVERSEBOT_GPG_KEY }}
38-
gpg-passphrase: MAVEN_GPG_PASSPHRASE
39-
- name: Sign + Publish release
40-
run: mvn -Prelease deploy -DskipAnalysis -DskipUT -DskipIT
41-
env:
42-
MAVEN_USERNAME: ${{ secrets.DATAVERSEBOT_SONATYPE_USERNAME }}
43-
MAVEN_PASSWORD: ${{ secrets.DATAVERSEBOT_SONATYPE_TOKEN }}
44-
MAVEN_GPG_PASSPHRASE: ${{ secrets.DATAVERSEBOT_GPG_PASSWORD }}
35+
# Running setup-java again overwrites the settings.xml - IT'S MANDATORY TO DO THIS SECOND SETUP!!!
36+
- name: Set up Maven Central Repository
37+
uses: actions/setup-java@v4
38+
with:
39+
java-version: ${{ env.JAVA_VERSION }}
40+
distribution: 'temurin'
41+
server-id: central
42+
server-username: MAVEN_USERNAME
43+
server-password: MAVEN_PASSWORD
44+
gpg-private-key: ${{ secrets.DATAVERSEBOT_GPG_KEY }}
45+
gpg-passphrase: MAVEN_GPG_PASSPHRASE
46+
- name: Sign + Publish release
47+
run: mvn -Prelease deploy -pl -DskipAnalysis -DskipUT -DskipIT
48+
env:
49+
MAVEN_USERNAME: ${{ secrets.DATAVERSEBOT_SONATYPE_USERNAME }}
50+
MAVEN_PASSWORD: ${{ secrets.DATAVERSEBOT_SONATYPE_TOKEN }}
51+
MAVEN_GPG_PASSPHRASE: ${{ secrets.DATAVERSEBOT_GPG_PASSWORD }}

.github/workflows/maven-snapshot.yml

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,31 @@ jobs:
1616
uses: actions/setup-java@v4
1717
with:
1818
java-version: ${{ matrix.java }}
19-
distribution: 'adopt'
20-
server-id: ossrh
19+
distribution: 'temurin'
20+
server-id: central
2121
server-username: MAVEN_USERNAME
2222
server-password: MAVEN_PASSWORD
2323
- name: Cache Maven packages
2424
uses: actions/cache@v4
2525
with:
26-
path: ~/.m2/repository
26+
path: ~/.m2
2727
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
2828
restore-keys: ${{ runner.os }}-m2
2929
- name: Build, test, verify and publish snapshot
3030
run: mvn -B verify -Djdk.version=${{ matrix.java }}
31+
32+
# Running setup-java again overwrites the settings.xml - IT'S MANDATORY TO DO THIS SECOND SETUP!!!
33+
- name: Set up Maven Central Repository
34+
uses: actions/setup-java@v4
35+
with:
36+
java-version: ${{ matrix.java }}
37+
distribution: 'temurin'
38+
server-id: central
39+
server-username: MAVEN_USERNAME
40+
server-password: MAVEN_PASSWORD
3141
- name: Publish snapshot
3242
if: ${{ matrix.java == '17' }}
33-
run: mvn -e -X deploy -DskipAnalysis -DskipUT -DskipIT -Djdk.version=${{ matrix.java }}
43+
run: mvn deploy -pl '!report,!xoai-data-provider-tck' -DskipUT -DskipIT -Djdk.version=${{ matrix.java }}
3444
env:
3545
MAVEN_USERNAME: ${{ secrets.DATAVERSEBOT_SONATYPE_USERNAME }}
3646
MAVEN_PASSWORD: ${{ secrets.DATAVERSEBOT_SONATYPE_TOKEN }}

0 commit comments

Comments
 (0)