Azure / Azure/spring-cloud-azure-tools

[Epic] Improve test matrix to include all supported spring versions

Open
#2 1 comment 0 reactions 1 assignee Claimed by @rujche View on GitHub
Dominant language
Java
Stars
4
Forks
15
Avg merge
1d 21h
Merged PRs (30d)
1

Description

### Context:
Currently Spring Cloud Azure supports multi Spring Boot and Spring Cloud versions, but those versions are not actively tested.
we need to figure out how to enable a testing matrix to actively test all support spring versions and Spring Cloud Azure libraries.

- Spring projects release monthly.
- Several types of libraries can be released from Spring projects, snapshot, prerelease, and GA.
- We use multiple Spring projects in Spring Cloud Azure: Spring Framework, Spring Boot, Spring Data, Spring Integration, Spring Cloud Stream, etc.

Strong has a poc for how to get dependency versions: https://github.com/Azure/spring-cloud-azure-tools/tree/t1/src/main/java/com/azure/spring/dev/tools/dependency

### Goal:
**The Spring Cloud Azure dev branch should align with Spring Boot on the current Spring Boot version.**
- Spring Cloud Azure's source code dependency version should rely on the return value from `https://spring.io/project_metadata/spring-boot` with `current: true`.
- When the current version from `https://spring.io/project_metadata/spring-boot` changes, we should catch up ASAP.
- Track:
- [x] #5
- [x] Need to change the PR contents https://github.com/Azure/spring-cloud-azure-tools/pull/10

**The Spring Cloud Azure dev branch should maintain a test matrix for dependent Spring projects.** -- UT
- Spring Cloud Azure defines their supported Spring Boot versions,
- The supported versions change along with Spring releases.
- Such as `supported-versions.json`, listing 2.5.1 and 2.6.1 for example.
- Spring Cloud Azure tests on each milestone and GA releases of dependent Spring projects.
- Track:
- [x] https://github.com/Azure/spring-cloud-azure-tools/issues/7
- [ ] Need to set different startup methods to start different test scopes https://github.com/Azure/azure-sdk-for-java/issues/29794

**The Spring Cloud Azure should have integration tests, containing all Spring Cloud Azure libraries, to run against each version.** -- IT
- Ideally, we can call Azure Spring Initializr to generate such a sample project and run it, expecting it throws no exceptions.
- If not the ideal case, we can write such a sample project (probably we put it in the SDK repo) and run it against each version. https://github.com/Azure/azure-sdk-for-java/issues/29717
- Optional IT tasks will work on:
- https://github.com/Azure/azure-sdk-for-java/issues/30312
- https://github.com/Azure/azure-sdk-for-java/issues/30313
- https://github.com/Azure/azure-sdk-for-java/issues/30314
- https://github.com/Azure/azure-sdk-for-java/issues/30316
- https://github.com/Azure/azure-sdk-for-java/issues/30336
- Azure AD IT

### Solutions
- The Spring Cloud versions, should be parsed from API like `curl -G https://start.spring.io/pom.xml -d packaging=war -o pom.xml` and retrieved automatically
- The version matrix should be persistent somewhere, such as spring-cloud-azure-tools repo.

_Originally posted by @saragluna in https://github.com/microsoft/spring-cloud-azure/discussions/930#discussioncomment-2704557_

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.