Skip to content

Commit ea7d0a5

Browse files
authored
Merge pull request #166 from gradle/erichaagdev/analyze-spring-results-using-gemini
Analyze experiment results for Spring projects using Gemini
2 parents 290c5b8 + b66539f commit ea7d0a5

7 files changed

+862
-6
lines changed

.github/workflows/_experimental-analyze-gradle-experiment-results.yml

Lines changed: 730 additions & 0 deletions
Large diffs are not rendered by default.

.github/workflows/run-experiments-spring-amqp.yml

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ env:
1414
TASKS: "build"
1515

1616
jobs:
17-
Experiment:
17+
experiments:
18+
name: Experiment ${{ matrix.experimentId }}
1819
strategy:
1920
fail-fast: false
2021
matrix:
@@ -23,6 +24,10 @@ jobs:
2324
- experimentId: 2
2425
- experimentId: 3
2526
runs-on: ubuntu-latest
27+
outputs:
28+
buildScanExperiment1: ${{ steps.run-exp1.outputs.buildScanSecondBuild }}
29+
buildScanExperiment2: ${{ steps.run-exp2.outputs.buildScanSecondBuild }}
30+
buildScanExperiment3: ${{ steps.run-exp3.outputs.buildScanSecondBuild }}
2631
steps:
2732
- name: Set up JDK
2833
uses: actions/setup-java@v5
@@ -37,6 +42,7 @@ jobs:
3742
- name: Configure validation scripts network settings
3843
uses: gradle/develocity-oss-projects/.github/actions/configure-validation-scripts-network-settings@main
3944
- name: Run experiment 1
45+
id: run-exp1
4046
uses: gradle/develocity-build-validation-scripts/.github/actions/gradle/experiment-1@actions-stable
4147
env:
4248
DEVELOCITY_ACCESS_KEY: "${{ secrets.DV_SOLUTIONS_ACCESS_KEY }}"
@@ -46,6 +52,7 @@ jobs:
4652
develocityUrl: ${{ env.DEVELOCITY_URL }}
4753
if: matrix.experimentId == 1
4854
- name: Run experiment 2
55+
id: run-exp2
4956
uses: gradle/develocity-build-validation-scripts/.github/actions/gradle/experiment-2@actions-stable
5057
env:
5158
DEVELOCITY_ACCESS_KEY: "${{ secrets.DV_SOLUTIONS_ACCESS_KEY }}"
@@ -56,6 +63,7 @@ jobs:
5663
failIfNotFullyCacheable: true
5764
if: matrix.experimentId == 2
5865
- name: Run experiment 3
66+
id: run-exp3
5967
uses: gradle/develocity-build-validation-scripts/.github/actions/gradle/experiment-3@actions-stable
6068
env:
6169
DEVELOCITY_ACCESS_KEY: "${{ secrets.DV_SOLUTIONS_ACCESS_KEY }}"
@@ -65,3 +73,16 @@ jobs:
6573
develocityUrl: ${{ env.DEVELOCITY_URL }}
6674
failIfNotFullyCacheable: true
6775
if: matrix.experimentId == 3
76+
77+
analyze:
78+
name: Analyze results
79+
uses: gradle/develocity-oss-projects/.github/workflows/_experimental-analyze-gradle-experiment-results.yml@main
80+
needs: experiments
81+
with:
82+
buildScanExperiment1: ${{ needs.experiments.outputs.buildScanExperiment1 }}
83+
buildScanExperiment2: ${{ needs.experiments.outputs.buildScanExperiment2 }}
84+
buildScanExperiment3: ${{ needs.experiments.outputs.buildScanExperiment3 }}
85+
secrets:
86+
develocityApiKey: ${{ secrets.DV_SOLUTIONS_API_KEY }}
87+
geminiApiKey: ${{ secrets.GEMINI_API_KEY }}
88+
if: always()

.github/workflows/run-experiments-spring-authorization-server.yml

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ env:
1414
TASKS: "build"
1515

