Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

optimize: add workflow for MacOS and Windows #6151

Merged
merged 9 commits into from
Dec 14, 2023
Merged
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
31 changes: 21 additions & 10 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,20 +28,27 @@ jobs:
# step 3
- name: "Print maven version"
run: ./mvnw -version
# step 4
- name: "Build with Maven"
# step 4.1
- name: "Test, Check style, Check license with Maven and Java8"
if: matrix.java == '8'
run: |
./mvnw -T 4C clean test \
-Dcheckstyle.skip=false -Dlicense.skip=false \
-Dmaven.git-commit-id.skip=true \
-e -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn;
# step 4.2
- name: "Test with Maven and Java${{ matrix.java }}"
if: matrix.java != '8'
run: |
if [ "${{ matrix.java }}" == "8" ]; then
./mvnw -T 4C clean test -Dcheckstyle.skip=false -Dlicense.skip=false -e -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn;
elif [ "${{ matrix.java }}" == "17" ]; then
./mvnw -T 4C clean test -Dcheckstyle.skip=true -Dlicense.skip=true -e -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn;
fi
./mvnw -T 4C clean test \
-Dmaven.git-commit-id.skip=true \
-e -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn;
# step 5
- name: "Codecov"
if: matrix.java == '8'
uses: codecov/codecov-action@v3.1.4

