Skip to content
This repository was archived by the owner on Sep 8, 2022. It is now read-only.

Commit 178b1fc

Browse files
committed
Switch to GitHub actions for sonatype OSS and site deploy
1 parent 819498a commit 178b1fc

File tree

33 files changed

+371
-49
lines changed

33 files changed

+371
-49
lines changed

.github/workflows/maven-deploy.yml

+71
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
# Deploy snapshots to Sonatpe OSS repository and deploy site to GitHub Pages
2+
3+
name: Deploy
4+
5+
on:
6+
push:
7+
branches:
8+
- develop
9+
workflow_dispatch:
10+
11+
jobs:
12+
build:
13+
14+
runs-on: ubuntu-latest
15+
16+
steps:
17+
# Check out Git repository
18+
- name: Checkout code
19+
uses: actions/checkout@v2
20+
21+
# Configure GIT
22+
- name: Configure GIT
23+
run: |
24+
git config --global user.email "${{ secrets.GH_SITE_DEPLOY_EMAIL }}"
25+
git config --global user.name "${{ secrets.GH_SITE_DEPLOY_NAME }}"
26+
27+
# Set up environment with Java and Maven
28+
- name: Setup JDK
29+
uses: actions/setup-java@v1
30+
with:
31+
java-version: 1.8
32+
33+
# Set up dependency cache
34+
- name: Cache local Maven repository
35+
uses: actions/cache@v2
36+
with:
37+
path: ~/.m2/repository
38+
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
39+
restore-keys: |
40+
${{ runner.os }}-maven-
41+
42+
# Build, deploy to ossrh, generate and stage site
43+
- name: Build, verify, deploy, generate site
44+
env:
45+
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
46+
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
47+
run: mvn -s ./.maven-settings.xml -Pcontinuous-integration -B -U clean deploy site
48+
49+
# Deploy site to Github Pages
50+
# WORKAROUND for https://issues.apache.org/jira/browse/MSCMPUB-18 - deploy site in multiple steps for subset of modules
51+
- name: Stage and deploy site - Part 1
52+
run: >
53+
mvn -s ./.maven-settings.xml -Pcontinuous-integration -B site:stage scm-publish:publish-scm
54+
--projects '.,parent,modules,modules/core,modules/selectors,modules/differences'
55+
-Dscmpublish.checkinComment="Maven site: ${{ github.repository }} - Part 1"
56+
-Dusername=${{ secrets.GH_SITE_DEPLOY_USERNAME }}
57+
-Dpassword=${{ secrets.GH_SITE_DEPLOY_PAT }}
58+
- name: Stage and deploy site - Part 2
59+
run: >
60+
mvn -s ./.maven-settings.xml -Pcontinuous-integration -B site:stage scm-publish:publish-scm
61+
--projects '.,modules/interaction,modules/listeners,modules/galen,maven/specs-plugin'
62+
-Dscmpublish.checkinComment="Maven site: ${{ github.repository }} - Part 2"
63+
-Dusername=${{ secrets.GH_SITE_DEPLOY_USERNAME }}
64+
-Dpassword=${{ secrets.GH_SITE_DEPLOY_PAT }}
65+
- name: Stage and deploy site - Part 3
66+
run: >
67+
mvn -s ./.maven-settings.xml -Pcontinuous-integration -B site:stage scm-publish:publish-scm
68+
--projects '!parent,!modules,!modules/core,!modules/selectors,!modules/differences,!modules/interaction,!modules/listeners,!modules/galen,!maven/specs-plugin'
69+
-Dscmpublish.checkinComment="Maven site: ${{ github.repository }} - Part 3"
70+
-Dusername=${{ secrets.GH_SITE_DEPLOY_USERNAME }}
71+
-Dpassword=${{ secrets.GH_SITE_DEPLOY_PAT }}

.maven-settings.xml

+8
Original file line numberDiff line numberDiff line change
@@ -147,4 +147,12 @@
147147
<activeProfile>default</activeProfile>
148148
</activeProfiles>
149149

150+
<servers>
151+
<server>
152+
<id>ossrh</id>
153+
<username>${env.SONATYPE_USERNAME}</username>
154+
<password>${env.SONATYPE_PASSWORD}</password>
155+
</server>
156+
</servers>
157+
150158
</settings>

integration/pom.xml

+31-1
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,15 @@
3131
<packaging>pom</packaging>
3232
<version>5.0.0-SNAPSHOT</version>
3333
<description>Test automation integration parent.</description>
34-
34+
3535
<modules>
3636
<module>specs</module>
3737
<module>ui-tests</module>
3838
<module>resources</module>
3939
</modules>
4040

4141
<properties>
42+
<site.url.module.prefix>galenium/integration</site.url.module.prefix>
4243

4344
<galenium.generated.artifactIds>GALENIUM_GENERATED_ARTIFACT_IDS_HAVE_TO_BE_SET_BY_PROPERTY</galenium.generated.artifactIds>
4445
<galenium.generated.class>${project.build.outputDirectory}</galenium.generated.class>
@@ -61,6 +62,20 @@
6162
</properties>
6263

