Skip to content

optimize: sync 2.2.0 to 2.x branch #10728

optimize: sync 2.2.0 to 2.x branch

optimize: sync 2.2.0 to 2.x branch #10728

Workflow file for this run

name: "build"
on:
push:
branches: [ 2.x, develop, master ]
pull_request:
branches: [ 2.x, develop, master ]
jobs:
# job 1: Test based on java 8 and 17. Do not checkstyle.
build:
name: "build"
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: ubuntu-latest
strategy:
fail-fast: false
matrix:
java: [ 8, 17 ]
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
- name: "Print maven version"
run: ./mvnw -version
# step 5.1
- name: "Test, Check style, Check PMD, Check license with Maven and Java8"
if: matrix.java == '8'
run: |
./mvnw -T 4C clean test \
-Dcheckstyle.skip=false -Dpmd.skip=false -Dlicense.skip=false -DredisCaseEnabled=true \
-e -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn;
# step 5.2
- name: "Test with Maven and Java${{ matrix.java }}"
if: matrix.java != '8'
run: |
./mvnw -T 4C clean test \
-e -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn;
# step 6
- name: "Codecov"
if: matrix.java == '8'
uses: codecov/codecov-action@v4.0.1
with:
token: ${{ secrets.CODECOV_TOKEN }}
version: v0.6.0
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
# 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') }}
strategy:
fail-fast: false
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 clean install \
-Prelease-seata \
-DskipTests \
-e -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn'