Skip to content

Commit bbb8785

Browse files
authored
Merge pull request #1993 from gradle/gk/nightlyRcWorkflow
Created a nightly job to test against future Gradle versions
2 parents 1d04e06 + 81c73ca commit bbb8785

6 files changed

+230
-13
lines changed
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
name: Verify Convention Develocity Gradle Plugin (Nightly)
2+
permissions:
3+
contents: read
4+
on:
5+
schedule:
6+
- cron: '0 4 * * *'
7+
push:
8+
paths:
9+
- ".github/workflows/convention-develocity-gradle-plugin-verification-nightly.yml"
10+
workflow_dispatch:
11+
12+
jobs:
13+
build:
14+
name: Build Convention Develocity Gradle Plugin
15+
runs-on: ubuntu-latest
16+
steps:
17+
- name: Checkout
18+
uses: actions/checkout@v5
19+
- name: Set up JDK 21
20+
uses: actions/setup-java@v5
21+
with:
22+
java-version: '21'
23+
distribution: 'temurin'
24+
- name: Set up Gradle
25+
uses: gradle/actions/setup-gradle@v4
26+
with:
27+
gradle-version: 'release-candidate'
28+
- name: Configure Develocity Solutions instance
29+
working-directory: convention-develocity-gradle-plugin/plugins/gradle-5-or-newer/src/main/java/com/myorg
30+
run: sed -i 's/develocity-samples.gradle.com/ge.solutions-team.gradle.com/g' ConventionDevelocityGradlePlugin.java
31+
- name: Build with Gradle - Gradle 5 or newer
32+
working-directory: convention-develocity-gradle-plugin/plugins/gradle-5-or-newer
33+
run: gradle build publishToMavenLocal
34+
- name: Upload plugin
35+
uses: actions/upload-artifact@v4
36+
with:
37+
name: convention-develocity-gradle-plugin
38+
path: ~/.m2/repository/com/myorg
39+
40+
verification:
41+
name: Verify Example Build for Gradle ${{ matrix.gradle-version }}
42+
needs: [ build ]
43+
runs-on: ubuntu-latest
44+
strategy:
45+
fail-fast: false
46+
matrix:
47+
gradle-version: ['current', 'release-candidate', 'nightly']
48+
java-version: ['21']
49+
steps:
50+
- name: Checkout
51+
uses: actions/checkout@v5
52+
- name: Set up JDK ${{ matrix.java-version }}
53+
uses: actions/setup-java@v5
54+
with:
55+
java-version: '${{ matrix.java-version }}'
56+
distribution: 'temurin'
57+
- name: Set up Gradle ${{ matrix.gradle-version }}
58+
uses: gradle/actions/setup-gradle@v4
59+
with:
60+
gradle-version: ${{ matrix.gradle-version }}
61+
- name: Download plugin
62+
uses: actions/download-artifact@v5
63+
with:
64+
name: convention-develocity-gradle-plugin
65+
path: ~/.m2/repository/com/myorg
66+
- name: Verify example build
67+
id: build
68+
working-directory: convention-develocity-gradle-plugin/examples/gradle_6.9_and_later
69+
run: gradle build "-Dscan.value.gradle-version=${{ matrix.gradle-version }}" "-Dscan.value.java-version=${{ matrix.java-version }}"
70+
env:
71+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DV_SOLUTIONS_ACCESS_KEY }}
72+
- name: Verify Build Scan published
73+
if: ${{ !steps.build.outputs.build-scan-url }}
74+
run: echo "::error ::No Build Scan published"; exit 1

.github/workflows/convention-develocity-gradle-plugin-verification.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
path: ~/.m2/repository/com/myorg
4040

4141
verification:
42-
name: Verify Example Build for Gradle ${{ matrix.versions.version }}
42+
name: Verify Example Build for Gradle ${{ matrix.versions.gradle-version }}
4343
needs: [build]
4444
runs-on: ubuntu-latest
4545
strategy:
@@ -72,12 +72,12 @@ jobs:
7272
steps:
7373
- name: Checkout
7474
uses: actions/checkout@v4
75-
- name: Set up JDK
75+
- name: Set up JDK ${{ matrix.versions.java-version }}
7676
uses: actions/setup-java@v4
7777
with:
7878
java-version: ${{ matrix.versions.java-version }}
7979
distribution: 'temurin'
80-
- name: Set up Gradle
80+
- name: Set up Gradle ${{ matrix.versions.gradle-version }}
8181
uses: gradle/actions/setup-gradle@v4
8282
with:
8383
gradle-version: ${{ matrix.versions.gradle-version }}
@@ -89,7 +89,7 @@ jobs:
8989
- name: Verify example build
9090
id: build
9191
working-directory: convention-develocity-gradle-plugin/examples/gradle_${{ matrix.versions.sample }}
92-
run: gradle build
92+
run: gradle build "-Dscan.value.gradle-version=${{ matrix.gradle-version }}" "-Dscan.value.java-version=${{ matrix.java-version }}"
9393
env:
9494
DEVELOCITY_ACCESS_KEY: ${{ secrets.DV_SOLUTIONS_ACCESS_KEY }}
9595
- name: Verify Build Scan published

.github/workflows/convention-develocity-maven-extension-verification.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ jobs:
7373
- name: Verify example build
7474
id: build
7575
working-directory: convention-develocity-maven-extension/examples/maven_${{ matrix.versions.sample }}
76-
run: ./mvnw clean verify
76+
run: ./mvnw clean verify "-Dscan.value.maven-version=${{ matrix.versions.maven-version }}"
7777
env:
7878
DEVELOCITY_ACCESS_KEY: ${{ secrets.DV_SOLUTIONS_ACCESS_KEY }}
7979
- name: Verify Build Scan published
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
name: Verify Convention Develocity Shared (Nightly)
2+
permissions:
3+
contents: read
4+
on:
5+
schedule:
6+
- cron: '0 4 * * *'
7+
push:
8+
paths:
9+
- ".github/workflows/convention-develocity-shared-verification-nightly.yml"
10+
workflow_dispatch:
11+
12+
jobs:
13+
build:
14+
name: Build Convention Develocity Shared
15+
runs-on: ubuntu-latest
16+
steps:
17+
- name: Checkout
18+
uses: actions/checkout@v5
19+
- name: Set up JDK 21
20+
uses: actions/setup-java@v5
21+
with:
22+
java-version: '21'
23+
distribution: 'temurin'
24+
- name: Set up Gradle
25+
uses: gradle/actions/setup-gradle@v4
26+
with:
27+
gradle-version: 'release-candidate'
28+
- name: Configure Develocity Solutions instance
29+
working-directory: convention-develocity-shared/convention-develocity-common/src/main/java/com/myorg
30+
run: sed -i 's/develocity-samples.gradle.com/ge.solutions-team.gradle.com/g' DevelocityConventions.java
31+
- name: Build with Gradle
32+
working-directory: convention-develocity-shared
33+
run: gradle build publishToMavenLocal
34+
- name: Upload convention
35+
uses: actions/upload-artifact@v4
36+
with:
37+
name: convention-develocity-shared
38+
path: ~/.m2/repository/com/myorg
39+
40+
verification:
41+
name: Verify Example Build for Gradle ${{ matrix.gradle-version }}
42+
needs: [ build ]
43+
runs-on: ubuntu-latest
44+
strategy:
45+
fail-fast: false
46+
matrix:
47+
gradle-version: [ 'current', 'release-candidate', 'nightly' ]
48+
java-version: [ '21' ]
49+
steps:
50+
- name: Checkout
51+
uses: actions/checkout@v5
52+
- name: Set up JDK ${{ matrix.java-version }}
53+
uses: actions/setup-java@v5
54+
with:
55+
java-version: '${{ matrix.java-version }}'
56+
distribution: 'temurin'
57+
- name: Set up Gradle ${{ matrix.gradle-version }}
58+
uses: gradle/actions/setup-gradle@v4
59+
with:
60+
gradle-version: ${{ matrix.gradle-version }}
61+
- name: Download plugin
62+
uses: actions/download-artifact@v5
63+
with:
64+
name: convention-develocity-shared
65+
path: ~/.m2/repository/com/myorg
66+
- name: Verify example build
67+
id: build
68+
working-directory: convention-develocity-shared/examples/gradle_6.9_and_later
69+
run: gradle build "-Dscan.value.gradle-version=${{ matrix.gradle-version }}" "-Dscan.value.java-version=${{ matrix.java-version }}"
70+
env:
71+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DV_SOLUTIONS_ACCESS_KEY }}
72+
- name: Verify Build Scan published
73+
if: ${{ !steps.build.outputs.build-scan-url }}
74+
run: echo "::error ::No Build Scan published"; exit 1
75+