1616
jobs:
17-
Experiment:
17+
experiments:
18+
name: Experiment ${{ matrix.experimentId }}
1819
strategy:
1920
fail-fast: false
2021
matrix:
@@ -23,6 +24,10 @@ jobs:
2324
- experimentId: 2
2425
- experimentId: 3
2526
runs-on: ubuntu-latest
27+
outputs:
28+
buildScanExperiment1: ${{ steps.run-exp1.outputs.buildScanSecondBuild }}
29+
buildScanExperiment2: ${{ steps.run-exp2.outputs.buildScanSecondBuild }}
30+
buildScanExperiment3: ${{ steps.run-exp3.outputs.buildScanSecondBuild }}
2631
steps:
2732
- name: Set up JDK 17
2833
uses: actions/setup-java@v5
@@ -37,6 +42,7 @@ jobs:
3742
- name: Configure validation scripts network settings
3843
uses: gradle/develocity-oss-projects/.github/actions/configure-validation-scripts-network-settings@main
3944
- name: Run experiment 1
45+
id: run-exp1
4046
uses: gradle/develocity-build-validation-scripts/.github/actions/gradle/experiment-1@actions-stable
4147
env:
4248
DEVELOCITY_ACCESS_KEY: "${{ secrets.DV_SOLUTIONS_ACCESS_KEY }}"
@@ -46,6 +52,7 @@ jobs:
4652
develocityUrl: ${{ env.DEVELOCITY_URL }}
4753
if: matrix.experimentId == 1
4854
- name: Run experiment 2
55+
id: run-exp2
4956
uses: gradle/develocity-build-validation-scripts/.github/actions/gradle/experiment-2@actions-stable
5057
env:
5158
DEVELOCITY_ACCESS_KEY: "${{ secrets.DV_SOLUTIONS_ACCESS_KEY }}"
@@ -56,6 +63,7 @@ jobs:
5663
failIfNotFullyCacheable: true
5764
if: matrix.experimentId == 2
5865
- name: Run experiment 3
66+
id: run-exp3
5967
uses: gradle/develocity-build-validation-scripts/.github/actions/gradle/experiment-3@actions-stable
6068
env:
6169
DEVELOCITY_ACCESS_KEY: "${{ secrets.DV_SOLUTIONS_ACCESS_KEY }}"
@@ -65,3 +73,16 @@ jobs:
6573
develocityUrl: ${{ env.DEVELOCITY_URL }}
6674
failIfNotFullyCacheable: true
6775
if: matrix.experimentId == 3
76+
77+
analyze:
78+
name: Analyze results
79+
uses: gradle/develocity-oss-projects/.github/workflows/_experimental-analyze-gradle-experiment-results.yml@main
80+
needs: experiments
81+
with:
82+
buildScanExperiment1: ${{ needs.experiments.outputs.buildScanExperiment1 }}
83+
buildScanExperiment2: ${{ needs.experiments.outputs.buildScanExperiment2 }}
84+
buildScanExperiment3: ${{ needs.experiments.outputs.buildScanExperiment3 }}
85+
secrets:
86+
develocityApiKey: ${{ secrets.DV_SOLUTIONS_API_KEY }}
87+
geminiApiKey: ${{ secrets.GEMINI_API_KEY }}
88+
if: always()

.github/workflows/run-experiments-spring-boot.yml

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ env:
1414
TASKS: "build"
1515

