Skip to content

Commit de59401

Browse files
committed
Merge branch 'main' into spike-zk-quorum
2 parents 459ecf6 + 08c0730 commit de59401

4,031 files changed

Lines changed: 121172 additions & 90061 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.asf.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@ github:
2727
branch_9_3: {}
2828
branch_9_4: {}
2929
branch_9_5: {}
30+
branch_9_6: {}
31+
branch_9_7: {}
32+
branch_9_8: {}
33+
branch_9_9: {}
3034
branch_9x: {}
3135

3236
protected_tags:

.editorconfig

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

.gitattributes

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
# Ignore all differences in line endings for the lock file.
1+
# Ignore all differences in line endings for lock files.
22
versions.lock text eol=lf
3+
**/*.lockfile text eol=lf
34

45
# Gradle files are always in LF.
56
*.gradle text eol=lf

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ Please review the following and check all that apply:
3737

3838
- [ ] I have reviewed the guidelines for [How to Contribute](https://github.com/apache/solr/blob/main/CONTRIBUTING.md) and my code conforms to the standards described there to the best of my ability.
3939
- [ ] I have created a Jira issue and added the issue ID to my pull request title.
40-
- [ ] I have given Solr maintainers [access](https://help.github.com/en/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork) to contribute to my PR branch. (optional but recommended)
40+
- [ ] I have given Solr maintainers [access](https://help.github.com/en/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork) to contribute to my PR branch. (optional but recommended, not available for branches on forks living under an organisation)
4141
- [ ] I have developed this patch against the `main` branch.
4242
- [ ] I have run `./gradlew check`.
4343
- [ ] I have added tests for my changes.
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# This composite action is included in other workflows to have a shared setup
2+
# for java, gradle, caches, etc.
3+
4+
name: Prepare build
5+
description: Creates a shared setup for other workflows
6+
7+
inputs:
8+
java-version:
9+
required: false
10+
default: "21"
11+
description: "The default JDK version to set up."
12+
13+
java-distribution:
14+
required: false
15+
default: "temurin"
16+
description: "The default JDK distribution type"
17+
18+
runs:
19+
using: "composite"
20+
steps:
21+
- name: Set up Java (${{ inputs.java-distribution }}, ${{ inputs.java-version }})"
22+
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
23+
with:
24+
distribution: ${{ inputs.java-distribution }}
25+
java-version: ${{ inputs.java-version }}
26+
java-package: jdk
27+
28+
- name: Cache gradle-wrapper.jar
29+
uses: actions/cache@v4
30+
with:
31+
path: gradle/wrapper/gradle-wrapper.jar
32+
key: gradle-wrapper-${{ hashFiles('gradle/wrapper/gradle-wrapper.jar.sha256') }}
33+
34+
# This includes "smart" caching of gradle dependencies.
35+
- name: Set up Gradle
36+
uses: gradle/actions/setup-gradle@v4
37+
with:
38+
# increase expiry time for the temp. develocity token.
39+
# https://github.com/gradle/actions/blob/main/docs/setup-gradle.md#increasing-the-expiry-time-for-develocity-access-tokens
40+
develocity-token-expiry: 8

.github/labeler.yml

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22
dependencies:
33
- changed-files:
44
- any-glob-to-any-file:
5-
- versions.props
6-
- versions.lock
7-
- solr/licenses/**
5+
- "gradle/libs.versions.toml" # Solr 10+
6+
- "**/*.lockfile"
7+
- "versions.props" # Solr < v10
8+
- "versions.lock"
9+
- "solr/licenses/**"
810