.github/workflows/convention-develocity-shared-verification.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
path: ~/.m2/repository/com/myorg
3737

3838
verification_gradle:
39-
name: Verify Example Build for Gradle ${{ matrix.versions.version }}
39+
name: Verify Example Build for Gradle ${{ matrix.versions.gradle-version }}
4040
needs: [build]
4141
runs-on: ubuntu-latest
4242
strategy:
@@ -67,12 +67,12 @@ jobs:
6767
steps:
6868
- name: Checkout
6969
uses: actions/checkout@v4
70-
- name: Set up JDK
70+
- name: Set up JDK ${{ matrix.versions.java-version }}
7171
uses: actions/setup-java@v4
7272
with:
7373
java-version: ${{ matrix.versions.java-version }}
7474
distribution: 'temurin'
75-
- name: Set up Gradle
75+
- name: Set up Gradle ${{ matrix.versions.gradle-version }}
7676
uses: gradle/actions/setup-gradle@v4
7777
with:
7878
gradle-version: ${{ matrix.versions.gradle-version }}
@@ -84,15 +84,15 @@ jobs:
8484
- name: Verify example build
8585
id: build
8686
working-directory: convention-develocity-shared/examples/gradle_${{ matrix.versions.sample }}
87-
run: gradle build
87+
run: gradle build "-Dscan.value.gradle-version=${{ matrix.gradle-version }}" "-Dscan.value.java-version=${{ matrix.java-version }}"
8888
env:
8989
DEVELOCITY_ACCESS_KEY: ${{ secrets.DV_SOLUTIONS_ACCESS_KEY }}
9090
- name: Verify Build Scan published
9191
if: ${{ !steps.build.outputs.build-scan-url }}
9292
run: echo "::error ::No Build Scan published"; exit 1
9393