6364
<build>
65+
<plugins>
66+
67+
<!-- do not generate site for this project -->
68+
<plugin>
69+
<groupId>org.apache.maven.plugins</groupId>
70+
<artifactId>maven-site-plugin</artifactId>
71+
<inherited>false</inherited>
72+
<configuration>
73+
<skip>true</skip>
74+
<skipDeploy>true</skipDeploy>
75+
</configuration>
76+
</plugin>
77+
78+
</plugins>
6479
<pluginManagement>
6580
<plugins>
6681

@@ -144,6 +159,14 @@
144159
</executions>
145160
</plugin>
146161

162+
<plugin>
163+
<groupId>org.apache.maven.plugins</groupId>
164+
<artifactId>maven-site-plugin</artifactId>
165+
<configuration>
166+
<topSiteURL>${site.deploy.url}</topSiteURL>
167+
</configuration>
168+
</plugin>
169+
147170
</plugins>
148171
</pluginManagement>
149172
</build>
@@ -161,4 +184,11 @@
161184
</plugins>
162185
</reporting>
163186

187+
<distributionManagement>
188+
<site>
189+
<id>${site.deploy.id}</id>
190+
<url>${site.deploy.url}/${site.url.module.prefix}</url>
191+
</site>
192+
</distributionManagement>
193+
164194
</project>

integration/resources/pom.xml

+12-1
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,23 @@
2323
<groupId>io.wcm.qa</groupId>
2424
<artifactId>io.wcm.qa.galenium.integration</artifactId>
2525
<version>5.0.0-SNAPSHOT</version>
26-
<relativePath>..</relativePath>
26+
<relativePath>../pom.xml</relativePath>
2727
</parent>
28+
29+
<properties>
30+
<site.url.module.prefix>galenium/integration/resources</site.url.module.prefix>
31+
</properties>
2832

2933
<name>Galenium Integration Resources</name>
3034
<artifactId>io.wcm.qa.galenium.integration.resources</artifactId>
3135
<packaging>jar</packaging>
3236
<description>Test automation integration resources.</description>
3337

38+
<distributionManagement>
39+
<site>
40+
<id>${site.deploy.id}</id>
41+
<url>${site.deploy.url}/${site.url.module.prefix}</url>
42+
</site>
43+
</distributionManagement>
44+
3445
</project>

integration/specs/pom.xml

+12-1
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,18 @@
2323
<groupId>io.wcm.qa</groupId>
2424
<artifactId>io.wcm.qa.galenium.integration</artifactId>
2525
<version>5.0.0-SNAPSHOT</version>
26-
<relativePath>..</relativePath>
26+
<relativePath>../pom.xml</relativePath>
2727
</parent>
2828

2929
<name>Galenium Integration Galen-Spec Parent</name>
3030
<artifactId>io.wcm.qa.galenium.integration.specs</artifactId>
3131
<packaging>pom</packaging>
3232
<description>Test automation integration parent for projects containing the Galen specs.</description>
3333

34+
<properties>
35+
<site.url.module.prefix>galenium/integration/specs</site.url.module.prefix>
36+
</properties>
37+
3438
<dependencies>
3539

3640
<!-- Galenium internal dependencies -->
@@ -197,4 +201,11 @@
197201
</plugins>
198202
</reporting>
199203

204+
<distributionManagement>
205+
<site>
206+
<id>${site.deploy.id}</id>
207+
<url>${site.deploy.url}/${site.url.module.prefix}</url>
208+
</site>
209+
</distributionManagement>
210+
200211
</project>

integration/ui-tests/pom.xml

+12-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<groupId>io.wcm.qa</groupId>
2424
<artifactId>io.wcm.qa.galenium.integration</artifactId>
2525
<version>5.0.0-SNAPSHOT</version>
26-
<relativePath>..</relativePath>
26+
<relativePath>../pom.xml</relativePath>
2727
</parent>
2828

2929
<name>Galenium Integration UI-Tests Parent</name>
@@ -345,6 +345,17 @@
345345
<artifactId>allure-maven</artifactId>
346346
</plugin>
347347

348+
<!-- do not generate site for this project -->
349+
<plugin>
350+
<groupId>org.apache.maven.plugins</groupId>
351+
<artifactId>maven-site-plugin</artifactId>
352+
<inherited>false</inherited>
353+
<configuration>
354+
<skip>true</skip>
355+
<skipDeploy>true</skipDeploy>
356+
</configuration>
357+
</plugin>
358+
348359
</plugins>
349360

350361
<pluginManagement>

maven/archetype/pom.xml

+8
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333

3434
<properties>
3535
<maven.archetype.version>3.1.2</maven.archetype.version>
36+
<site.url.module.prefix>galenium/maven/archetype</site.url.module.prefix>
3637
</properties>
3738

