Skip to content

Commit a6b7c3a

Browse files
committed
Merge pull request #787 from gradle/erichaagdev/remove-auto-dev-releases
Automatic development releases are removed
2 parents c94c1dd + 32bb3e0 commit a6b7c3a

File tree

4 files changed

+98
-27
lines changed

4 files changed

+98
-27
lines changed

Diff for: .github/workflows/cross-platform-testing-build-from-source.yml

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
name: Run Cross-Platform Tests (Build From Source)
22

3-
on: [ workflow_dispatch ]
3+
on:
4+
push:
5+
branches:
6+
- main
7+
workflow_dispatch:
48

59
jobs:
610
build:

Diff for: .github/workflows/development-release.yml

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
name: Create Development Release
22

33
on:
4-
push:
5-
branches:
6-
- main
74
workflow_dispatch:
5+
inputs:
6+
confirmation:
7+
description: Enter the confirmation phrase 'DEVELOPMENT' (without quotes) if you are sure you want to trigger a development release.
8+
required: true
89

910
jobs:
1011
development_release:
12+
if: github.event.inputs.confirmation == 'DEVELOPMENT'
1113
name: Release
1214
runs-on: ubuntu-latest
1315
steps:

Diff for: Gradle.md

+48-15
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,47 @@ There are currently five experiments for Gradle. You could also perform these ex
88

99
## Requirements
1010

