Skip to content

optimize: macos workflow support arm testing #9752

optimize: macos workflow support arm testing

optimize: macos workflow support arm testing #9752

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
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
java: [ 8, 17 ]
steps:
# step 1
- name: "Checkout"
uses: actions/checkout@v3
# step 2
- name: "Set up Java JDK"
uses: actions/setup-java@v3.12.0
with:
distribution: 'zulu'
java-version: ${{ matrix.java }}
# step 3
- name: "Print maven version"
run: ./mvnw -version
# step 4.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 \
-Dmaven.git-commit-id.skip=true -DredisCaseEnabled=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: |
./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: 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 python2 -y && \
python2 --version && \
apt-get install make gcc g++ -y && \
apt-get install maven -y && \
mvn -version && \
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'