Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 54 additions & 0 deletions .github/workflows/spring-docker-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Spring Docker Tests

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would this workflow be required check for pull requests?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a repo level setting instead of GitHub work flow setting. Here is the detailed steps I got from Copilot:

image image

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I knew it's branch policy settings. My question was that would you expect to set this workflow as required for PRs targeting the main branch?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. I don't have permission to configure the branch policy, could you please help to set it?


on:
pull_request:
paths:
- '.github/workflows/spring-docker-tests.yml'
- 'pom.xml'
- 'sdk/spring/**'
- 'sdk/parents/**'
workflow_dispatch:

permissions:
contents: read

jobs:
spring-docker-tests:
runs-on: ubuntu-24.04
timeout-minutes: 45

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '17'
cache: maven

- name: Verify Docker
run: |
docker version
docker info

- name: Build spring docker test dependencies
run: >
mvn -f sdk/spring/pom.xml
-pl spring-cloud-azure-testcontainers,spring-cloud-azure-docker-compose
-am
install
-DskipTests
-DskipITs
-DfailIfNoTests=false

- name: Run spring docker-tagged tests
run: >
mvn -f sdk/spring/pom.xml
-pl spring-cloud-azure-testcontainers,spring-cloud-azure-docker-compose
test
-Pdocker-tests
-DfailIfNoTests=false
-DskipITs
-DskipTests=false
18 changes: 18 additions & 0 deletions sdk/spring/spring-cloud-azure-docker-compose/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@
<jacoco.skip>true</jacoco.skip>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<surefire.test.groups/>
<surefire.excluded.test.groups>docker</surefire.excluded.test.groups>
<legal>
<![CDATA[[INFO] Any downloads listed may be third party software. Microsoft grants you no rights for third party software.]]></legal>
<site.url>https://azuresdkartifacts.blob.core.windows.net/azure-sdk-for-java</site.url>
Expand Down Expand Up @@ -196,6 +198,15 @@
</rules>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.5.5</version> <!-- {x-version-update;springboot4_org.apache.maven.plugins:maven-surefire-plugin;external_dependency} -->
<configuration>
<groups>${surefire.test.groups}</groups>
<excludedGroups>${surefire.excluded.test.groups}</excludedGroups>
</configuration>
Comment thread
rujche marked this conversation as resolved.
</plugin>
Comment thread
Copilot marked this conversation as resolved.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
Expand Down Expand Up @@ -278,6 +289,13 @@
</build>

