forked from spring-projects/spring-framework
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'spring-projects:main' into master
- Loading branch information
Showing
11,141 changed files
with
772,054 additions
and
380,319 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
# Normalize line endings to LF. | ||
* text eol=lf | ||
|
||
# Ensure that line endings for multipart files in spring-web are not modified. | ||
*.multipart -text | ||
|
||
# Ensure that line endings for DOS batch files are not modified. | ||
*.bat -text | ||
|
||
# Ensure the following are treated as binary. | ||
*.gif binary | ||
*.jar binary | ||
*.jpeg binary | ||
*.jpg binary | ||
*.png binary | ||
*.vsd binary |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
blank_issues_enabled: false | ||
contact_links: | ||
- name: Community Support | ||
url: https://stackoverflow.com/tags/spring | ||
about: Please ask and answer questions on StackOverflow with the tag `spring`. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
--- | ||
name: General | ||
about: Bugs, enhancements, documentation, tasks. | ||
title: '' | ||
labels: '' | ||
assignees: '' | ||
|
||
--- | ||
|
||
<!-- | ||
Have you considered asking for help on stackoverflow.com? | ||
** Bug Reports ** | ||
Please submit issues against OSS supported versions, see https://spring.io/projects/spring-framework#support | ||
Please provide a minimal sample application that reproduces the problem for faster issue triage. | ||
** Enhancements requests ** | ||
Before explaining how you would like things to work, | ||
please describe a concrete use case for this feature and how you have tried to solve this so far. | ||
--> | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
name: Await HTTP Resource | ||
description: 'Waits for an HTTP resource to be available (a HEAD request succeeds)' | ||
inputs: | ||
url: | ||
description: 'URL of the resource to await' | ||
required: true | ||
runs: | ||
using: composite | ||
steps: | ||
- name: Await HTTP resource | ||
shell: bash | ||
run: | | ||
url=${{ inputs.url }} | ||
echo "Waiting for $url" | ||
until curl --fail --head --silent ${{ inputs.url }} > /dev/null | ||
do | ||
echo "." | ||
sleep 60 | ||
done | ||
echo "$url is available" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
name: 'Build' | ||
description: 'Builds the project, optionally publishing it to a local deployment repository' | ||
inputs: | ||
develocity-access-key: | ||
description: 'Access key for authentication with ge.spring.io' | ||
required: false | ||
java-distribution: | ||
description: 'Java distribution to use' | ||
required: false | ||
default: 'liberica' | ||
java-early-access: | ||
description: 'Whether the Java version is in early access' | ||
required: false | ||
default: 'false' | ||
java-toolchain: | ||
description: 'Whether a Java toolchain should be used' | ||
required: false | ||
default: 'false' | ||
java-version: | ||
description: 'Java version to compile and test with' | ||
required: false | ||
default: '17' | ||
publish: | ||
description: 'Whether to publish artifacts ready for deployment to Artifactory' | ||
required: false | ||
default: 'false' | ||
outputs: | ||
build-scan-url: | ||
description: 'URL, if any, of the build scan produced by the build' | ||
value: ${{ (inputs.publish == 'true' && steps.publish.outputs.build-scan-url) || steps.build.outputs.build-scan-url }} | ||
version: | ||
description: 'Version that was built' | ||
value: ${{ steps.read-version.outputs.version }} | ||
runs: | ||
using: composite | ||
steps: | ||
- name: Prepare Gradle Build | ||
uses: ./.github/actions/prepare-gradle-build | ||
with: | ||
develocity-access-key: ${{ inputs.develocity-access-key }} | ||
java-distribution: ${{ inputs.java-distribution }} | ||
java-early-access: ${{ inputs.java-early-access }} | ||
java-toolchain: ${{ inputs.java-toolchain }} | ||
java-version: ${{ inputs.java-version }} | ||
- name: Build | ||
id: build | ||
if: ${{ inputs.publish == 'false' }} | ||
shell: bash | ||
run: ./gradlew check antora | ||
- name: Publish | ||
id: publish | ||
if: ${{ inputs.publish == 'true' }} | ||
shell: bash | ||
run: ./gradlew -PdeploymentRepository=$(pwd)/deployment-repository build publishAllPublicationsToDeploymentRepository | ||
- name: Read Version From gradle.properties | ||
id: read-version | ||
shell: bash | ||
run: | | ||
version=$(sed -n 's/version=\(.*\)/\1/p' gradle.properties) | ||
echo "Version is $version" | ||
echo "version=$version" >> $GITHUB_OUTPUT |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
name: Create GitHub Release | ||
description: 'Create the release on GitHub with a changelog' | ||
inputs: | ||
milestone: | ||
description: 'Name of the GitHub milestone for which a release will be created' | ||
required: true | ||
pre-release: | ||
description: 'Whether the release is a pre-release (a milestone or release candidate)' | ||
required: false | ||
default: 'false' | ||
token: | ||
description: 'Token to use for authentication with GitHub' | ||
required: true | ||
runs: | ||
using: composite | ||
steps: | ||
- name: Generate Changelog | ||
uses: spring-io/github-changelog-generator@185319ad7eaa75b0e8e72e4b6db19c8b2cb8c4c1 #v0.0.11 | ||
with: | ||
config-file: .github/actions/create-github-release/changelog-generator.yml | ||
milestone: ${{ inputs.milestone }} | ||
token: ${{ inputs.token }} | ||
- name: Create GitHub Release | ||
shell: bash | ||
env: | ||
GITHUB_TOKEN: ${{ inputs.token }} | ||
run: gh release create ${{ format('v{0}', inputs.milestone) }} --notes-file changelog.md ${{ inputs.pre-release == 'true' && '--prerelease' || '' }} |
28 changes: 28 additions & 0 deletions
28
.github/actions/create-github-release/changelog-generator.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
changelog: | ||
repository: spring-projects/spring-framework | ||
sections: | ||
- title: ":star: New Features" | ||
labels: | ||
- "type: enhancement" | ||
- title: ":lady_beetle: Bug Fixes" | ||
labels: | ||
- "type: bug" | ||
- "type: regression" | ||
- title: ":notebook_with_decorative_cover: Documentation" | ||
labels: | ||
- "type: documentation" | ||
- title: ":hammer: Dependency Upgrades" | ||
sort: "title" | ||
labels: | ||
- "type: dependency-upgrade" | ||
contributors: | ||
exclude: | ||
names: | ||
- "bclozel" | ||
- "jhoeller" | ||
- "poutsma" | ||
- "rstoyanchev" | ||
- "sbrannen" | ||
- "sdeleuze" | ||
- "simonbasle" | ||
- "snicoll" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
name: Prepare Gradle Build | ||
description: 'Prepares a Gradle build. Sets up Java and Gradle and configures Gradle properties' | ||
inputs: | ||
develocity-access-key: | ||
description: 'Access key for authentication with ge.spring.io' | ||
required: false | ||
java-distribution: | ||
description: 'Java distribution to use' | ||
required: false | ||
default: 'liberica' | ||
java-early-access: | ||
description: 'Whether the Java version is in early access. When true, forces java-distribution to temurin' | ||
required: false | ||
default: 'false' | ||
java-toolchain: | ||
description: 'Whether a Java toolchain should be used' | ||
required: false | ||
default: 'false' | ||
java-version: | ||
description: 'Java version to use for the build' | ||
required: false | ||
default: '17' | ||
runs: | ||
using: composite | ||
steps: | ||
- name: Set Up Java | ||
uses: actions/setup-java@v4 | ||
with: | ||
distribution: ${{ inputs.java-early-access == 'true' && 'temurin' || (inputs.java-distribution || 'liberica') }} | ||
java-version: | | ||
${{ inputs.java-early-access == 'true' && format('{0}-ea', inputs.java-version) || inputs.java-version }} | ||
${{ inputs.java-toolchain == 'true' && '17' || '' }} | ||
- name: Set Up Gradle | ||
uses: gradle/actions/setup-gradle@d156388eb19639ec20ade50009f3d199ce1e2808 # v4.1.0 | ||
with: | ||
cache-read-only: false | ||
develocity-access-key: ${{ inputs.develocity-access-key }} | ||
- name: Configure Gradle Properties | ||
shell: bash | ||
run: | | ||
mkdir -p $HOME/.gradle | ||
echo 'systemProp.user.name=spring-builds+github' >> $HOME/.gradle/gradle.properties | ||
echo 'systemProp.org.gradle.internal.launcher.welcomeMessageEnabled=false' >> $HOME/.gradle/gradle.properties | ||
echo 'org.gradle.daemon=false' >> $HOME/.gradle/gradle.properties | ||
echo 'org.gradle.daemon=4' >> $HOME/.gradle/gradle.properties | ||
- name: Configure Toolchain Properties | ||
if: ${{ inputs.java-toolchain == 'true' }} | ||
shell: bash | ||
run: | | ||
echo toolchainVersion=${{ inputs.java-version }} >> $HOME/.gradle/gradle.properties | ||
echo systemProp.org.gradle.java.installations.auto-detect=false >> $HOME/.gradle/gradle.properties | ||
echo systemProp.org.gradle.java.installations.auto-download=false >> $HOME/.gradle/gradle.properties | ||
echo systemProp.org.gradle.java.installations.paths=${{ format('$JAVA_HOME_{0}_X64', inputs.java-version) }} >> $HOME/.gradle/gradle.properties |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
name: Print JVM thread dumps | ||
description: 'Prints a thread dump for all running JVMs' | ||
runs: | ||
using: composite | ||
steps: | ||
- if: ${{ runner.os == 'Linux' }} | ||
shell: bash | ||
run: | | ||
for jvm_pid in $(jps -q -J-XX:+PerfDisableSharedMem); do | ||
jcmd $jvm_pid Thread.print | ||
done | ||
- if: ${{ runner.os == 'Windows' }} | ||
shell: powershell | ||
run: | | ||
foreach ($jvm_pid in $(jps -q -J-XX:+PerfDisableSharedMem)) { | ||
jcmd $jvm_pid Thread.print | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
name: Send Notification | ||
description: 'Sends a Google Chat message as a notification of the job''s outcome' | ||
inputs: | ||
build-scan-url: | ||
description: 'URL of the build scan to include in the notification' | ||
required: false | ||
run-name: | ||
description: 'Name of the run to include in the notification' | ||
required: false | ||
default: ${{ format('{0} {1}', github.ref_name, github.job) }} | ||
status: | ||
description: 'Status of the job' | ||
required: true | ||
webhook-url: | ||
description: 'Google Chat Webhook URL' | ||
required: true | ||
runs: | ||
using: composite | ||
steps: | ||
- name: Prepare Variables | ||
shell: bash | ||
run: | | ||
echo "BUILD_SCAN=${{ inputs.build-scan-url == '' && ' [build scan unavailable]' || format(' [<{0}|Build Scan>]', inputs.build-scan-url) }}" >> "$GITHUB_ENV" | ||
echo "RUN_URL=${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" >> "$GITHUB_ENV" | ||
- name: Success Notification | ||
if: ${{ inputs.status == 'success' }} | ||
shell: bash | ||
run: | | ||
curl -X POST '${{ inputs.webhook-url }}' -H 'Content-Type: application/json' -d '{ text: "<${{ env.RUN_URL }}|${{ inputs.run-name }}> was successful ${{ env.BUILD_SCAN }}"}' || true | ||
- name: Failure Notification | ||
if: ${{ inputs.status == 'failure' }} | ||
shell: bash | ||
run: | | ||
curl -X POST '${{ inputs.webhook-url }}' -H 'Content-Type: application/json' -d '{ text: "<users/all> *<${{ env.RUN_URL }}|${{ inputs.run-name }}> failed* ${{ env.BUILD_SCAN }}"}' || true | ||
- name: Cancel Notification | ||
if: ${{ inputs.status == 'cancelled' }} | ||
shell: bash | ||
run: | | ||
curl -X POST '${{ inputs.webhook-url }}' -H 'Content-Type: application/json' -d '{ text: "<${{ env.RUN_URL }}|${{ inputs.run-name }}> was cancelled"}' || true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
name: Sync to Maven Central | ||
description: 'Syncs a release to Maven Central and waits for it to be available for use' | ||
inputs: | ||
jfrog-cli-config-token: | ||
description: 'Config token for the JFrog CLI' | ||
required: true | ||
ossrh-s01-staging-profile: | ||
description: 'Staging profile to use when syncing to Central' | ||
required: true | ||
ossrh-s01-token-password: | ||
description: 'Password for authentication with s01.oss.sonatype.org' | ||
required: true | ||
ossrh-s01-token-username: | ||
description: 'Username for authentication with s01.oss.sonatype.org' | ||
required: true | ||
spring-framework-version: | ||
description: 'Version of Spring Framework that is being synced to Central' | ||
required: true | ||
runs: | ||
using: composite | ||
steps: | ||
- name: Set Up JFrog CLI | ||
uses: jfrog/setup-jfrog-cli@9fe0f98bd45b19e6e931d457f4e98f8f84461fb5 # v4.4.1 | ||
env: | ||
JF_ENV_SPRING: ${{ inputs.jfrog-cli-config-token }} | ||
- name: Download Release Artifacts | ||
shell: bash | ||
run: jf rt download --spec ${{ format('{0}/artifacts.spec', github.action_path) }} --spec-vars 'buildName=${{ format('spring-framework-{0}', inputs.spring-framework-version) }};buildNumber=${{ github.run_number }}' | ||
- name: Sync | ||
uses: spring-io/nexus-sync-action@42477a2230a2f694f9eaa4643fa9e76b99b7ab84 # v0.0.1 | ||
with: | ||
close: true | ||
create: true | ||
generate-checksums: true | ||
password: ${{ inputs.ossrh-s01-token-password }} | ||
release: true | ||
staging-profile-name: ${{ inputs.ossrh-s01-staging-profile }} | ||
upload: true | ||
username: ${{ inputs.ossrh-s01-token-username }} | ||
- name: Await | ||
uses: ./.github/actions/await-http-resource | ||
with: | ||
url: ${{ format('https://repo.maven.apache.org/maven2/org/springframework/spring-context/{0}/spring-context-{0}.jar', inputs.spring-framework-version) }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
{ | ||
"files": [ | ||
{ | ||
"aql": { | ||
"items.find": { | ||
"$and": [ | ||
{ | ||
"@build.name": "${buildName}", | ||
"@build.number": "${buildNumber}", | ||
"path": { | ||
"$nmatch": "org/springframework/framework-api/*" | ||
} | ||
} | ||
] | ||
} | ||
}, | ||
"target": "nexus/" | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
name: Backport Bot | ||
on: | ||
issues: | ||
types: [labeled] | ||
pull_request: | ||
types: [labeled] | ||
push: | ||
branches: | ||
- '*.x' | ||
permissions: | ||
contents: read | ||
jobs: | ||
build: | ||
permissions: | ||
contents: read | ||
issues: write | ||
pull-requests: write | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Check out code | ||
uses: actions/checkout@v4 | ||
- name: Set up Java | ||
uses: actions/setup-java@v4 | ||
with: | ||
distribution: 'liberica' | ||
java-version: 17 | ||
- name: Download BackportBot | ||
run: wget https://github.com/spring-io/backport-bot/releases/download/latest/backport-bot-0.0.1-SNAPSHOT.jar | ||
- name: Backport | ||
env: | ||
GITHUB_EVENT: ${{ toJSON(github.event) }} | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
run: java -jar backport-bot-0.0.1-SNAPSHOT.jar --github.accessToken="$GITHUB_TOKEN" --github.event_name "$GITHUB_EVENT_NAME" --github.event "$GITHUB_EVENT" |
Oops, something went wrong.