Skip to content

Commit

Permalink
optimize: windows and macos do not start container (#6866)
Browse files Browse the repository at this point in the history
  • Loading branch information
funky-eyes authored Sep 19, 2024
1 parent 09ab4b9 commit cc08148
Show file tree
Hide file tree
Showing 5 changed files with 180 additions and 59 deletions.
164 changes: 164 additions & 0 deletions .github/workflows/test-ubuntu.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,164 @@
name: "test-ubuntu"

on:
push:
branches: [ test*, "*.*.*" ]
pull_request:
branches: [ test*, "*.*.*" ]
jobs:
# job 1
test:
name: "test"
services:
redis:
image: redis:7.2
ports:
- 6379:6379
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
nacos:
image: nacos/nacos-server:v2.4.2
ports:
- 8848:8848
env:
MODE: standalone
SPRING_SECURITY_ENABLED: false
options: --health-cmd="curl -f http://localhost:8848/nacos" --health-interval=10s --health-timeout=5s --health-retries=3 --health-start-period=30s
runs-on: "${{ matrix.os }}-latest"
strategy:
max-parallel: 3
fail-fast: false
matrix:
java: [ 8, 11, 17, 21 ]
os: [
ubuntu,
]
springboot: [
2.7.18 -D spring-framework.version=5.3.31,
2.6.15 -D spring-framework.version=5.3.27,
2.5.15 -D spring-framework.version=5.3.27,
2.4.13 -D spring-framework.version=5.3.13,
2.3.12.RELEASE -D spring-framework.version=5.2.15.RELEASE,
2.2.13.RELEASE -D spring-framework.version=5.2.12.RELEASE,
#2.1.18.RELEASE,
#2.0.9.RELEASE,
]
steps:
# step 1
- name: "Checkout"
uses: actions/checkout@v3
# step 2
- name: "Use Python 3.x"
uses: actions/setup-python@v2
with:
python-version: '3.12'
# step 3
- name: "Set up Java JDK"
uses: actions/setup-java@v3.12.0
with:
distribution: 'zulu'
java-version: ${{ matrix.java }}
# step 4
## step 4.1: for Ubuntu and MacOS
- name: "Test with Maven on '${{ matrix.os }}' OS"
run: |
./mvnw -T 4C clean test -P args-for-client-test -Dspring-boot.version=${{ matrix.springboot }} -e -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn;
# job 2
test-springboot3x:
name: "test-springboot3.x"
services:
redis:
image: redis:7.2
ports:
- 6379:6379
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
nacos:
image: nacos/nacos-server:v2.4.2
ports:
- 8848:8848
env:
MODE: standalone
SPRING_SECURITY_ENABLED: false
options: --health-cmd="curl -f http://localhost:8848/nacos" --health-interval=10s --health-timeout=5s --health-retries=3 --health-start-period=30s
runs-on: "${{ matrix.os }}-latest"
strategy:
max-parallel: 3
fail-fast: false
matrix:
java: [ 17, 21 ]
os: [
ubuntu,
]
springboot: [
3.2.0 -D spring-framework.version=6.1.1,
3.1.6 -D spring-framework.version=6.0.14,
3.0.13 -D spring-framework.version=6.0.14,
]
steps:
# step 1
- name: "Checkout"
uses: actions/checkout@v3
# step 2
- name: "Use Python 3.x"
uses: actions/setup-python@v2
with:
python-version: '3.12'
# step 3
- name: "Set up Java JDK"
uses: actions/setup-java@v3.12.0
with:
distribution: 'zulu'
java-version: ${{ matrix.java }}
# step 4
## step 4.1: for Ubuntu and MacOS
- name: "Test with Maven on '${{ matrix.os }}' OS"
if: matrix.os != 'windows'
run: |
./mvnw -T 4C clean test -P args-for-client-test -Dspring-boot.version=${{ matrix.springboot }} -e -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn;
## step 4.2: for Windows
- name: "Build with Maven on 'windows' OS (Skip tests)"
if: matrix.os == 'windows'
run: | # Skip tests, because too many errors in unit-test.
./mvnw.cmd -version;
./mvnw.cmd clean install -P args-for-client-test -DskipTests -D spring-boot.version=${{ matrix.springboot }} -e -B -D org.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn;
# job 3
test-arm64:
name: "test-arm64"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
springboot: [
#2.7.18 -Dspring-framework.version=5.3.31, # The maven-compiler-plugin will throw an error for an unknown reason.
#2.6.15 -Dspring-framework.version=5.3.27, # The maven-compiler-plugin will throw an error for an unknown reason.
#2.5.15 -Dspring-framework.version=5.3.27, # The maven-compiler-plugin will throw an error for an unknown reason.
2.4.13 -Dspring-framework.version=5.3.13,
2.3.12.RELEASE -Dspring-framework.version=5.2.15.RELEASE,
2.2.13.RELEASE -Dspring-framework.version=5.2.12.RELEASE,
#2.1.18.RELEASE,
#2.0.9.RELEASE,
]
steps:
# step 1
- name: "Checkout"
uses: actions/checkout@v3
# step 2
- name: "Set up QEMU"
id: qemu
uses: docker/setup-qemu-action@v3
# step 3
- name: "Build with Maven on 'arm64v8/ubuntu:20.04' OS (Skip tests)"
run: |
docker run --rm -v ${{ github.workspace }}:/ws:rw --workdir=/ws \
arm64v8/ubuntu:20.04 \
bash -exc 'apt-get update -y && \
apt-get install maven -y && \
apt-get install -y python3 python3-pip python3-distutils && \
apt-get install -y build-essential && \
mvn -version && \
mvn -T 4C clean install \
-Dspring-boot.version=${{ matrix.springboot }} \
-Prelease-seata \
-DskipTests \
-e -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
62 changes: 4 additions & 58 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,32 +3,19 @@ name: "test"
on:
push:
branches: [ test*, "*.*.*" ]
pull_request:
branches: [ test*, "*.*.*" ]
jobs:
# job 1
test:
name: "test"
services:
if: matrix.os != 'windows'
redis:
image: redis:7.2
ports:
- 6379:6379
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
nacos:
image: nacos/nacos-server:v2.4.2
ports:
- 8848:8848
env:
MODE: standalone
SPRING_SECURITY_ENABLED: false
options: --health-cmd="curl -f http://localhost:8848/nacos" --health-interval=10s --health-timeout=5s --health-retries=3 --health-start-period=30s
runs-on: "${{ matrix.os }}-latest"
strategy:
max-parallel: 3
fail-fast: false
matrix:
java: [ 8, 11, 17, 21 ]
os: [
ubuntu,
macos,
windows, # Skip tests, because too many errors in unit-test.
]
Expand Down Expand Up @@ -84,11 +71,11 @@ jobs:
name: "test-springboot3.x"
runs-on: "${{ matrix.os }}-latest"
strategy:
max-parallel: 3
fail-fast: false
matrix:
java: [ 17, 21 ]
os: [
ubuntu,
macos,
windows, # Skip tests, because too many errors in unit-test.
]
Expand Down Expand Up @@ -133,44 +120,3 @@ jobs:
run: | # Skip tests, because too many errors in unit-test.
./mvnw.cmd -version;
./mvnw.cmd clean install -P args-for-client-test -DskipTests -D spring-boot.version=${{ matrix.springboot }} -e -B -D org.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn;
# job 3
test-arm64:
name: "test-arm64"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
springboot: [
#2.7.18 -Dspring-framework.version=5.3.31, # The maven-compiler-plugin will throw an error for an unknown reason.
#2.6.15 -Dspring-framework.version=5.3.27, # The maven-compiler-plugin will throw an error for an unknown reason.
#2.5.15 -Dspring-framework.version=5.3.27, # The maven-compiler-plugin will throw an error for an unknown reason.
2.4.13 -Dspring-framework.version=5.3.13,
2.3.12.RELEASE -Dspring-framework.version=5.2.15.RELEASE,
2.2.13.RELEASE -Dspring-framework.version=5.2.12.RELEASE,
#2.1.18.RELEASE,
#2.0.9.RELEASE,
]
steps:
# step 1
- name: "Checkout"
uses: actions/checkout@v3
# step 2
- name: "Set up QEMU"
id: qemu
uses: docker/setup-qemu-action@v3
# step 3
- name: "Build with Maven on 'arm64v8/ubuntu:20.04' OS (Skip tests)"
run: |
docker run --rm -v ${{ github.workspace }}:/ws:rw --workdir=/ws \
arm64v8/ubuntu:20.04 \
bash -exc 'apt-get update -y && \
apt-get install maven -y && \
apt-get install -y python3 python3-pip python3-distutils && \
apt-get install -y build-essential && \
mvn -version && \
mvn -T 4C clean install \
-Dspring-boot.version=${{ matrix.springboot }} \
-Prelease-seata \
-DskipTests \
-e -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.EnabledOnOs;
import org.junit.jupiter.api.condition.OS;

public class TestConfigFromExtendSPI {

Expand All @@ -59,6 +61,7 @@ public static void setup() throws NacosException {
}

@Test
@EnabledOnOs(OS.LINUX)
public void testGetConfigProperties() throws Exception {
Assertions.assertNotNull(configService);
Configuration configuration = ConfigurationFactory.getInstance();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.EnabledOnJre;
import org.junit.jupiter.api.condition.EnabledOnOs;
import org.junit.jupiter.api.condition.OS;

public class NacosMockTest {
private static ConfigService configService;
Expand Down Expand Up @@ -64,13 +67,15 @@ public static void setup() throws NacosException {
}

@Test
@EnabledOnOs(OS.LINUX)
public void getInstance() {
Assertions.assertNotNull(configService);
Assertions.assertNotNull(NacosConfiguration.getInstance());
Assertions.assertNotNull(ConfigurationFactory.getInstance());
}

@Test
@EnabledOnOs(OS.LINUX)
public void getConfig() {
Configuration configuration = ConfigurationFactory.getInstance();
String configStrValue = configuration.getConfig(SUB_NACOS_DATAID);
Expand Down Expand Up @@ -135,6 +140,7 @@ public void getConfig() {
}

@Test
@EnabledOnOs(OS.LINUX)
public void putConfigIfAbsent() {
Configuration configuration = ConfigurationFactory.getInstance();
Assertions.assertThrows(UndeclaredThrowableException.class, () -> {
Expand All @@ -143,13 +149,15 @@ public void putConfigIfAbsent() {
}

@Test
@EnabledOnOs(OS.LINUX)
public void removeConfig() {
Configuration configuration = ConfigurationFactory.getInstance();
boolean removed = configuration.removeConfig(NACOS_DATAID);
Assertions.assertTrue(removed);
}

@Test
@EnabledOnOs(OS.LINUX)
public void putConfig() {
Configuration configuration = ConfigurationFactory.getInstance();
boolean added = configuration.putConfig(SUB_NACOS_DATAID, "TEST");
Expand All @@ -159,6 +167,7 @@ public void putConfig() {
}

@Test
@EnabledOnOs(OS.LINUX)
public void testConfigListener() throws NacosException, InterruptedException {
Configuration configuration = ConfigurationFactory.getInstance();
configuration.putConfig(NACOS_DATAID, "KEY=TEST");
Expand Down
1 change: 0 additions & 1 deletion console/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,6 @@
<phase>generate-resources</phase>
<configuration>
<arguments>install</arguments>
<npmRegistryURL>https://registry.npmmirror.com/</npmRegistryURL>
</configuration>
</execution>
<execution>
Expand Down

0 comments on commit cc08148

Please sign in to comment.