-
-
Notifications
You must be signed in to change notification settings - Fork 4
71 lines (69 loc) · 2.29 KB
/
gradle.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
# This workflow will build a Java project with Gradle
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle
name: CI
env:
MIN_JDK: '17'
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch:
jobs:
codacy-analysis-cli:
runs-on: ubuntu-latest
name: Codacy Analysis CLI
steps:
- uses: actions/checkout@v4
- name: Run codacy-analysis-cli
uses: codacy/codacy-analysis-cli-action@master
build:
name: ${{ matrix.os }} / OpenJDK ${{ matrix.jdk }}
runs-on: ${{ matrix.os }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
ORG_GRADLE_PROJECT_sonarToken: ${{ secrets.SONAR_TOKEN || '**undefined**' }}
strategy:
matrix:
jdk: ['17', '21', '22']
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up JDK ${{ matrix.jdk }}
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: ${{ matrix.jdk }}
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Build without sonar
if: ${{ env.ORG_GRADLE_PROJECT_sonarToken == '**undefined**' || matrix.jdk != env.MIN_JDK }}
run: ./gradlew check
- name: Build with sonar
if: ${{ env.ORG_GRADLE_PROJECT_sonarToken != '**undefined**' }}
run: ./gradlew check sonar
- name: Run codecov analysis
uses: codecov/codecov-action@v4
deploy:
if: ${{ github.event_name != 'pull_request' && github.repository == 'xmldb-org/xmldb-api' }}
needs: [ build, codacy-analysis-cli ]
runs-on: ubuntu-latest
name: Deploy
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up JDK
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: ${{ env.MIN_JDK }}
- name: Deploy
env:
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.GPG_SIGNING_KEY }}
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.GPG_PASSPHRASE }}
ORG_GRADLE_PROJECT_sonatypeUsername: ${{ secrets.OSSRH_USERNAME }}
ORG_GRADLE_PROJECT_sonatypePassword: ${{ secrets.OSSRH_PASSWORD }}
run: ./gradlew publish --no-daemon