9494
verification_maven:
95-
name: Verify Example Build for Maven ${{ matrix.versions.version }}
95+
name: Verify Example Build for Maven ${{ matrix.versions.maven-version }}
9696
needs: [build]
9797
runs-on: ubuntu-latest
9898
strategy:
@@ -114,21 +114,21 @@ jobs:
114114
java-version: '8'
115115
distribution: 'temurin'
116116
cache: maven
117-
- name: Set up Maven
117+
- name: Set up Maven ${{ matrix.versions.maven-version }}
118118
uses: gradle/develocity-actions/[email protected]
119119
- name: Download extension
120120
uses: actions/download-artifact@v4
121121
with:
122122
name: convention-develocity-shared
123123
path: ~/.m2/repository/com/myorg
124-
- name: Set Maven version
124+
- name: Set Maven version ${{ matrix.versions.maven-version }}
125125
if: ${{ matrix.versions.maven-version != '(Current)' }}
126126
working-directory: convention-develocity-shared/examples/maven_${{ matrix.versions.sample }}
127127
run: ./mvnw wrapper:wrapper -Dmaven=${{ matrix.versions.maven-version }} -Ddevelocity.scan.disabled
128128
- name: Verify example build
129129
id: build
130130
working-directory: convention-develocity-shared/examples/maven_${{ matrix.versions.sample }}
131-
run: ./mvnw clean verify
131+
run: ./mvnw clean verify "-Dscan.value.maven-version=${{ matrix.versions.maven-version }}"
132132
env:
133133
DEVELOCITY_ACCESS_KEY: ${{ secrets.DV_SOLUTIONS_ACCESS_KEY }}
134134
- name: Verify Build Scan published
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
name: Verify Gradle Data Capturing Samples (Nightly)
2+
permissions:
3+
contents: read
4+
on:
5+
schedule:
6+
- cron: '0 4 * * *'
7+
push:
8+
paths:
9+
- ".github/workflows/gradle-data-capturing-samples-verification-nightly.yml"
10+
workflow_dispatch:
11+
12+
jobs:
13+
samples:
14+
name: Verification of sample ${{ matrix.name }} with Gradle ${{ matrix.gradle-version }}
15+
runs-on: ubuntu-latest
16+
strategy:
17+
matrix:
18+
gradle-version: [ 'current', 'release-candidate', 'nightly' ]
19+
java-version: [ '21' ]
20+
name: [ 'Git diffs', 'Max parallel forks', 'OS processes', 'Processor arch', 'Quality checks', 'Slow tasks', 'Test task system properties', 'Test PTS support', 'Thermal throttling' ]
21+
include:
22+
- name: 'Git diffs'
23+
sample-file: 'capture-git-diffs/gradle-git-diffs.gradle'
24+
- name: 'Max parallel forks'
25+
sample-file: 'capture-max-parallel-forks/gradle-max-parallel-forks.gradle'
26+
- name: 'OS processes'
27+
sample-file: 'capture-os-processes/gradle-os-processes.gradle'
28+
- name: 'Processor arch'
29+
sample-file: 'capture-processor-arch/gradle-processor-arch.gradle'
30+
- name: 'Quality checks'
31+
sample-file: 'capture-quality-check-issues/gradle-quality-check-issues.gradle'
32+
- name: 'Slow tasks'
33+
sample-file: 'capture-slow-workunit-executions/gradle-slow-task-executions.gradle'
34+
- name: 'Test task system properties'
35+
sample-file: 'capture-test-execution-system-properties/gradle-test-execution-system-properties.gradle'
36+
- name: 'Test PTS support'
37+
sample-file: 'capture-test-pts-support/gradle-test-pts-support.gradle'
38+
- name: 'Thermal throttling'
39+
sample-file: 'capture-thermal-throttling/gradle-thermal-throttling.gradle'
40+
steps:
41+
- name: Checkout
42+
uses: actions/checkout@v5
43+
- name: Set up JDK ${{ matrix.java-version }}
44+
uses: actions/setup-java@v5
45+
with:
46+
java-version: '${{ matrix.java-version }}'
47+
distribution: 'temurin'
48+
- name: Set up Gradle ${{ matrix.gradle-version }}
49+
uses: gradle/actions/setup-gradle@v4
50+
with:
51+
develocity-access-key: ${{ secrets.DV_SOLUTIONS_ACCESS_KEY }}
52+
gradle-version: ${{ matrix.gradle-version }}
53+
- name: Inject data capture script into Gradle build using Groovy DSL
54+
working-directory: common-develocity-gradle-configuration-groovy
55+
run: |
56+
# apply sample file
57+
echo "apply from: file(\"../build-data-capturing-gradle-samples/${{matrix.sample-file}}\")" >> build.gradle
58+
- name: Run Gradle build using Groovy DSL
59+
working-directory: common-develocity-gradle-configuration-groovy
60+
run: gradle tasks -Ddevelocity.url=https://ge.solutions-team.gradle.com "-Dscan.value.gradle-version=${{ matrix.gradle-version }}" "-Dscan.value.java-version=${{ matrix.java-version }}"
61+
- name: Inject data capture script into Gradle build using Kotlin DSL
62+
working-directory: common-develocity-gradle-configuration-kotlin
63+
run: |
64+
# apply sample file
65+
echo "apply(from = \"../build-data-capturing-gradle-samples/${{matrix.sample-file}}.kts\")" >> build.gradle.kts
66+
- name: Run Gradle build using Kotlin DSL
67+
working-directory: common-develocity-gradle-configuration-kotlin
68+
run: gradle tasks -Ddevelocity.url=https://ge.solutions-team.gradle.com "-Dscan.value.gradle-version=${{ matrix.gradle-version }}" "-Dscan.value.java-version=${{ matrix.java-version }}"

0 commit comments

Comments
 (0)