-
Notifications
You must be signed in to change notification settings - Fork 888
122 lines (114 loc) · 3.71 KB
/
wildfly-build.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
# This workflow is for a nightly run against WildFly upstream
name: WildFly Test Build
on:
push:
branches:
- 'main'
paths:
- 'pom.xml'
- 'providers/**'
- 'resteasy-bom/**'
- 'resteasy-cdi/**'
- 'resteasy-client/**'
- 'resteasy-client-api/**'
- 'resteasy-client-utils/**'
- 'resteasy-core/**'
- 'resteasy-core-spi/**'
- 'resteasy-dependencies-bom/**'
- 'resteasy-feature-pack/**'
- 'testsuite/arquillian-utils/**'
- 'testsuite/integration-tests/**'
pull_request:
branches:
- '**'
paths:
- '.github/workflows/wildfly-build.yml'
schedule:
- cron: '0 0 * * *' # Every day at 00:00 UTC
# Only run the latest job and cancel previous ones
concurrency:
group: '${{ github.ref || github.run_id }}'
cancel-in-progress: true
jobs:
wildfly-build:
uses: wildfly/wildfly/.github/workflows/shared-wildfly-build.yml@main
with:
wildfly-branch: "main"
wildfly-repo: "wildfly/wildfly"
resteasy-build:
runs-on: ${{ matrix.os }}
needs: wildfly-build
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
java: ['17', '21']
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: wildfly-maven-repository
path: .
- name: Extract Maven Repo
shell: bash
run: tar -xzf wildfly-maven-repository.tar.gz -C ~
- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.java }}
distribution: 'temurin'
cache: 'maven'
- name: Build with Maven Java ${{ matrix.java }}
run: mvn clean install '-Dserver.version=${{needs.wildfly-build.outputs.wildfly-version}}' '-Pjakarta-staging'
- name: Upload surefire reports
uses: actions/upload-artifact@v4
if: failure()
with:
name: surefire-reports-${{ matrix.os }}-${{ matrix.java }}
path: '**/surefire-reports/*'
- name: Upload server logs
uses: actions/upload-artifact@v4
if: failure()
with:
name: server-logs-${{ matrix.os }}-${{ matrix.java }}
path: '**/*.log'
additional-profiles:
runs-on: ubuntu-latest
needs: wildfly-build
timeout-minutes: 90
strategy:
fail-fast: false
matrix:
java: ['17', '21']
profile:
- '-Dsecurity.manager'
- '-Dprovision.preview'
- '-am -Pprovision-without-resteasy,without-jackson-tests -pl resteasy-dependencies-bom,testsuite/integration-tests'
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: wildfly-maven-repository
path: .
- name: Extract Maven Repo
shell: bash
run: tar -xzf wildfly-maven-repository.tar.gz -C ~
- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.java }}
distribution: 'temurin'
cache: 'maven'
- name: Test with ${{ matrix.profile }} - JDK ${{ matrix.java }}
run: |
mvn clean install -U -B -fae ${{ matrix.profile }} '-Dserver.version=${{needs.wildfly-build.outputs.wildfly-version}}' '-Pjakarta-staging'
- uses: actions/upload-artifact@v4
if: failure()
with:
name: surefire-reports-${{ matrix.os }}-${{ matrix.java }}-${{ matrix.wildfly-version }}
path: '**/surefire-reports/*'
- uses: actions/upload-artifact@v4
if: failure()
with:
name: server-logs-${{ matrix.os }}-${{ matrix.java }}-${{ matrix.wildfly-version }}
path: '**/server.log'