forked from OpenLiberty/ci.maven
-
Notifications
You must be signed in to change notification settings - Fork 0
136 lines (131 loc) · 4.42 KB
/
maven.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
# This workflow will build a Java project with Maven
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
name: Java CI with Maven
on:
push:
branches: '**'
pull_request:
branches: [ main ]
env:
# server-config-props-it fix
MAVEN_HOME: $(which mvn)
jobs:
# UNIX BUILDS
build-unix:
runs-on: ubuntu-18.04
strategy:
fail-fast: false
matrix:
# test against latest update of each major Java version, as well as specific updates of LTS versions:
RUNTIME: [ol, wlp]
RUNTIME_VERSION: [22.0.0.6, 22.0.0.3]
java: [17, 11, 8]
exclude:
- java: 8
RUNTIME_VERSION: 22.0.0.3
- java: 17
RUNTIME_VERSION: 22.0.0.3
name: ${{ matrix.RUNTIME }} ${{ matrix.RUNTIME_VERSION }}, Java ${{ matrix.java }}, Linux
steps:
# Checkout repos
- name: Checkout ci.maven
uses: actions/checkout@v2
- name: Setup Java ${{ matrix.java }}
uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
cache: 'maven'
- name: Checkout ci.common
uses: actions/checkout@v2
with:
repository: OpenLiberty/ci.common
path: ci.common
- name: Checkout ci.ant
uses: actions/checkout@v2
with:
repository: OpenLiberty/ci.ant
path: ci.ant
- name: Set up Maven
uses: stCarolas/[email protected]
with:
maven-version: 3.8.1
- name: Cache maven packages
uses: actions/cache@v2
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
# Install dependencies
- name: Install ci.ant and ci.common
run: |
cd ./ci.ant
mvn clean install
cd ../ci.common
mvn clean install
cd ..
# Run tests
- name: Run tests
run: mvn verify -Ponline-its -D"invoker.streamLogs"=true -Druntime=${{ matrix.RUNTIME }} -DruntimeVersion="${{ matrix.RUNTIME_VERSION }}"
# Additionally run dev-it if not Java 17
- name: Run dev-it tests
if: ${{ matrix.java != 17 }}
run: mvn verify -Ponline-its -Dinvoker.test="dev-it" -Druntime=${{ matrix.RUNTIME }} -DruntimeVersion="${{ matrix.RUNTIME_VERSION }}"
# WINDOWS BUILD
build-windows:
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
# test against latest update of each major Java version, as well as specific updates of LTS versions:
RUNTIME: [ol, wlp]
RUNTIME_VERSION: [22.0.0.6, 22.0.0.3]
java: [17, 11, 8]
exclude:
- java: 8
RUNTIME_VERSION: 22.0.0.3
- java: 17
RUNTIME_VERSION: 22.0.0.3
name: ${{ matrix.RUNTIME }} ${{ matrix.RUNTIME_VERSION }}, Java ${{ matrix.java }}, Windows
steps:
# Checkout repos
- name: Checkout ci.maven
uses: actions/checkout@v2
- name: Setup Java ${{ matrix.java }}
uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
cache: 'maven'
# Move and cloning to C: drive for Windows for more disk space
- name: Clone ci.ant, ci.common, ci.maven repos to C drive
run: |
cp -r D:/a/ci.maven/ci.maven C:/ci.maven
git clone https://github.com/OpenLiberty/ci.common.git C:/ci.common
git clone https://github.com/OpenLiberty/ci.ant.git C:/ci.ant
- name: Set up Maven
uses: stCarolas/[email protected]
with:
maven-version: 3.8.1
- name: Cache maven packages
uses: actions/cache@v2
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
# Install dependencies
- name: Install ci.ant and ci.common
run: |
cd C:/ci.ant
mvn clean install
cd C:/ci.common
mvn clean install
# Run tests
- name: Run tests
working-directory: C:/ci.maven
run: mvn verify -Ponline-its -D"invoker.streamLogs"=true -Druntime=${{ matrix.RUNTIME }} -DruntimeVersion="${{ matrix.RUNTIME_VERSION }}"
# Additionally run dev-it if not Java 17
# - name: Run dev-it tests
# working-directory: C:/ci.maven
# if: ${{ matrix.java != 17 }}
# run: mvn verify -Ponline-its -D"invoker.test"="dev-it" -Druntime=${{ matrix.RUNTIME }} -DruntimeVersion="${{ matrix.RUNTIME_VERSION }}"