911
# Add 'documentation' label to any changes within ref-guide or dev-docs
1012
documentation:
@@ -94,6 +96,7 @@ admin-ui:
9496
- changed-files:
9597
- any-glob-to-any-file:
9698
- solr/webapp/**
99+
- solr/ui/**
97100

98101
# Add 'prometheus-exporter' label
99102
prometheus-exporter:
@@ -122,16 +125,6 @@ module:gcs-repository:
122125
- any-glob-to-any-file:
123126
- solr/modules/gcs-repository/**
124127

125-
module:hadoop-auth:
126-
- changed-files:
127-
- any-glob-to-any-file:
128-
- solr/modules/hadoop-auth/**
129-
130-
module:hdfs:
131-
- changed-files:
132-
- any-glob-to-any-file:
133-
- solr/modules/hdfs/**
134-
135128
module:jwt-auth:
136129
- changed-files:
137130
- any-glob-to-any-file:
@@ -199,9 +192,7 @@ cat:index:
199192
- changed-files:
200193
- any-glob-to-any-file:
201194
- '**/org/apache/solr/index/**'
202-
- '**/org/apache/solr/hdfs/index/**'
203195
- '**/org/apache/solr/update/**'
204-
- '**/org/apache/solr/hdfs/update/**'
205196
- '**/org/apache/solr/scripting/update/**'
206197
- '**/org/apache/solr/handler/loader/**'
207198

.github/renovate.json

Lines changed: 57 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,27 @@
33
"description": "Runs Renovate with solrbot, see dev-docs/dependency-upgrades.adoc for more",
44
"enabled": true,
55
"dependencyDashboard": false,
6-
"enabledManagers": ["gradle"],
7-
"includePaths": ["versions.*", "build.gradle"],
6+
"enabledManagers": ["gradle", "github-actions"],
7+
"labels": ["exempt-stale"],
8+
"includePaths": ["gradle/libs.versions.toml", "versions.*", "build.gradle", ".github/workflows/*"],
89
"postUpgradeTasks": {
9-
"commands": ["./gradlew updateLicenses"],
10+
"commands": [
11+
"./gradlew resolveAndLockAll --write-locks",
12+
"./gradlew kotlinUpgradeYarnLock",
13+
"./gradlew updateLicenses"
14+
],
1015
"fileFilters": ["solr/licenses/*.sha1"],
1116
"executionMode": "branch"
1217
},
1318
"packageRules": [
1419
{
1520
"description": "Fix for non-semantic versions for older artifacts",
1621
"matchDatasources": ["maven"],
17-
"matchPackageNames": ["commons-collections:commons-collections", "commons-io:commons-io", "commons-lang:commons-lang"],
22+
"matchPackageNames": [
23+
"commons-collections:commons-collections",
24+
"commons-io:commons-io",
25+
"commons-lang:commons-lang"
26+
],
1827
"versioning": "regex:^(?<major>\\d{1,4})\\.(?<minor>\\d+)(\\.(?<patch>\\d+))?$"
1928
},
2029
{
@@ -30,12 +39,12 @@
3039
{
3140
"description": "Test-dependencies are checked less often than the shipped deps",
3241
"matchDepTypes": ["test"],
33-
"extends": ["schedule:monthly"]
42+
"schedule": ["before 9am on the first day of the month"]
3443
},
3544
{
3645
"description": "Noisy, frequently updated dependencies checked less often",
3746
"matchPackagePrefixes": ["software.amazon.awssdk", "com.google.cloud"],
38-
"extends": ["schedule:monthly"]
47+
"schedule": ["before 9am on the first day of the month"]
3948
},
4049
{
4150
"description": "Workaround for https://github.com/renovatebot/renovate/issues/19226",
@@ -44,14 +53,49 @@
4453
},
4554
{
4655
"description": "Lucene dependencies should be skipped",
47-
"matchPackageNames": ["org.apache.lucene"],
56+
"matchPackagePrefixes": ["org.apache.lucene"],
4857
"enabled": false
58+
},
59+
{
60+
"description": "Skip major jetty upgrades - must be done manually",
61+
"matchPackagePrefixes": ["org.eclipse.jetty"],
62+
"matchUpdateTypes": ["major"],
63+
"enabled": false
64+
},
65+
{
66+
"description": "Changelog for commons-io",
67+
"matchSourceUrls": [
68+
"https://gitbox.apache.org/repos/asf?p=commons-io.git"
69+
],
70+
"changelogUrl": "https://commons.apache.org/proper/commons-io/changes-report.html"
71+
},
72+
{
73+
"description": "Changelog for zookeeper",
74+
"matchSourceUrls": ["https://gitbox.apache.org/repos/asf/zookeeper.git"],
75+
"changelogUrl": "https://zookeeper.apache.org/releases.html"
76+
},
77+
{
78+
"description": "Changelog for commons-compress",
79+
"matchSourceUrls": [
80+
"https://gitbox.apache.org/repos/asf?p=commons-compress.git"
81+
],
82+
"changelogUrl": "https://commons.apache.org/proper/commons-compress/changes-report.html"
83+
},
84+
{
85+
"description": "Changelog for commons-configuration",
86+
"matchSourceUrls": [
87+
"https://gitbox.apache.org/repos/asf?p=commons-configuration.git"
88+
],
89+
"changelogUrl": "https://commons.apache.org/proper/commons-configuration/changes-report.html"
90+
},
91+
{
92+
"description": "Group these UI dependency upgrades together in same PR",
93+
"matchPackagePrefixes": ["com.arkivanov", "org.jetbrains.compose"],
94+
"groupName": "Admin UI libraries"
4995
}
5096
],
51-
"schedule": [
52-
"* * * * *"
53-
],
54-
"prConcurrentLimit": 50,
55-
"prHourlyLimit": 10,
56-
"stabilityDays": 5
97+
"schedule": ["* * * * *"],
98+
"prConcurrentLimit": 300,
99+
"prHourlyLimit": 20,
100+
"minimumReleaseAge": "5 days"
57101
}

.github/workflows/bin-solr-test.yml

Lines changed: 12 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,46 +3,36 @@ name: Solr Script Tests
33
on:
44
pull_request:
55
branches:
6-
- 'main'
6+
- '*'
77
paths:
88
- '.github/workflows/bin-solr-test.yml'
99
- 'solr/bin/**'
1010
- 'solr/packaging/**'
11+
- 'solr/core/src/java/org/apache/solr/cli/**'
12+
- 'solr/prometheus-exporter/**'
1113

1214
jobs:
1315
test:
1416
name: Run Solr Script Tests
1517

1618
runs-on: ubuntu-latest
19+
timeout-minutes: 40
1720

1821
env:
19-
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
22+
DEVELOCITY_ACCESS_KEY: ${{ secrets.SOLR_DEVELOCITY_ACCESS_KEY }}
2023

2124
steps:
22-
# Setup
23-
- uses: actions/checkout@v2
24-
- name: Set up JDK 11
25-
uses: actions/setup-java@v2
26-
with:
27-
distribution: 'temurin'
28-
java-version: 11
29-
java-package: jdk
30-
- name: Grant execute permission for gradlew
31-
run: chmod +x gradlew
32-
- uses: actions/cache@v2
33-
with:
34-
path: |
35-
~/.gradle/caches
36-
key: ${{ runner.os }}-gradle-binsolr-${{ hashFiles('versions.lock') }}
37-
restore-keys: |
38-
${{ runner.os }}-gradle-binsolr-
39-
${{ runner.os }}-gradle-
25+
- name: Checkout code
26+
uses: actions/checkout@v5
27+
28+
- uses: ./.github/actions/prepare-for-build
29+
4030
- name: Test the bin/solr script
4131
run: ./gradlew integrationTests
32+
4233
- name: Archive logs
4334
if: ${{ failure() }}
44-
uses: actions/upload-artifact@v3
35+
uses: actions/upload-artifact@v4
4536
with:
4637
name: logs
4738
path: solr/packaging/build/test-output
48-
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: Dependency Submission
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
7+
permissions:
8+
contents: write
9+
10+
jobs:
11+
dependency-submission:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@v5
15+
16+
- uses: actions/setup-java@v5
17+
with:
18+
distribution: temurin
19+
java-version: 21
20+
21+
- name: Generate and submit dependency graph
22+
uses: gradle/actions/dependency-submission@v4
23+
env:
24+
DEPENDENCY_GRAPH_INCLUDE_CONFIGURATIONS: "(?i)(^|:)(compileClasspath|runtimeClasspath|testCompileClasspath|testRuntimeClasspath)$"
25+
DEPENDENCY_GRAPH_EXCLUDE_CONFIGURATIONS: "(?i)(^|:)(classpath|.*PluginClasspath|kotlinCompilerClasspath|kaptClasspath|annotationProcessor|detachedConfiguration.*)$"
26+
DEPENDENCY_GRAPH_RUNTIME_INCLUDE_CONFIGURATIONS: "(?i)(^|:)runtimeClasspath$"
27+
DEPENDENCY_GRAPH_RUNTIME_EXCLUDE_CONFIGURATIONS: "(?i)(^|:)testRuntimeClasspath$"

.github/workflows/docker-test.yml

Lines changed: 9 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: Docker Build & Test
33
on:
44
pull_request:
55
branches:
6-
- 'main'
6+
- '*'
77
paths:
88
- '.github/workflows/docker-test.yml'
99
- 'solr/bin/**'
@@ -16,34 +16,21 @@ jobs:
1616
name: Build and test Docker image
1717

1818
runs-on: ubuntu-latest
19+
timeout-minutes: 15
1920

2021
env:
2122
SOLR_DOCKER_IMAGE_REPO: github-pr/solr
2223
SOLR_DOCKER_IMAGE_TAG: ${{github.event.number}}
23-
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
24+
DEVELOCITY_ACCESS_KEY: ${{ secrets.SOLR_DEVELOCITY_ACCESS_KEY }}
2425

2526
steps:
26-
# Setup
27-
- uses: actions/checkout@v2
28-
- name: Set up JDK 11
29-
uses: actions/setup-java@v2
30-
with:
31-
distribution: 'temurin'
32-
java-version: 11
33-
java-package: jdk
34-
- name: Install ACL
35-
run: sudo apt-get install acl
36-
- name: Grant execute permission for gradlew
37-
run: chmod +x gradlew
38-
- uses: actions/cache@v2
39-
with:
40-
path: |
41-
~/.gradle/caches
42-
key: ${{ runner.os }}-gradle-docker-${{ hashFiles('versions.lock') }}
43-
restore-keys: |
44-
${{ runner.os }}-gradle-docker-
45-
${{ runner.os }}-gradle-
27+
- name: Checkout code
28+
uses: actions/checkout@v5
29+
30+
- uses: ./.github/actions/prepare-for-build
31+
4632
- name: Build Docker image with Gradle
4733
run: ./gradlew solr:docker:docker
34+
4835
- name: Run tests on Docker image
4936
run: ./gradlew solr:docker:testDocker

0 commit comments

Comments
 (0)