11-
You need to have [Bash](https://www.gnu.org/software/bash/) installed in order to run the build validation scripts.
11+
You must have the following tooling in order to use the Develocity Build Validation Scripts:
1212

13-
If you plan to use the build validation scripts on Windows, then you will need to [install Windows Subsystem for Linux (WSL)](https://docs.microsoft.com/en-us/windows/wsl/install). The build validation scripts work well on the WSL default distribution (Ubuntu). Note how to deal with the eventuality of facing filename too long errors [here](#dealing-with-filename-too-long-errors-on-windows).
13+
- [Develocity](https://gradle.com/develocity/)
14+
- [Bash](https://www.gnu.org/software/bash/)
15+
16+
For users running on Windows, you will need to [install Windows Subsystem for Linux (WSL)](https://docs.microsoft.com/en-us/windows/wsl/install).
17+
The scripts work well on the WSL default distribution (Ubuntu).
18+
Note how to deal with the eventuality of facing filename too long errors [here](#dealing-with-filename-too-long-errors-on-windows).
19+
20+
### User permissions
21+
22+
Experiment builds running locally require different permissions granted to the Develocity user running the build than compared to builds that run in CI.
23+
Note that not all permissions are required, but they're still strongly recommended for the best possible experience.
24+
25+
Your Develocity user should be granted the following permissions:
26+
27+
| User permission | Reason | Required |
28+
|---------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------|
29+
| Publish build scans | Analyzing the experiment results relies on build scans published to Develocity. | Yes |
30+
| Read build cache data | Required only for experiments that involve remote build cache reads. | Only for experiment 5 |
31+
| View build scans and build data | Build scans can be used to perform a deeper analysis of the experiment results. | No |
32+
| Access build data via the API | Used to retrieve the summarized experiment results.</br></br>See [Authenticating with Develocity][#authenticating-with-develocity] for more details. | No |
33+
34+
> [!IMPORTANT]
35+
> Your Develocity user must be granted one of 'View build scans and build data' or 'Access build data via the API'.
36+
> If you have neither, you will have no way to view the experiment results.
37+
38+
For experiment builds that are run in CI, the Develocity user used in CI should be granted the following permissions:
39+
40+
| User permission | Reason | Required |
41+
|---------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------|
42+
| Publish build scans | Analyzing the experiment results relies on build scans published to Develocity. | Yes |
43+
| Read and write build cache data | Writing to the remote build cache. | Yes |
44+
| Access build data via the API | Used to retrieve the summarized experiment results.</br></br>See [Authenticating with Develocity][#authenticating-with-develocity] for more details. | Only when using `--fail-if-not-fully-cacheable` |
45+
46+
### Common Custom User Data Gradle plugin
47+
48+
To get the most out of the experiments and also when building with Develocity during daily development, it is highly recommended that you apply the [Common Custom User Data Gradle plugin](https://github.com/gradle/common-custom-user-data-gradle-plugin) to your build.
49+
This free, open-source plugin enhances build scans with additional tags, links, and custom values that are considered during the experiments.
50+
51+
You can find a complete example of how to apply the Common Custom User Data Gradle plugin to your build [here](https://github.com/gradle/develocity-build-config-samples/tree/main/common-develocity-gradle-configuration-groovy/settings.gradle) for Groovy DSL and [here](https://github.com/gradle/develocity-build-config-samples/blob/main/common-develocity-gradle-configuration-kotlin/settings.gradle.kts) for Kotlin DSL.
1452

1553
## Compatibility
1654

@@ -86,13 +124,14 @@ is invoked, as shown in the example below.
86124

87125
The scripts return with an exit code that depends on the outcome of running a given experiment.
88126

89-
| Exit Code | Reason |
90-
|-----------|--------------------------------------------------------------------------------------------------------|
91-
| 0 | The experiment completed successfully |
92-
| 1 | An invalid input was provided while attempting to run the experiment |
93-
| 2 | One of the builds that is part of the experiment failed |
94-
| 3 | The build was not fully cacheable for the given task graph and `--fail-if-not-fully-cacheable` was set |
95-
| 100 | An unclassified, fatal error happened while running the experiment |
127+
| Exit Code | Reason |
128+
|-----------|--------------------------------------------------------------------------------------------------------------------------------|
129+
| 0 | The experiment completed successfully |
130+
| 1 | An invalid input was provided while attempting to run the experiment |
131+
| 2 | One of the builds that is part of the experiment failed |
132+
| 3 | Option `--fail-if-not-fully-cacheable` was set and the build was not fully cacheable for the given task graph |
133+
| 4 | Option `--fail-if-not-fully-cacheable` was set and performance characteristics are unknown, e.g., due to a failed API response |
134+
| 100 | An unclassified, fatal error happened while running the experiment |
96135

97136
## Verifying the setup
98137

@@ -103,12 +142,6 @@ the local builds to publish their build scans to a Develocity server reachable a
103142
./01-validate-incremental-building.sh -t assemble -r https://github.com/gradle/gradle-build-scan-quickstart -e -s https://develocity.example.io
104143
```
105144

106-
## Applying the Common Custom User Data Gradle plugin
107-
108-
To get the most out of the experiments and also when building with Develocity during daily development, it is highly recommended that you apply the [Common Custom User Data Gradle plugin](https://github.com/gradle/common-custom-user-data-gradle-plugin) to your build. This free, open-source plugin enhances build scans with additional tags, links, and custom values that are considered during the experiments.
109-
110-
You can find a complete example of how to apply the Common Custom User Data Gradle plugin to your build [here](https://github.com/gradle/develocity-build-config-samples/tree/main/common-develocity-gradle-configuration-groovy/settings.gradle) for Groovy DSL and [here](https://github.com/gradle/develocity-build-config-samples/blob/main/common-develocity-gradle-configuration-kotlin/settings.gradle.kts) for Kotlin DSL.
111-
112145
## Authenticating with Develocity
113146

114147
Some scripts fetch data from build scans that were published as part of running an experiment. The build scan data is fetched by leveraging the [Develocity API](https://docs.gradle.com/develocity/api-manual/). It is not strictly necessary that you have permission to call these APIs to execute a script successfully, but the summary provided once the script has finished running its experiment will be more comprehensive if the build scan data is accessible.

Diff for: Maven.md

+40-8
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,47 @@ There are currently four experiments for Maven. You could also perform these exp
88

99
## Requirements
1010

11-
You need to have [Bash](https://www.gnu.org/software/bash/) installed in order to run the build validation scripts.
11+
You must have the following tooling in order to use the Develocity Build Validation Scripts:
1212

13-
If you plan to use the build validation scripts on Windows, then you will need to [install Windows Subsystem for Linux (WSL)](https://docs.microsoft.com/en-us/windows/wsl/install). The build validation scripts work well on the WSL default distribution (Ubuntu). Note how to deal with the eventuality of facing filename too long errors [here](#dealing-with-filename-too-long-errors-on-windows).
13+
- [Develocity](https://gradle.com/develocity/)
14+
- [Bash](https://www.gnu.org/software/bash/)
15+
16+
For users running on Windows, you will need to [install Windows Subsystem for Linux (WSL)](https://docs.microsoft.com/en-us/windows/wsl/install).
17+
The scripts work well on the WSL default distribution (Ubuntu).
18+
Note how to deal with the eventuality of facing filename too long errors [here](#dealing-with-filename-too-long-errors-on-windows).
19+
20+
### User permissions
21+
22+
Experiment builds running locally require different permissions granted to the Develocity user running the build than compared to builds that run in CI.
23+
Note that not all permissions are required, but they're still strongly recommended for the best possible experience.
24+
25+
Your Develocity user should be granted the following permissions:
26+
27+
| User permission | Reason | Required |
28+
|---------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------|
29+
| Publish build scans | Analyzing the experiment results relies on build scans published to Develocity. | Yes |
30+
| Read build cache data | Required only for experiments that involve remote build cache reads. | Only for experiment 4 |
31+
| View build scans and build data | Build scans can be used to perform a deeper analysis of the experiment results. | No |
32+
| Access build data via the API | Used to retrieve the summarized experiment results.</br></br>See [Authenticating with Develocity][#authenticating-with-develocity] for more details. | No |
33+
34+
> [!IMPORTANT]
35+
> Your Develocity user must be granted one of 'View build scans and build data' or 'Access build data via the API'.
36+
> If you have neither, you will have no way to view the experiment results.
37+
38+
For experiment builds that are run in CI, the Develocity user used in CI should be granted the following permissions:
39+
40+
| User permission | Reason | Required |
41+
|---------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------|
42+
| Publish build scans | Analyzing the experiment results relies on build scans published to Develocity. | Yes |
43+
| Read and write build cache data | Writing to the remote build cache. | Yes |
44+
| Access build data via the API | Used to retrieve the summarized experiment results.</br></br>See [Authenticating with Develocity][#authenticating-with-develocity] for more details. | Only when using `--fail-if-not-fully-cacheable` |
45+
46+
### Common Custom User Data Gradle plugin
47+
48+
To get the most out of the experiments and also when building with Develocity during daily development, it is highly recommended that you apply the [Common Custom User Data Maven extension](https://github.com/gradle/common-custom-user-data-maven-extension) to your build.
49+
This free, open-source plugin enhances build scans with additional tags, links, and custom values that are considered during the experiments.
50+
51+
You can find a complete example of how to apply the Common Custom User Data Maven extension to your build [here](https://github.com/gradle/develocity-build-config-samples/blob/main/common-develocity-maven-configuration/.mvn/extensions.xml).
1452

1553
## Compatibility
1654

@@ -101,12 +139,6 @@ the local builds to publish their build scans to a Develocity server reachable a
101139
./01-validate-local-build-caching-same-location.sh -g compile -r https://github.com/gradle/maven-build-scan-quickstart -e -s https://develocity.example.io
102140
```
103141

104-
## Applying the Common Custom User Data Maven extension
105-
106-
To get the most out of the experiments and also when building with Develocity during daily development, it is highly recommended that you apply the [Common Custom User Data Maven extension](https://github.com/gradle/common-custom-user-data-maven-extension) to your build. This free, open-source plugin enhances build scans with additional tags, links, and custom values that are considered during the experiments.
107-
108-
You can find a complete example of how to apply the Common Custom User Data Maven extension to your build [here](https://github.com/gradle/develocity-build-config-samples/blob/main/common-develocity-maven-configuration/.mvn/extensions.xml).
109-
110142
## Authenticating with Develocity
111143

112144
Some scripts fetch data from build scans that were published as part of running an experiment. The build scan data is fetched by leveraging the [Develocity API](https://docs.gradle.com/develocity/api-manual/). It is not strictly necessary that you have permission to call these APIs to execute a script successfully, but the summary provided once the script has finished running its experiment will be more comprehensive if the build scan data is accessible.

0 commit comments

Comments
 (0)