Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Use branch instead of tag for green branch

Use branch instead of tag for green branch

Force update green branch tags

Force update green branch tags

Set a green branch tag when Ready for nightly finishes (#10984)

Fixes https://github.com/gradle/gradle-private/issues/1398

This PR sets up a "green status" for master/release branch,

which can be used by user to checkout new branches.

    • -0
    • +44
    ./src/main/kotlin/org/gradle/gradlebuild/UpdateBranchStatus.kt
  1. … 3 more files in changeset.
Set a green branch tag when Ready for nightly finishes (#10984)

Fixes https://github.com/gradle/gradle-private/issues/1398

This PR sets up a "green status" for master/release branch,

which can be used by user to checkout new branches.

    • -0
    • +44
    ./src/main/kotlin/org/gradle/gradlebuild/UpdateBranchStatus.kt
  1. … 3 more files in changeset.
Fix empty REPO_MIRROR_URLS

Remove `distributedFullPerformanceTest(s)`

  1. … 1 more file in changeset.
Add new experiment coordinator build

which runs once a week. The historical coordinator now only runs

regression tests.

  1. … 2 more files in changeset.
Run only slow regression tests every day

and maybe later on every commit on `master`. The experiments are

already run weekly as part of the `historical` performance tests.

  1. … 2 more files in changeset.
Fix incorrect split (#10689)

I made a mistake when splitting the test sets: suppose we have 1000 tests and want to split into 3 buckets, the previous split is [333,333,333,1], so the test include/exclude patterns are:

- include 1..333

- include 334..666

- exclude 1..999

We're missing a large subset of tests! This fixes this issue by correctly splitting the buckets.

  1. … 1 more file in changeset.
Fix BuildTypesPluginTest

Make buckets in TeamCity configuration (#10552)

Currently, the primary obstacles for us to improve CI feedback time is the long-running jobs: `integTest`/`core`/`dependencyManagement` each takes more than 10 minutes. Without decreasing the time we can't improve CI feedback time.

This PR changes the previous subproject-based TC job to bucket-based TC job: a bucket can contain a split of large subproject, or many tiny subprojects. This makes CI configuration more flexiable and efficient.

For example, all tiny subprojects which only contain unit tests can be merged to `AllUnitTests`, just as before - but now we make this more generic.

`integTest` subproject can be split to 3 jobs: `integTest`/`integTest_2`/`integTest_3`. Splitted project has a special parameter `-PtestSplit=1/3`/`-PtestSplit=2/3`/`-PtestSplit=3/3` so the build can choose only a subset of tests to execute.

  1. … 8 more files in changeset.
Move rerun strategy to property

and add some DSL to configure it.

  1. … 4 more files in changeset.
Remove unused code

  1. … 2 more files in changeset.
New performance process (#10361)

This PR introduces new performance test process. See more details in https://docs.google.com/document/u/1/d/1pghuxbCR5oYWhUrIK2e4bmABQt3NEIYOOIK4iHyjWyQ/edit#heading=h.is4fzcbmxxld

  1. … 50 more files in changeset.
Prefer composition over inheritance in PerformanceTest hierarchy (#10262)

### Context

Previously, we had a bad `PerformanceTest` hierarchy:

- PerformanceTest

- ReportGenerationPerformanceTest

- BuildScanPerformanceTest

- DistributedPerformanceTest

- RerunDistributedPerformanceTest

This PR does a refactoring - extracts a `PerformanceTestReporter`/`DistributedPerformanceTestReporter` out of the `PerformanceTest` hierarchy, because https://github.com/gradle/gradle-private/issues/2192 wants a report, too.

The hierarchy after the refactoring:

- PerformanceTest

- DistributedPerformanceTest

- PerformanceTestReporter

So we can make things easier.

  1. … 10 more files in changeset.
Allow running build types for multiple subprojects at once

So we can invoke e.g. `baseServices:quickTest cli:quickTest`.

Allow running build types for multiple subprojects at once

So we can invoke e.g. `baseServices:quickTest cli:quickTest`.

Add missing type information to `PerformanceTestPlugin`

For compatibility with Kotlin 1.3.41.

Enable incremental compilation for Groovy (#9803)

In https://github.com/gradle/gradle/pull/9616 we did preliminary support for Groovy incremental compilation. This PR enables Groovy incremental compilation for Gradle build.

  1. … 1 more file in changeset.
Dogfood native test fixtures

This commit replaces our custom test fixtures with the native "Java test fixtures".

The `TestFixturesPlugin` of our build has been simplified to leverage the native

test fixtures capabilities. Some noticeable changes:

- the `testFixtures` extension has been replaced with regular dependency declaration

- dependencies on test fixtures are now declared using the `testFixtures` keyword

- test fixtures properly declare an API and an implementation, meaning that the

implementation dependencies of test fixtures no longer leak into the compile

classpath of consumers (in particular tests)

  1. … 84 more files in changeset.
Rework ClasspathManifest task so its state doesn't hold Project references

Signed-off-by: Paul Merlin <paul@gradle.com>

  1. … 2 more files in changeset.
Change all subprojects to use 'implementation' dependencies

This includes:

- All projects now explicitly declare all dependencies to other

subprojects. This makes issues more visible, guards for accidental

addition of new dependencies, and leaks much less transitive

dependencies on the compile classpathes.

- All usages of 'runtime' to declare dependencies have been replaced

with 'runtimeOnly'

- All projects are now `java-library` (and declare this explicitly)

- Most remaining Groovy scripts are translated to Kotlin

- The old 'compile' and 'runtime' configurations are not

configured/created anymore for the 'testFixture' and 'integTest'

source sets.

- Some obsolete dependencies (see previous commits) are removed

- 'api' is used scarcely on purpose as the current project structure is

not well designed for this. The projects contain code for several

concerns of the build tool and thus putting complete projects on the

API of others exposes too much. They should be split up along

functional concerns first.

  1. … 109 more files in changeset.
Add PORTAL_PLUGINS module type for independently published modules

These require the distribution platform dependency to be handled

differently.

  1. … 1 more file in changeset.
Make more subprojects use Java 8 and remove redundant module types (#9447)

  1. … 28 more files in changeset.
Upgrade other ASM dependencies from `6.0` to `7.1`

Signed-off-by: Pap Lőrinc <lorinc@gradle.com>

  1. … 4 more files in changeset.
Revert "Use the `StackWalker` API in order to avoid creation of an exception"

This reverts commit 732111e1f549925530afb8993546cd4bb31f2d7a.

We have a weird setup where we need to execute Gradle on JDK 8, so we can't

simply have scripts that depend on Java 9 APIs.

    • -10
    • +5
    ./src/main/kotlin/gradlebuild/security.gradle.kts
Use the `StackWalker` API in order to avoid creation of an exception

    • -5
    • +10
    ./src/main/kotlin/gradlebuild/security.gradle.kts
Only check each repository once

    • -5
    • +13
    ./src/main/kotlin/gradlebuild/security.gradle.kts