# job 2: Test on 'arm64v8/ubuntu' OS.
# job 2: Build on 'arm64v8/ubuntu' OS (Skip tests).
build_arm64-binary:
runs-on: ubuntu-latest
if: ${{ github.event_name == 'push' && (github.ref_name == 'develop' || github.ref_name == 'snapshot' || github.ref_name == '2.x') }}
Expand All @@ -56,11 +63,15 @@ jobs:
id: qemu
uses: docker/setup-qemu-action@v3
# step 3
- name: "Build arm-binary"
- 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 && \
mvn -version && \
mvn -Prelease-seata -DskipTests clean install -U'
mvn clean install \
-Prelease-seata \
-DskipTests \
-Dmaven.git-commit-id.skip=true \
-e -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
15 changes: 7 additions & 8 deletions .github/workflows/test-druid.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ jobs:
strategy:
fail-fast: false
matrix:
java: [ 8, 11, 17, 21 ]
druid: [
1.2.20,
1.2.19,
#1.2.18, # Unit test triggered a bug in Druid, see the commit https://github.com/alibaba/druid/commit/6c493f852852fb287ed5fd31ee16c27ead0ea5cf
#1.2.17, # Unit test triggered a bug in Druid, see the commit https://github.com/alibaba/druid/commit/6c493f852852fb287ed5fd31ee16c27ead0ea5cf
Expand Down Expand Up @@ -50,15 +50,14 @@ jobs:
uses: actions/setup-java@v3.12.0
with:
distribution: 'zulu'
java-version: ${{ matrix.java }}
java-version: 8
# step 3
- name: "Print maven version"
run: ./mvnw -version
# step 4
- name: "Test with Maven"
- name: "Test with Maven and Druid ${{ matrix.druid }}"
run: |
if [ "${{ matrix.java }}" == "8" ]; then
./mvnw -T 4C clean test -Ddruid.version=${{ matrix.druid }} -Dcheckstyle.skip=false -Dlicense.skip=false -e -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn;
else
./mvnw -T 4C clean test -Ddruid.version=${{ matrix.druid }} -Dcheckstyle.skip=true -Dlicense.skip=true -e -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn;
fi
./mvnw -T 4C clean test \
-Ddruid.version=${{ matrix.druid }} \
-Dmaven.git-commit-id.skip=true \
-e -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn;
51 changes: 0 additions & 51 deletions .github/workflows/test-os.yml

This file was deleted.

122 changes: 91 additions & 31 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,26 +8,25 @@ jobs:
# job 1
test:
name: "test"
runs-on: ubuntu-latest
runs-on: "${{ matrix.os }}-latest"
strategy:
fail-fast: false
matrix:
java: [ 8, 11, 17, 21 ]
os: [
ubuntu,
macos,
windows, # Skip tests, because too many errors in unit-test.
]
springboot: [
2.7.17 -Dspring-framework.version=5.3.30,
2.6.15 -Dspring-framework.version=5.3.27,
2.5.15 -Dspring-framework.version=5.3.27,
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.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,
#1.5.22.RELEASE,
#1.4.7.RELEASE,
#1.3.8.RELEASE,
#1.2.8.RELEASE,
#1.1.12.RELEASE,
#1.0.2.RELEASE
]
steps:
# step 1
Expand All @@ -40,29 +39,40 @@ jobs:
distribution: 'zulu'
java-version: ${{ matrix.java }}
# step 3
- name: "Print maven version"
run: ./mvnw -version
# step 4
- name: "Test with Maven"
# https://docs.github.com/cn/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#github-context
## step 3.1: for Ubuntu and MacOS
- name: "Test with Maven on '${{ matrix.os }}' OS"
if: matrix.os != 'windows'
run: |
if [ "${{ matrix.java }}" == "8" ]; then
./mvnw -T 4C clean test -Dspring-boot.version=${{ matrix.springboot }} -Dcheckstyle.skip=false -Dlicense.skip=false -e -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn;
else
./mvnw -T 4C clean test -Dspring-boot.version=${{ matrix.springboot }} -Dcheckstyle.skip=true -Dlicense.skip=true -e -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn;
fi
./mvnw -version;
./mvnw -T 4C clean test \
-P args-for-client-test \
-Dspring-boot.version=${{ matrix.springboot }} \
-Dmaven.git-commit-id.skip=true \
-e -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn;
## step 3.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 }} -D maven.git-commit-id.skip=true -e -B -D org.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn;

# job 2
test-springboot3x:
name: "test-springboot3.x"
runs-on: ubuntu-latest
runs-on: "${{ matrix.os }}-latest"
strategy:
fail-fast: false
matrix:
java: [ 17, 21 ]
os: [
ubuntu,
macos,
windows, # Skip tests, because too many errors in unit-test.
]
springboot: [
3.1.4 -Dspring-framework.version=6.0.12,
3.0.11 -Dspring-framework.version=6.0.12,
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
Expand All @@ -75,9 +85,59 @@ jobs:
distribution: 'zulu'
java-version: ${{ matrix.java }}
# step 3
- name: "Print maven version"
run: ./mvnw -version
# step 4
- name: "Test with Maven"
## step 3.1: for Ubuntu and MacOS
- name: "Test with Maven on '${{ matrix.os }}' OS"
if: matrix.os != 'windows'
run: |
./mvnw -version;
./mvnw -T 4C clean install \
-P args-for-client-test \
-Dspring-boot.version=${{ matrix.springboot }} \
-Dmaven.git-commit-id.skip=true \
-e -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn;
## step 3.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 }} -D maven.git-commit-id.skip=true -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: |
./mvnw -T 4C clean test -Dspring-boot.version=${{ matrix.springboot }} -Dspring-boot-for-server.version=2.5.14 -Dspring-framework-for-server.version=5.3.20 -Dkotlin-maven-plugin.version=1.7.22 -Dcheckstyle.skip=true -Dlicense.skip=true -e -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn;
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 && \
mvn -version && \
mvn -T 4C clean install \
-Dspring-boot.version=${{ matrix.springboot }} \
-Prelease-seata \
-DskipTests \
-Dmaven.git-commit-id.skip=true \
-e -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'
10 changes: 5 additions & 5 deletions all/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -581,11 +581,6 @@
<artifactId>postgresql</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.dameng</groupId>
<artifactId>DmJdbcDriver18</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
Expand All @@ -596,6 +591,11 @@
<artifactId>kryo</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.dameng</groupId>
<artifactId>DmJdbcDriver18</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>de.ruedigermoeller</groupId>
<artifactId>fst</artifactId>
Expand Down
18 changes: 13 additions & 5 deletions build/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@
<!-- Compiler -->
<maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
<protobuf-maven-plugin.version>0.6.1</protobuf-maven-plugin.version>
<kotlin-maven-plugin.version>1.3.72</kotlin-maven-plugin.version>
<kotlin-maven-plugin.version>1.9.21</kotlin-maven-plugin.version>
<!-- Check -->
<maven-pmd-plugin.version>3.8</maven-pmd-plugin.version>
<p3c-pmd.version>1.3.6</p3c-pmd.version>
Expand Down Expand Up @@ -120,6 +120,7 @@
<license.skip>true</license.skip>
<maven.test.skip>false</maven.test.skip>
<maven.surefire.argLine></maven.surefire.argLine>
<maven.surefire.excludes></maven.surefire.excludes>
<gpg.keyname>37F181C60AACE24BD5C1D3925583F79497E8E293</gpg.keyname>
<gpg.arg1/>
<gpg.arg2/>
Expand Down Expand Up @@ -379,9 +380,9 @@
</properties>
</profile>

<!-- profile: args-for-test-by-jdk17-and-above-versions -->
<!-- profile: args-for-test-by-jdk17-and-above -->
<profile>
<id>args-for-test-by-jdk17-and-above-versions</id>
<id>args-for-test-by-jdk17-and-above</id>
<activation>
<jdk>[17,)</jdk>
</activation>
Expand All @@ -398,10 +399,17 @@
--add-opens java.sql/java.sql=ALL-UNNAMED
--add-opens java.sql.rowset/javax.sql.rowset.serial=ALL-UNNAMED

--illegal-access=permit
-Dillegal-access=permit
-Dnet.bytebuddy.experimental=true
</maven.surefire.argLine>
</properties>
</profile>

<!-- profile: args-for-client-test -->
<profile>
<id>args-for-client-test</id>
<properties>
<maven.surefire.excludes>io/seata/server/**/*.java,io/seata/console/**/*.java</maven.surefire.excludes>
</properties>
</profile>
</profiles>
</project>
2 changes: 1 addition & 1 deletion changes/en-us/develop.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Add changes here for all PR submitted to the develop branch.
- [[#PR_NO](https://github.com/seata/seata/pull/PR_NO)] A brief and accurate description of PR

### test:
- [[#PR_NO](https://github.com/seata/seata/pull/PR_NO)] A brief and accurate description of PR
- [[#6151](https://github.com/seata/seata/pull/6151)] add test for `MacOS` and `Windows`

Thanks to these contributors for their code commits. Please report an unintended omission.

Expand Down
2 changes: 1 addition & 1 deletion changes/zh-cn/develop.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
- [[#PR_NO](https://github.com/seata/seata/pull/PR_NO)] 准确简要的PR描述

### test:
- [[#PR_NO](https://github.com/seata/seata/pull/PR_NO)] 准确简要的PR描述
- [[#6151](https://github.com/seata/seata/pull/6151)] 添加对 `MacOS` 和 `Windows` 的测试

非常感谢以下 contributors 的代码贡献。若有无意遗漏,请报告。

Expand Down
Loading
Loading