Skip to content

Commit f38a9c5

Browse files
authored
[feat] mvnd (#6041)
1 parent 9f857fe commit f38a9c5

File tree

7 files changed

+451
-118
lines changed

7 files changed

+451
-118
lines changed

.github/workflows/ci.yml

Lines changed: 42 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ jobs:
2525
build:
2626
strategy:
2727
matrix:
28-
java: [ 17 ]
29-
os: [ ubuntu-latest, windows-latest ]
28+
java: [17]
29+
os: [ubuntu-latest, windows-latest]
3030
include:
3131
- java: 17
3232
os: ubuntu-latest
@@ -82,10 +82,48 @@ jobs:
8282
if: steps.filter.outputs.code == 'true'
8383
with:
8484
java-version: ${{ matrix.java }}
85-
distribution: 'temurin'
85+
distribution: "temurin"
86+
- name: Install mvnd
87+
if: steps.filter.outputs.code == 'true'
88+
shell: bash
89+
run: |
90+
MVND_VERSION=1.0.2
91+
if [[ "${{ runner.os }}" == "Windows" ]]; then
92+
curl -sL https://downloads.apache.org/maven/mvnd/${MVND_VERSION}/maven-mvnd-${MVND_VERSION}-windows-amd64.zip -o mvnd.zip
93+
unzip -q mvnd.zip
94+
mkdir -p $HOME/.local
95+
mv maven-mvnd-${MVND_VERSION}-windows-amd64 $HOME/.local/mvnd
96+
echo "$HOME/.local/mvnd/bin" >> $GITHUB_PATH
97+
echo "MVND_HOME=$HOME/.local/mvnd" >> $GITHUB_ENV
98+
else
99+
curl -sL https://downloads.apache.org/maven/mvnd/${MVND_VERSION}/maven-mvnd-${MVND_VERSION}-linux-amd64.zip -o mvnd.zip
100+
unzip -q mvnd.zip
101+
mkdir -p $HOME/.local
102+
mv maven-mvnd-${MVND_VERSION}-linux-amd64 $HOME/.local/mvnd
103+
echo "$HOME/.local/mvnd/bin" >> $GITHUB_PATH
104+
echo "MVND_HOME=$HOME/.local/mvnd" >> $GITHUB_ENV
105+
fi
106+
107+
- name: Verify mvnd installation
108+
if: steps.filter.outputs.code == 'true'
109+
shell: bash
110+
run: mvnd --version || echo "mvnd version check failed, will use maven wrapper as fallback"
111+
86112
- name: Build with Maven
87113
if: steps.filter.outputs.code == 'true'
88-
run: ./mvnw -B clean test -Prelease
114+
shell: bash
115+
run: |
116+
if mvnd --version > /dev/null 2>&1; then
117+
echo "Using mvnd for build"
118+
mvnd -B clean test -Prelease
119+
else
120+
echo "Falling back to maven wrapper"
121+
if [[ "${{ runner.os }}" == "Windows" ]]; then
122+
./mvnw.cmd -B clean test -Prelease
123+
else
124+
./mvnw -B clean test -Prelease
125+
fi
126+
fi
89127
- uses: codecov/codecov-action@v1
90128
with:
91129
token: 2760af6a-3405-4882-9e61-04c5176fecfa
@@ -120,4 +158,3 @@ jobs:
120158
- name: checking job status
121159
run: |
122160
[[ "${{ needs.build.result }}" == "success" ]] || exit -1
123-

.github/workflows/docker-publish-dockerhub.yml

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,42 @@ jobs:
6666
- uses: actions/setup-java@v4
6767
with:
6868
java-version: 17
69-
distribution: 'temurin'
69+
distribution: "temurin"
70+
71+
- name: Install mvnd
72+
shell: bash
73+
run: |
74+
MVND_VERSION=1.0.2
75+
if [[ "${{ runner.os }}" == "Windows" ]]; then
76+
curl -sL https://downloads.apache.org/maven/mvnd/${MVND_VERSION}/maven-mvnd-${MVND_VERSION}-windows-amd64.zip -o mvnd.zip
77+
unzip -q mvnd.zip
78+
mkdir -p $HOME/.local
79+
mv maven-mvnd-${MVND_VERSION}-windows-amd64 $HOME/.local/mvnd
80+
echo "$HOME/.local/mvnd/bin" >> $GITHUB_PATH
81+
echo "MVND_HOME=$HOME/.local/mvnd" >> $GITHUB_ENV
82+
else
83+
curl -sL https://downloads.apache.org/maven/mvnd/${MVND_VERSION}/maven-mvnd-${MVND_VERSION}-linux-amd64.zip -o mvnd.zip
84+
unzip -q mvnd.zip
85+
mkdir -p $HOME/.local
86+
mv maven-mvnd-${MVND_VERSION}-linux-amd64 $HOME/.local/mvnd
87+
echo "$HOME/.local/mvnd/bin" >> $GITHUB_PATH
88+
echo "MVND_HOME=$HOME/.local/mvnd" >> $GITHUB_ENV
89+
fi
7090
7191
- name: Build with Maven
72-
run: ./mvnw -B clean -Prelease -Dmaven.javadoc.skip=true -B -Drat.skip=true -Djacoco.skip=true -DskipITs -DskipTests package
92+
shell: bash
93+
run: |
94+
if mvnd --version > /dev/null 2>&1; then
95+
echo "Using mvnd for build"
96+
mvnd -B clean -Prelease -Dmaven.javadoc.skip=true -B -Drat.skip=true -Djacoco.skip=true -DskipITs -DskipTests package
97+
else
98+
echo "Falling back to maven wrapper"
99+
if [[ "${{ runner.os }}" == "Windows" ]]; then
100+
./mvnw.cmd -B clean -Prelease -Dmaven.javadoc.skip=true -B -Drat.skip=true -Djacoco.skip=true -DskipITs -DskipTests package
101+
else
102+
./mvnw -B clean -Prelease -Dmaven.javadoc.skip=true -B -Drat.skip=true -Djacoco.skip=true -DskipITs -DskipTests package
103+
fi
104+
fi
73105
74106
- name: Build and push (admin) (dockerhub)
75107
uses: docker/build-push-action@v3

.github/workflows/docker-publish.yml

Lines changed: 38 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ name: docker-publish-ghcr
1717

1818
on:
1919
push:
20-
branches: [ "master" ]
21-
tags: [ 'v*.*.*' ]
20+
branches: ["master"]
21+
tags: ["v*.*.*"]
2222
paths-ignore:
23-
- '**.md'
24-
- '**/resources/static/'
23+
- "**.md"
24+
- "**/resources/static/"
2525

2626
env:
2727
REGISTRY: ghcr.io
@@ -70,10 +70,42 @@ jobs:
7070
- uses: actions/setup-java@v4
7171
with:
7272
java-version: 17
73-
distribution: 'temurin'
73+
distribution: "temurin"
74+
75+
- name: Install mvnd
76+
shell: bash
77+
run: |
78+
MVND_VERSION=1.0.2
79+
if [[ "${{ runner.os }}" == "Windows" ]]; then
80+
curl -sL https://downloads.apache.org/maven/mvnd/${MVND_VERSION}/maven-mvnd-${MVND_VERSION}-windows-amd64.zip -o mvnd.zip
81+
unzip -q mvnd.zip
82+
mkdir -p $HOME/.local
83+
mv maven-mvnd-${MVND_VERSION}-windows-amd64 $HOME/.local/mvnd
84+
echo "$HOME/.local/mvnd/bin" >> $GITHUB_PATH
85+
echo "MVND_HOME=$HOME/.local/mvnd" >> $GITHUB_ENV
86+
else
87+
curl -sL https://downloads.apache.org/maven/mvnd/${MVND_VERSION}/maven-mvnd-${MVND_VERSION}-linux-amd64.zip -o mvnd.zip
88+
unzip -q mvnd.zip
89+
mkdir -p $HOME/.local
90+
mv maven-mvnd-${MVND_VERSION}-linux-amd64 $HOME/.local/mvnd
91+
echo "$HOME/.local/mvnd/bin" >> $GITHUB_PATH
92+
echo "MVND_HOME=$HOME/.local/mvnd" >> $GITHUB_ENV
93+
fi
7494
7595
- name: Build with Maven
76-
run: ./mvnw -B clean -Prelease -Dmaven.javadoc.skip=true -B -Drat.skip=true -Djacoco.skip=true -DskipITs -DskipTests package
96+
shell: bash
97+
run: |
98+
if mvnd --version > /dev/null 2>&1; then
99+
echo "Using mvnd for build"
100+
mvnd -B clean -Prelease -Dmaven.javadoc.skip=true -B -Drat.skip=true -Djacoco.skip=true -DskipITs -DskipTests package
101+
else
102+
echo "Falling back to maven wrapper"
103+
if [[ "${{ runner.os }}" == "Windows" ]]; then
104+
./mvnw.cmd -B clean -Prelease -Dmaven.javadoc.skip=true -B -Drat.skip=true -Djacoco.skip=true -DskipITs -DskipTests package
105+
else
106+
./mvnw -B clean -Prelease -Dmaven.javadoc.skip=true -B -Drat.skip=true -Djacoco.skip=true -DskipITs -DskipTests package
107+
fi
108+
fi
77109
78110
- name: Build and push (admin) (ghcr.io)
79111
uses: docker/build-push-action@v3

0 commit comments

Comments
 (0)