<profiles>
<profile>
<id>docker-tests</id>
<properties>
<surefire.test.groups>docker</surefire.test.groups>
<surefire.excluded.test.groups/>
</properties>
</profile>
<!-- Library cannot build for Java 16 and below -->
<profile>
<id>below-java-17</id>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import com.azure.spring.cloud.service.servicebus.consumer.ServiceBusErrorHandler;
import com.azure.spring.cloud.service.servicebus.consumer.ServiceBusRecordMessageListener;
import com.azure.spring.messaging.servicebus.core.ServiceBusTemplate;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.EnabledOnOs;
import org.junit.jupiter.api.condition.OS;
Expand Down Expand Up @@ -42,6 +43,7 @@
"spring.cloud.azure.servicebus.processor.entity-name=queue.1",
"spring.cloud.azure.servicebus.processor.entity-type=queue"
})
@Tag("docker")
@EnabledOnOs(OS.LINUX)
class ServiceBusDockerComposeConnectionDetailsFactoryTests {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import com.azure.spring.cloud.autoconfigure.implementation.context.AzureGlobalPropertiesAutoConfiguration;
import com.azure.spring.cloud.autoconfigure.implementation.eventhubs.AzureEventHubsAutoConfiguration;
import com.azure.spring.cloud.autoconfigure.implementation.eventhubs.properties.AzureEventHubsConnectionDetails;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.EnabledOnOs;
import org.junit.jupiter.api.condition.OS;
Expand All @@ -30,6 +31,7 @@
"spring.cloud.azure.eventhubs.event-hub-name=eh1",
"spring.cloud.azure.eventhubs.producer.event-hub-name=eh1"
})
@Tag("docker")
@EnabledOnOs(OS.LINUX)
class EventHubsDockerComposeConnectionDetailsFactoryTests {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import com.azure.spring.cloud.autoconfigure.implementation.context.AzureGlobalPropertiesAutoConfiguration;
import com.azure.spring.cloud.autoconfigure.implementation.storage.blob.AzureStorageBlobAutoConfiguration;
import com.azure.spring.cloud.autoconfigure.implementation.storage.blob.AzureStorageBlobResourceAutoConfiguration;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.EnabledOnOs;
import org.junit.jupiter.api.condition.OS;
Expand All @@ -28,6 +29,7 @@
"spring.docker.compose.file=classpath:com/azure/spring/cloud/docker/compose/implementation/service/connection/storage/storage-compose.yaml",
"spring.docker.compose.stop.command=down"
})
@Tag("docker")
@EnabledOnOs(OS.LINUX)
class StorageBlobDockerComposeConnectionDetailsFactoryTests {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import com.azure.spring.cloud.autoconfigure.implementation.context.AzureGlobalPropertiesAutoConfiguration;
import com.azure.spring.cloud.autoconfigure.implementation.storage.queue.AzureStorageQueueAutoConfiguration;
import com.azure.storage.queue.QueueClient;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.EnabledOnOs;
import org.junit.jupiter.api.condition.OS;
Expand All @@ -22,6 +23,7 @@
"spring.docker.compose.stop.command=down",
"spring.cloud.azure.storage.queue.queue-name=devstoreaccount1/tc-queue"
})
@Tag("docker")
@EnabledOnOs(OS.LINUX)
class StorageQueueDockerComposeConnectionDetailsFactoryTests {

Expand Down
18 changes: 18 additions & 0 deletions sdk/spring/spring-cloud-azure-testcontainers/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@
<jacoco.skip>true</jacoco.skip>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<surefire.test.groups/>
<surefire.excluded.test.groups>docker</surefire.excluded.test.groups>
<legal>
<![CDATA[[INFO] Any downloads listed may be third party software. Microsoft grants you no rights for third party software.]]></legal>
<site.url>https://azuresdkartifacts.blob.core.windows.net/azure-sdk-for-java</site.url>
Expand Down Expand Up @@ -204,6 +206,15 @@
</rules>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.5.5</version> <!-- {x-version-update;springboot4_org.apache.maven.plugins:maven-surefire-plugin;external_dependency} -->
<configuration>
<groups>${surefire.test.groups}</groups>
<excludedGroups>${surefire.excluded.test.groups}</excludedGroups>
</configuration>
Comment thread
rujche marked this conversation as resolved.
</plugin>
Comment thread
Copilot marked this conversation as resolved.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
Expand Down Expand Up @@ -286,6 +297,13 @@
</build>

<profiles>
<profile>
<id>docker-tests</id>
<properties>
<surefire.test.groups>docker</surefire.test.groups>
<surefire.excluded.test.groups/>
</properties>
</profile>
<!-- Library cannot build for Java 16 and below -->
<profile>
<id>below-java-17</id>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import com.azure.spring.cloud.service.servicebus.consumer.ServiceBusErrorHandler;
import com.azure.spring.cloud.service.servicebus.consumer.ServiceBusRecordMessageListener;
import com.azure.spring.messaging.servicebus.core.ServiceBusTemplate;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.EnabledOnOs;
import org.junit.jupiter.api.condition.OS;
Expand Down Expand Up @@ -41,6 +42,7 @@
@TestPropertySource(properties = { "spring.cloud.azure.servicebus.entity-name=queue.1",
"spring.cloud.azure.servicebus.entity-type=queue" })
@Testcontainers
@Tag("docker")
@EnabledOnOs(OS.LINUX)
class ServiceBusContainerConnectionDetailsFactoryTests {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import com.azure.spring.data.cosmos.repository.CosmosRepository;
import com.azure.spring.data.cosmos.repository.config.EnableCosmosRepositories;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.EnabledOnOs;
import org.junit.jupiter.api.condition.OS;
Expand Down Expand Up @@ -41,6 +42,7 @@

@SpringJUnitConfig
@Testcontainers
@Tag("docker")
@EnabledOnOs(OS.LINUX)
class CosmosContainerConnectionDetailsFactoryTests {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import com.azure.spring.cloud.autoconfigure.implementation.context.AzureGlobalPropertiesAutoConfiguration;
import com.azure.spring.cloud.autoconfigure.implementation.eventhubs.AzureEventHubsAutoConfiguration;
import com.azure.spring.cloud.autoconfigure.implementation.eventhubs.properties.AzureEventHubsConnectionDetails;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.EnabledOnOs;
import org.junit.jupiter.api.condition.OS;
Expand Down Expand Up @@ -35,6 +36,7 @@
"spring.cloud.azure.eventhubs.event-hub-name=eh1"
})
@Testcontainers
@Tag("docker")
@EnabledOnOs(OS.LINUX)
class EventHubsContainerConnectionDetailsFactoryTests {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import com.azure.spring.cloud.autoconfigure.implementation.context.AzureGlobalPropertiesAutoConfiguration;
import com.azure.spring.cloud.autoconfigure.implementation.storage.blob.AzureStorageBlobAutoConfiguration;
import com.azure.spring.cloud.autoconfigure.implementation.storage.blob.AzureStorageBlobResourceAutoConfiguration;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.EnabledOnOs;
import org.junit.jupiter.api.condition.OS;
Expand All @@ -29,6 +30,7 @@

@SpringJUnitConfig
@Testcontainers
@Tag("docker")
@EnabledOnOs(OS.LINUX)
class StorageBlobContainerConnectionDetailsFactoryTests {
@Container
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import com.azure.spring.cloud.autoconfigure.implementation.context.AzureGlobalPropertiesAutoConfiguration;
import com.azure.spring.cloud.autoconfigure.implementation.storage.queue.AzureStorageQueueAutoConfiguration;
import com.azure.storage.queue.QueueClient;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
Comment thread
Copilot marked this conversation as resolved.
import org.junit.jupiter.api.condition.EnabledOnOs;
import org.junit.jupiter.api.condition.OS;
Expand All @@ -24,6 +25,7 @@
@SpringJUnitConfig
@TestPropertySource(properties = "spring.cloud.azure.storage.queue.queue-name=devstoreaccount1/tc-queue")
@Testcontainers
@Tag("docker")
@EnabledOnOs(OS.LINUX)
class StorageQueueContainerConnectionDetailsFactoryTests {

Expand Down
Loading