Skip to content

Commit f261b61

Browse files
authored
Route CI Maven resolution through codice-internal mirror to bypass Nexus for public artifacts (#6997)
1 parent c830628 commit f261b61

2 files changed

Lines changed: 44 additions & 7 deletions

File tree

.github/maven-settings.xml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd">
5+
<mirrors>
6+
<mirror>
7+
<id>codice-internal</id>
8+
<mirrorOf>codice</mirrorOf>
9+
<url>https://repo.codice.org/repository/codice-internal/</url>
10+
</mirror>
11+
</mirrors>
12+
<servers>
13+
<server>
14+
<id>releases</id>
15+
<username>${env.NEXUS_USERNAME}</username>
16+
<password>${env.NEXUS_PASSWORD}</password>
17+
</server>
18+
<server>
19+
<id>snapshots</id>
20+
<username>${env.NEXUS_USERNAME}</username>
21+
<password>${env.NEXUS_PASSWORD}</password>
22+
</server>
23+
</servers>
24+
</settings>

.github/workflows/ci.yml

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@ jobs:
4747
distribution: 'temurin'
4848
cache: maven
4949

50+
- name: Configure Maven settings
51+
run: mkdir -p ~/.m2 && cp .github/maven-settings.xml ~/.m2/settings.xml
52+
5053
- name: Quick install (skip tests)
5154
run: mvn install $MAVEN_CLI_OPTS -DskipStatic=true -DskipTests=true
5255

@@ -80,6 +83,9 @@ jobs:
8083
distribution: 'temurin'
8184
cache: maven
8285

86+
- name: Configure Maven settings
87+
run: mkdir -p ~/.m2 && cp .github/maven-settings.xml ~/.m2/settings.xml
88+
8389
- name: Full build (excluding itests)
8490
run: mvn clean install $MAVEN_CLI_OPTS -P !itests
8591

@@ -121,6 +127,9 @@ jobs:
121127
distribution: 'temurin'
122128
cache: maven
123129

130+
- name: Configure Maven settings
131+
run: mkdir -p ~/.m2 && cp .github/maven-settings.xml ~/.m2/settings.xml
132+
124133
- name: Quick install (skip tests)
125134
run: mvn install $MAVEN_CLI_OPTS -DskipStatic=true -DskipTests=true
126135

@@ -148,6 +157,9 @@ jobs:
148157
distribution: 'temurin'
149158
cache: maven
150159

160+
- name: Configure Maven settings
161+
run: mkdir -p ~/.m2 && cp .github/maven-settings.xml ~/.m2/settings.xml
162+
151163
- name: OWASP Dependency Check
152164
run: |
153165
if [ "${{ github.event_name }}" != "pull_request" ]; then
@@ -191,6 +203,9 @@ jobs:
191203
distribution: 'temurin'
192204
cache: maven
193205

206+
- name: Configure Maven settings
207+
run: mkdir -p ~/.m2 && cp .github/maven-settings.xml ~/.m2/settings.xml
208+
194209
- name: SonarCloud Scan
195210
env:
196211
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
@@ -231,13 +246,8 @@ jobs:
231246
distribution: 'temurin'
232247
cache: maven
233248

234-
- name: Create Maven Settings
235-
env:
236-
NEXUS_USERNAME: ${{ secrets.NEXUS_USERNAME }}
237-
NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }}
238-
run: |
239-
mkdir -p ~/.m2
240-
printf '<settings>\n <servers>\n <server>\n <id>releases</id>\n <username>%s</username>\n <password>%s</password>\n </server>\n <server>\n <id>snapshots</id>\n <username>%s</username>\n <password>%s</password>\n </server>\n </servers>\n</settings>\n' "$NEXUS_USERNAME" "$NEXUS_PASSWORD" "$NEXUS_USERNAME" "$NEXUS_PASSWORD" > ~/.m2/settings.xml
249+
- name: Configure Maven settings
250+
run: mkdir -p ~/.m2 && cp .github/maven-settings.xml ~/.m2/settings.xml
241251

242252
- name: Login to Docker Hub
243253
uses: docker/login-action@v3
@@ -246,6 +256,9 @@ jobs:
246256
password: ${{ secrets.DOCKERHUB_TOKEN }}
247257

248258
- name: Deploy
259+
env:
260+
NEXUS_USERNAME: ${{ secrets.NEXUS_USERNAME }}
261+
NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }}
249262
run: |
250263
mvn deploy $MAVEN_CLI_OPTS \
251264
-DskipStatic=true \

0 commit comments

Comments
 (0)