Skip to content

ci: 测试Composite Action #18

ci: 测试Composite Action

ci: 测试Composite Action #18

name: Check & Build & Test
on:
workflow_call:
push:
branches:
- avd_on_linux
jobs:
check-commit-message:
name: 提交日志格式化检查
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: wagoid/commitlint-github-action@v6
with:
configFile: ./.commitlintrc.yml
check-code-format:
name: 代码格式化检查
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- name: Cache android-studio
id: cache-android-studio
uses: actions/cache@v4
with:
path: android-studio
key: ${{ runner.os }}-android-studio
- name: download android-studio
if: steps.cache-android-studio.outputs.cache-hit != 'true'
run: |
wget https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2021.1.1.20/android-studio-2021.1.1.20-linux.tar.gz
tar -xvzf android-studio-2021.1.1.20-linux.tar.gz
rm -rf android-studio-2021.1.1.20-linux.tar.gz
- name: use android-studio format all files
run: ./android-studio/bin/format.sh -s .idea/codeStyles/Project.xml -r -m \*.java,\*.kt,\*.xml .
- name: show diff for files not formated
run: |
if ! git diff --quiet; then
git diff --exit-code
fi
build-sdk:
needs: [ check-commit-message, check-code-format ]
name: 构建SDK
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- name: pre-build
uses: ./.github/actions/pre-build
- name: buildSdk
run: ./gradlew buildSdk -S
- name: post-build
uses: ./.github/actions/post-build
build-sample-maven:
needs: [ check-commit-message, check-code-format ]
name: 构建maven依赖SDK的sample
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- name: pre-build
uses: ./.github/actions/pre-build
- name: revert gradle wrapper mirror setting for sample host-project
working-directory: projects/sample/maven/host-project
run: echo 'distributionUrl=https\://services.gradle.org/distributions/gradle-6.6.1-bin.zip' > gradle/wrapper/gradle-wrapper.properties
- name: revert gradle wrapper mirror setting for sample manager-project
working-directory: projects/sample/maven/manager-project
run: echo 'distributionUrl=https\://services.gradle.org/distributions/gradle-6.6.1-bin.zip' > gradle/wrapper/gradle-wrapper.properties
- name: revert gradle wrapper mirror setting for sample plugin-project
working-directory: projects/sample/maven/plugin-project
run: echo 'distributionUrl=https\://services.gradle.org/distributions/gradle-6.6.1-bin.zip' > gradle/wrapper/gradle-wrapper.properties
- name: build sample/maven/host-project
working-directory: projects/sample/maven/host-project
run: ./gradlew assemble
- name: build sample/maven/manager-project
working-directory: projects/sample/maven/manager-project
run: ./gradlew assemble
- name: build sample/maven/plugin-project
working-directory: projects/sample/maven/plugin-project
run: ./gradlew assemble
- name: post-build
uses: ./.github/actions/post-build
build-sample-source:
needs: build-sdk
name: 构建源码依赖SDK的sample
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- name: pre-build
uses: ./.github/actions/pre-build
- name: buildSdk
run: ./gradlew build
- name: post-build
uses: ./.github/actions/post-build
test-sdk-on-jvm:
needs: build-sdk
name: JVM测试部分
runs-on: ubuntu-latest
steps:
- run: echo Hello world!
test-sdk-on-AVD:
needs: test-sdk-on-jvm
name: 在AVD上测试SDK
runs-on: ubuntu-latest
steps:
- run: echo Hello world!