1616
jobs:
17-
Experiment:
17+
experiments:
18+
name: Experiment ${{ matrix.experimentId }}
1819
strategy:
1920
fail-fast: false
2021
matrix:
@@ -23,6 +24,10 @@ jobs:
2324
- experimentId: 2
2425
- experimentId: 3
2526
runs-on: ubuntu-latest
27+
outputs:
28+
buildScanExperiment1: ${{ steps.run-exp1.outputs.buildScanSecondBuild }}
29+
buildScanExperiment2: ${{ steps.run-exp2.outputs.buildScanSecondBuild }}
30+
buildScanExperiment3: ${{ steps.run-exp3.outputs.buildScanSecondBuild }}
2631
steps:
2732
- name: Free disk space
2833
uses: jlumbroso/free-disk-space@v1.3.1
@@ -45,6 +50,7 @@ jobs:
4550
chmod +x ~/git-hooks/post-checkout
4651
git config --global core.hooksPath ~/git-hooks
4752
- name: Run experiment 1
53+
id: run-exp1
4854
uses: gradle/develocity-build-validation-scripts/.github/actions/gradle/experiment-1@actions-stable
4955
env:
5056
DEVELOCITY_ACCESS_KEY: "${{ secrets.DV_SOLUTIONS_ACCESS_KEY }}"
@@ -54,6 +60,7 @@ jobs:
5460
develocityUrl: ${{ env.DEVELOCITY_URL }}
5561
if: matrix.experimentId == 1
5662
- name: Run experiment 2
63+
id: run-exp2
5764
uses: gradle/develocity-build-validation-scripts/.github/actions/gradle/experiment-2@actions-stable
5865
env:
5966
DEVELOCITY_ACCESS_KEY: "${{ secrets.DV_SOLUTIONS_ACCESS_KEY }}"
@@ -64,6 +71,7 @@ jobs:
6471
failIfNotFullyCacheable: true
6572
if: matrix.experimentId == 2
6673
- name: Run experiment 3
74+
id: run-exp3
6775
uses: gradle/develocity-build-validation-scripts/.github/actions/gradle/experiment-3@actions-stable
6876
env:
6977
DEVELOCITY_ACCESS_KEY: "${{ secrets.DV_SOLUTIONS_ACCESS_KEY }}"
@@ -73,3 +81,16 @@ jobs:
7381
develocityUrl: ${{ env.DEVELOCITY_URL }}
7482
failIfNotFullyCacheable: true
7583
if: matrix.experimentId == 3
84+
85+
analyze:
86+
name: Analyze results
87+
uses: gradle/develocity-oss-projects/.github/workflows/_experimental-analyze-gradle-experiment-results.yml@main
88+
needs: experiments
89+
with:
90+
buildScanExperiment1: ${{ needs.experiments.outputs.buildScanExperiment1 }}
91+
buildScanExperiment2: ${{ needs.experiments.outputs.buildScanExperiment2 }}
92+
buildScanExperiment3: ${{ needs.experiments.outputs.buildScanExperiment3 }}
93+
secrets:
94+
develocityApiKey: ${{ secrets.DV_SOLUTIONS_API_KEY }}
95+
geminiApiKey: ${{ secrets.GEMINI_API_KEY }}
96+
if: always()

.github/workflows/run-experiments-spring-framework.yml

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,19 @@ env:
1414
TASKS: "build"
1515

1616
jobs:
17-
Experiment:
17+
experiments:
18+
name: Experiment ${{ matrix.experimentId }}
1819
strategy:
1920
fail-fast: false
2021
matrix:
2122
include:
2223
- experimentId: 1
2324
- experimentId: 2
2425
- experimentId: 3
26+
outputs:
27+
buildScanExperiment1: ${{ steps.run-exp1.outputs.buildScanSecondBuild }}
28+
buildScanExperiment2: ${{ steps.run-exp2.outputs.buildScanSecondBuild }}
29+
buildScanExperiment3: ${{ steps.run-exp3.outputs.buildScanSecondBuild }}
2530
runs-on: ubuntu-latest
2631
steps:
2732
- name: Set up JDK 21 EA
@@ -42,6 +47,7 @@ jobs:
4247
- name: Configure validation scripts network settings
4348
uses: gradle/develocity-oss-projects/.github/actions/configure-validation-scripts-network-settings@main
4449
- name: Run experiment 1
50+
id: run-exp1
4551
uses: gradle/develocity-build-validation-scripts/.github/actions/gradle/experiment-1@actions-stable
4652
env:
4753
DEVELOCITY_ACCESS_KEY: "${{ secrets.DV_SOLUTIONS_ACCESS_KEY }}"
@@ -51,6 +57,7 @@ jobs:
5157
develocityUrl: ${{ env.DEVELOCITY_URL }}
5258
if: matrix.experimentId == 1
5359
- name: Run experiment 2
60+
id: run-exp2
5461
uses: gradle/develocity-build-validation-scripts/.github/actions/gradle/experiment-2@actions-stable
5562
env:
5663
DEVELOCITY_ACCESS_KEY: "${{ secrets.DV_SOLUTIONS_ACCESS_KEY }}"
@@ -61,6 +68,7 @@ jobs:
6168
failIfNotFullyCacheable: true
6269
if: matrix.experimentId == 2
6370
- name: Run experiment 3
71+
id: run-exp3
6472
uses: gradle/develocity-build-validation-scripts/.github/actions/gradle/experiment-3@actions-stable
6573
env:
6674
DEVELOCITY_ACCESS_KEY: "${{ secrets.DV_SOLUTIONS_ACCESS_KEY }}"
@@ -70,3 +78,16 @@ jobs:
7078
develocityUrl: ${{ env.DEVELOCITY_URL }}
7179
failIfNotFullyCacheable: true
7280
if: matrix.experimentId == 3
81+
82+
analyze:
83+
name: Analyze results
84+
uses: gradle/develocity-oss-projects/.github/workflows/_experimental-analyze-gradle-experiment-results.yml@main
85+
needs: experiments
86+
with:
87+
buildScanExperiment1: ${{ needs.experiments.outputs.buildScanExperiment1 }}
88+
buildScanExperiment2: ${{ needs.experiments.outputs.buildScanExperiment2 }}
89+
buildScanExperiment3: ${{ needs.experiments.outputs.buildScanExperiment3 }}
90+
secrets:
91+
develocityApiKey: ${{ secrets.DV_SOLUTIONS_API_KEY }}
92+
geminiApiKey: ${{ secrets.GEMINI_API_KEY }}
93+
if: always()

