Skip to content

Commit 06f0ee0

Browse files
committed
add Springboot4 to CI workflow
1 parent 54d3dc6 commit 06f0ee0

File tree

10 files changed

+74
-39
lines changed

10 files changed

+74
-39
lines changed

.github/workflows/continuous-integration-workflow.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,18 @@ jobs:
8282
- name: Build with Spring Boot 3.3.x
8383
run: ./gha_build.sh springboot3 false false -Dspringboot.version=3.3.6 -Dspring.version=6.1.15 -Dspringsecurity.version=6.3.5 -Ddependency-check.skip=true
8484

85+
build_springboot4:
86+
name: Build and test SpringBoot 4
87+
runs-on: ubuntu-latest
88+
steps:
89+
- uses: actions/checkout@v3
90+
- name: Set up JDK 17
91+
uses: actions/setup-java@v3
92+
with:
93+
distribution: 'corretto'
94+
java-version: 17
95+
- name: Build latest
96+
run: ./gha_build.sh springboot4 true true
8597
# temporarily disabled as Struts is not released at the moment
8698
# build_struts2:
8799
# name: Build and test Struts

aws-serverless-java-container-springboot4/pom.xml

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,56 @@
7676
<version>${spring.version}</version>
7777
<optional>true</optional>
7878
</dependency>
79+
80+
<!-- Test dependencies -->
81+
<dependency>
82+
<groupId>org.springframework.boot</groupId>
83+
<artifactId>spring-boot-starter</artifactId>
84+
<version>${springboot.version}</version>
85+
<scope>test</scope>
86+
</dependency>
87+
<dependency>
88+
<groupId>org.springframework.boot</groupId>
89+
<artifactId>spring-boot-starter-web</artifactId>
90+
<version>${springboot.version}</version>
91+
<scope>test</scope>
92+
</dependency>
93+
<dependency>
94+
<groupId>org.springframework.boot</groupId>
95+
<artifactId>spring-boot-starter-security</artifactId>
96+
<version>${springboot.version}</version>
97+
<scope>test</scope>
98+
</dependency>
99+
<dependency>
100+
<groupId>org.springframework.boot</groupId>
101+
<artifactId>spring-boot-starter-webflux</artifactId>
102+
<version>${springboot.version}</version>
103+
<scope>test</scope>
104+
</dependency>
105+
<dependency>
106+
<groupId>org.springframework.boot</groupId>
107+
<artifactId>spring-boot-starter-data-jpa</artifactId>
108+
<version>${springboot.version}</version>
109+
<scope>test</scope>
110+
</dependency>
111+
<dependency>
112+
<groupId>org.springframework.boot</groupId>
113+
<artifactId>spring-boot-starter-validation</artifactId>
114+
<version>${springboot.version}</version>
115+
<scope>test</scope>
116+
</dependency>
117+
<dependency>
118+
<groupId>org.springframework.security</groupId>
119+
<artifactId>spring-security-web</artifactId>
120+
<version>${springsecurity.version}</version>
121+
<scope>test</scope>
122+
</dependency>
123+
<dependency>
124+
<groupId>org.springframework.security</groupId>
125+
<artifactId>spring-security-config</artifactId>
126+
<version>${springsecurity.version}</version>
127+
<scope>test</scope>
128+
</dependency>
79129
</dependencies>
80130

81131
<build>

aws-serverless-java-container-springboot4/src/test/java/com/amazonaws/serverless/proxy/spring/AwsSpringHttpProcessingUtilsTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
import org.junit.jupiter.params.provider.MethodSource;
1313
import org.springframework.boot.SpringApplication;
1414
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
15-
import org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext;
15+
import org.springframework.boot.web.server.servlet.context.ServletWebServerApplicationContext;
1616
import org.springframework.cloud.function.serverless.web.ServerlessMVC;
1717
import org.springframework.cloud.function.serverless.web.ServerlessServletContext;
1818
import org.springframework.context.ConfigurableApplicationContext;

aws-serverless-java-container-springboot4/src/test/java/com/amazonaws/serverless/proxy/spring/jpaapp/JpaApplication.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,6 @@
77
import org.springframework.context.annotation.Bean;
88
import org.springframework.context.annotation.Import;
99