3839
<build>
@@ -100,4 +101,11 @@
100101
</pluginManagement>
101102
</build>
102103

104+
<distributionManagement>
105+
<site>
106+
<id>${site.deploy.id}</id>
107+
<url>${site.deploy.url}/${site.url.module.prefix}</url>
108+
</site>
109+
</distributionManagement>
110+
103111
</project>

maven/archetype/src/main/resources/archetype-resources/tests/pom.xml

+1
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
<groupId>org.apache.maven.plugins</groupId>
4343
<artifactId>maven-site-plugin</artifactId>
4444
<configuration>
45+
<skip>true</skip>
4546
<skipDeploy>true</skipDeploy>
4647
</configuration>
4748
</plugin>

maven/specs-plugin/pom.xml

+8
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434

3535
<properties>
3636
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
37+
<site.url.module.prefix>galenium/maven/specs-plugin</site.url.module.prefix>
3738
</properties>
3839

3940
<dependencies>
@@ -175,4 +176,11 @@
175176
</plugins>
176177
</build>
177178

179+
<distributionManagement>
180+
<site>
181+
<id>${site.deploy.id}</id>
182+
<url>${site.deploy.url}/${site.url.module.prefix}</url>
183+
</site>
184+
</distributionManagement>
185+
178186
</project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
## About Galenium Galen Specs Maven Plugin
2+
3+
### Documentation
4+
5+
* [API documentation](apidocs/)

modules/core/pom.xml

+11
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@
3030
<description>Basic core functionality of Galenium.</description>
3131
<artifactId>io.wcm.qa.galenium.core</artifactId>
3232
<packaging>jar</packaging>
33+
34+
<properties>
35+
<site.url.module.prefix>galenium/modules/core</site.url.module.prefix>
36+
</properties>
3337

3438
<dependencies>
3539

@@ -158,4 +162,11 @@
158162
</plugins>
159163
</build>
160164

165+
<distributionManagement>
166+
<site>
167+
<id>${site.deploy.id}</id>
168+
<url>${site.deploy.url}/${site.url.module.prefix}</url>
169+
</site>
170+
</distributionManagement>
171+
161172
</project>

modules/core/src/main/aspect/io/wcm/qa/glnm/aspectj/AssertAspect.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,9 @@ public class AssertAspect {
4545
private static final Logger LOG = LoggerFactory.getLogger(AssertAspect.class);
4646

4747
/**
48-
* Ignores exceptions, when {@link GaleniumConfiguration#isSamplingVerificationIgnore()} is
48+
* Ignores exceptions, when {@link io.wcm.qa.glnm.configuration.GaleniumConfiguration#isSamplingVerificationIgnore()} is
4949
* true.
50+
*
5051
* @param jp join point to be handled
5152
* @return null or proceed value (advised method returns void)
5253
*/

modules/core/src/main/aspect/io/wcm/qa/glnm/aspectj/MatcherAspect.java

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
* <p>
2020
* Adds matches to Allure Report with correct pass/fail status.
2121
* </p>
22+
*
2223
* @since 5.0.0
2324
*/
2425
@Aspect("perthis(execution(* *..*.matches(..)))")
+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
## About Galenium Core
2+
3+
### Documentation
4+
5+
* [API documentation](apidocs/)

modules/differences/pom.xml

+11
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,10 @@
3131
<artifactId>io.wcm.qa.galenium.differences</artifactId>
3232
<packaging>jar</packaging>
3333

34+
<properties>
35+
<site.url.module.prefix>galenium/modules/differences</site.url.module.prefix>
36+
</properties>
37+
3438
<dependencies>
3539

3640
<dependency>
@@ -67,4 +71,11 @@
6771

6872
</dependencies>
6973

74+
<distributionManagement>
75+
<site>
76+
<id>${site.deploy.id}</id>
77+
<url>${site.deploy.url}/${site.url.module.prefix}</url>
78+
</site>
79+
</distributionManagement>
80+
7081
</project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
## About Galenium Differences
2+
3+
### Documentation
4+
5+
* [API documentation](apidocs/)

modules/galen/pom.xml

+11
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,10 @@
3131
<artifactId>io.wcm.qa.galenium.galen</artifactId>
3232
<packaging>jar</packaging>
3333

34+
<properties>
35+
<site.url.module.prefix>galenium/modules/galen</site.url.module.prefix>
36+
</properties>
37+
3438
<dependencies>
3539

3640
<dependency>
@@ -120,4 +124,11 @@
120124

121125
</dependencies>
122126

127+
<distributionManagement>
128+
<site>
129+
<id>${site.deploy.id}</id>
130+
<url>${site.deploy.url}/${site.url.module.prefix}</url>
131+
</site>
132+
</distributionManagement>
133+
123134
</project>
+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
## About Galenium Galen
2+
3+
### Documentation
4+
5+
* [API documentation](apidocs/)

0 commit comments

Comments
 (0)