.github/workflows/run-experiments-spring-kafka.yml

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ env:
1414
TASKS: "build"
1515

1616
jobs:
17-
Experiment:
17+
experiments:
18+
name: Experiment ${{ matrix.experimentId }}
1819
strategy:
1920
fail-fast: false
2021
matrix:
@@ -23,6 +24,10 @@ jobs:
2324
- experimentId: 2
2425
- experimentId: 3
2526
runs-on: ubuntu-latest
27+
outputs:
28+
buildScanExperiment1: ${{ steps.run-exp1.outputs.buildScanSecondBuild }}
29+
buildScanExperiment2: ${{ steps.run-exp2.outputs.buildScanSecondBuild }}
30+
buildScanExperiment3: ${{ steps.run-exp3.outputs.buildScanSecondBuild }}
2631
steps:
2732
- name: Set up JDK 17
2833
uses: actions/setup-java@v5
@@ -37,6 +42,7 @@ jobs:
3742
- name: Configure validation scripts network settings
3843
uses: gradle/develocity-oss-projects/.github/actions/configure-validation-scripts-network-settings@main
3944
- name: Run experiment 1
45+
id: run-exp1
4046
uses: gradle/develocity-build-validation-scripts/.github/actions/gradle/experiment-1@actions-stable
4147
env:
4248
DEVELOCITY_ACCESS_KEY: "${{ secrets.DV_SOLUTIONS_ACCESS_KEY }}"
@@ -46,6 +52,7 @@ jobs:
4652
develocityUrl: ${{ env.DEVELOCITY_URL }}
4753
if: matrix.experimentId == 1
4854
- name: Run experiment 2
55+
id: run-exp2
4956
uses: gradle/develocity-build-validation-scripts/.github/actions/gradle/experiment-2@actions-stable
5057
env:
5158
DEVELOCITY_ACCESS_KEY: "${{ secrets.DV_SOLUTIONS_ACCESS_KEY }}"
@@ -56,6 +63,7 @@ jobs:
5663
failIfNotFullyCacheable: true
5764
if: matrix.experimentId == 2
5865
- name: Run experiment 3
66+
id: run-exp3
5967
uses: gradle/develocity-build-validation-scripts/.github/actions/gradle/experiment-3@actions-stable
6068
env:
6169
DEVELOCITY_ACCESS_KEY: "${{ secrets.DV_SOLUTIONS_ACCESS_KEY }}"
@@ -65,3 +73,16 @@ jobs:
6573
develocityUrl: ${{ env.DEVELOCITY_URL }}
6674
failIfNotFullyCacheable: true
6775
if: matrix.experimentId == 3
76+
77+
analyze:
78+
name: Analyze results
79+
uses: gradle/develocity-oss-projects/.github/workflows/_experimental-analyze-gradle-experiment-results.yml@main
80+
needs: experiments
81+
with:
82+
buildScanExperiment1: ${{ needs.experiments.outputs.buildScanExperiment1 }}
83+
buildScanExperiment2: ${{ needs.experiments.outputs.buildScanExperiment2 }}
84+
buildScanExperiment3: ${{ needs.experiments.outputs.buildScanExperiment3 }}
85+
secrets:
86+
develocityApiKey: ${{ secrets.DV_SOLUTIONS_API_KEY }}
87+
geminiApiKey: ${{ secrets.GEMINI_API_KEY }}
88+
if: always()

