spring-cloud / spring-cloud/spring-cloud-github-actions
Replace release-ci-settings.xml with maven-settings-action repository config
@ryanjbaxter đang làm issue này rồi.
Từ ngày 1/8/2026.
- Ngôn ngữ chính
- Không có dữ liệu ngôn ngữ
- Star
- 0
- Fork
- 0
- Merge trung bình
- 2 giờ 31 phút
- Pull request đã merge (30 ngày)
- 6
Mô tả
Summary
Replace the release-ci-settings.xml file that is added to commercial release branches with s4u/maven-settings-action inputs in deploy.yml, so the commercial repository configuration is written to ~/.m2/settings.xml at runtime instead of being committed to the branch.
Not actionable yet — projects are mid-release using release-ci-settings.xml today. This is tracked for after those releases complete.
Motivation
Commercial release branches (release/<version> and the new <major>.<minor>.x-internal branches) get two files added during initialization by add-commercial-release-files: ci-release.yml and release-ci-settings.xml. The design goal is to avoid modifying any existing file so the branch merges back into the OSS repo cleanly.
release-ci-settings.xml still puts a file in the repo, which means:
spring-release-train-project-readyhas to delete it before the release is finalised- it appears in branch history that later merges back to OSS
- every build command has to carry
--settings release-ci-settings.xml deploy.ymldetects "this is a commercial release branch" by sniffing for the file (if [[ -f "release-ci-settings.xml" ]]), which couples an unrelated concern to a file's existence
deploy.yml already runs s4u/maven-settings-action to write ~/.m2/settings.xml. At the currently pinned SHA (894661b3ddae382f1ae8edbeab60987e08cf0788) that action supports servers, repositories, pluginRepositories and mirrors — everything release-ci-settings.xml provides.
Proposed change
Map the contents of config/release-ci-settings.xml onto the action's inputs:
release-ci-settings.xml |
Action input |
|---|---|
5 <server> entries (commercial + the repo.spring.io alias) |
servers (already used, extend it) |
4 <repository> entries in the spring profile |
repositories |
4 <pluginRepository> entries |
pluginRepositories |
Then:
- stop adding
release-ci-settings.xmlinadd-commercial-release-files - drop
--settings release-ci-settings.xml(MAVEN_SETTINGS) from the build commands - remove the
release-ci-settings.xmldeletion step fromspring-release-train-project-ready - delete
config/release-ci-settings.xml
Deploy targeting is unaffected — that is altSnapshotDeploymentRepository (MAVEN_DEPLOY_FLAGS), not settings.
Open questions to resolve during implementation
-
Replacement trigger.
deploy.ymlcurrently keys off the presence ofrelease-ci-settings.xmlto decide whether to apply commercial release settings. With the file gone this needs an explicit signal — most likely acommercial_release: trueinput passed from the generatedci-release.yml, which is clearer than sniffing for a file. -
Profile scoping changes. Today the commercial repos live inside
<profile id="spring">and only apply when-Pspringis active.s4u/maven-settings-actionwrites repositories into a profile it activates unconditionally, so they would be visible to every Maven invocation in the job. Probably fine, but it is a behavioral difference. The OSSspring-snapshotsrepo must remain reachable — commercial Artifactory does not carry OSS snapshots. -
Backward compatibility. Branches created before this change will still have
release-ci-settings.xmlcommitted.deploy.ymlshould keep honouring the file for some transition period so in-flight release branches keep building.
Out of scope
This does not enable delegating to a project's own CI workflow (e.g. spring-cloud-kubernetes's maven.yaml with its sharded test matrix). s4u/maven-settings-action runs as a step and only affects Maven invocations in the same job, so a called reusable workflow running on a fresh runner is unaffected. That would still require editing the project's maven.yaml or .mvn/maven.config.
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Đánh giá
Issue này chưa được đánh giá.