10-
@SpringBootApplication(exclude = {
11-
org.springframework.boot.autoconfigure.security.reactive.ReactiveUserDetailsServiceAutoConfiguration.class,
12-
org.springframework.boot.autoconfigure.security.reactive.ReactiveSecurityAutoConfiguration.class,
13-
org.springframework.boot.autoconfigure.security.servlet.UserDetailsServiceAutoConfiguration.class,
14-
org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class
15-
})
10+
@SpringBootApplication
1611
@Import(MessageController.class)
1712
public class JpaApplication {}

aws-serverless-java-container-springboot4/src/test/java/com/amazonaws/serverless/proxy/spring/securityapp/SecurityApplication.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,7 @@
66
import org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity;
77
import org.springframework.web.reactive.config.EnableWebFlux;
88

9-
@SpringBootApplication(exclude = {
10-
org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration.class,
11-
org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration.class
12-
})
9+
@SpringBootApplication
1310
@EnableWebFluxSecurity
1411
@EnableWebFlux
1512
@Import(SecurityConfig.class)

aws-serverless-java-container-springboot4/src/test/java/com/amazonaws/serverless/proxy/spring/securityapp/SecurityConfig.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,11 @@ public class SecurityConfig
2121
@Bean
2222
public SecurityWebFilterChain securitygWebFilterChain(
2323
ServerHttpSecurity http) {
24-
return http.authorizeExchange()
25-
.anyExchange().authenticated().and().csrf().disable()
26-
.httpBasic()
27-
.and().build();
24+
return http.authorizeExchange(exchanges -> exchanges
25+
.anyExchange().authenticated())
26+
.csrf(csrf -> csrf.disable())
27+
.httpBasic(httpBasic -> {})
28+
.build();
2829
}
2930

3031
@Bean

aws-serverless-java-container-springboot4/src/test/java/com/amazonaws/serverless/proxy/spring/servletapp/ServletApplication.java

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,7 @@
99
import org.springframework.web.bind.annotation.RequestParam;
1010
import org.springframework.web.bind.annotation.RestController;
1111

12-
@SpringBootApplication(exclude = {
13-
org.springframework.boot.autoconfigure.security.reactive.ReactiveUserDetailsServiceAutoConfiguration.class,
14-
org.springframework.boot.autoconfigure.security.reactive.ReactiveSecurityAutoConfiguration.class,
15-
org.springframework.boot.autoconfigure.security.servlet.UserDetailsServiceAutoConfiguration.class,
16-
org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class,
17-
org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration.class,
18-
org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration.class
19-
})
12+
@SpringBootApplication
2013
@Import(MessageController.class)
2114
@RestController
2215
public class ServletApplication {

aws-serverless-java-container-springboot4/src/test/java/com/amazonaws/serverless/proxy/spring/slowapp/SlowTestApplication.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,7 @@
66

77
import java.time.Instant;
88

9-
@SpringBootApplication(exclude = {
10-
org.springframework.boot.autoconfigure.security.reactive.ReactiveUserDetailsServiceAutoConfiguration.class,
11-
org.springframework.boot.autoconfigure.security.reactive.ReactiveSecurityAutoConfiguration.class,
12-
org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration.class,
13-
org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration.class
14-
})
9+
@SpringBootApplication
1510
public class SlowTestApplication {
1611

1712
@Component
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,14 @@
11
package com.amazonaws.serverless.proxy.spring.webfluxapp;
22

33
import org.springframework.boot.autoconfigure.SpringBootApplication;
4-
import org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration;
54
import org.springframework.context.annotation.Bean;
65
import org.springframework.context.annotation.ComponentScan;
76
import org.springframework.context.annotation.Import;
87
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
98
import org.springframework.web.reactive.config.EnableWebFlux;
109
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
1110

12-
@SpringBootApplication(exclude = {
13-
org.springframework.boot.autoconfigure.security.reactive.ReactiveUserDetailsServiceAutoConfiguration.class,
14-
org.springframework.boot.autoconfigure.security.reactive.ReactiveSecurityAutoConfiguration.class,
15-
org.springframework.boot.autoconfigure.security.servlet.UserDetailsServiceAutoConfiguration.class,
16-
org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class,
17-
org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration.class,
18-
org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration.class
19-
})
11+
@SpringBootApplication
2012
public class WebFluxTestApplication {
2113

2214
}

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@
192192
<plugin>
193193
<groupId>org.apache.maven.plugins</groupId>
194194
<artifactId>maven-compiler-plugin</artifactId>
195-
<version>3.14.0</version>
195+
<version>3.14.1</version>
196196
<configuration>
197197
<source>1.8</source>
198198
<target>1.8</target>

0 commit comments

Comments
 (0)