.github/workflows/run-experiments-spring-security.yml

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ env:
1414
TASKS: "build"
1515

1616
jobs:
17-
Experiment:
17+
experiments:
18+
name: Experiment ${{ matrix.experimentId }}
1819
strategy:
1920
fail-fast: false
2021
matrix:
@@ -23,6 +24,10 @@ jobs:
2324
- experimentId: 2
2425
- experimentId: 3
2526
runs-on: ubuntu-latest
27+
outputs:
28+
buildScanExperiment1: ${{ steps.run-exp1.outputs.buildScanSecondBuild }}
29+
buildScanExperiment2: ${{ steps.run-exp2.outputs.buildScanSecondBuild }}
30+
buildScanExperiment3: ${{ steps.run-exp3.outputs.buildScanSecondBuild }}
2631
steps:
2732
- name: Set up JDK 17
2833
uses: actions/setup-java@v5
@@ -37,6 +42,7 @@ jobs:
3742
- name: Configure validation scripts network settings
3843
uses: gradle/develocity-oss-projects/.github/actions/configure-validation-scripts-network-settings@main
3944
- name: Run experiment 1
45+
id: run-exp1
4046
uses: gradle/develocity-build-validation-scripts/.github/actions/gradle/experiment-1@actions-stable
4147
env:
4248
DEVELOCITY_ACCESS_KEY: "${{ secrets.DV_SOLUTIONS_ACCESS_KEY }}"
@@ -46,6 +52,7 @@ jobs:
4652
develocityUrl: ${{ env.DEVELOCITY_URL }}
4753
if: matrix.experimentId == 1
4854
- name: Run experiment 2
55+
id: run-exp2
4956
uses: gradle/develocity-build-validation-scripts/.github/actions/gradle/experiment-2@actions-stable
5057
env:
5158
DEVELOCITY_ACCESS_KEY: "${{ secrets.DV_SOLUTIONS_ACCESS_KEY }}"
@@ -56,6 +63,7 @@ jobs:
5663
failIfNotFullyCacheable: true
5764
if: matrix.experimentId == 2
5865
- name: Run experiment 3
66+
id: run-exp3
5967
uses: gradle/develocity-build-validation-scripts/.github/actions/gradle/experiment-3@actions-stable
6068
env:
6169
DEVELOCITY_ACCESS_KEY: "${{ secrets.DV_SOLUTIONS_ACCESS_KEY }}"
@@ -65,3 +73,16 @@ jobs:
6573
develocityUrl: ${{ env.DEVELOCITY_URL }}
6674
failIfNotFullyCacheable: true
6775
if: matrix.experimentId == 3
76+
77+
analyze:
78+
name: Analyze results
79+
uses: gradle/develocity-oss-projects/.github/workflows/_experimental-analyze-gradle-experiment-results.yml@main
80+
needs: experiments
81+
with:
82+
buildScanExperiment1: ${{ needs.experiments.outputs.buildScanExperiment1 }}
83+
buildScanExperiment2: ${{ needs.experiments.outputs.buildScanExperiment2 }}
84+
buildScanExperiment3: ${{ needs.experiments.outputs.buildScanExperiment3 }}
85+
secrets:
86+
develocityApiKey: ${{ secrets.DV_SOLUTIONS_API_KEY }}
87+
geminiApiKey: ${{ secrets.GEMINI_API_KEY }}
88+
if: always()

0 commit comments

Comments
 (0)