ci: 测试Composite Action #17
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | |
- uses: ./.github/actions/pre-build | |
- name: buildSdk | |
run: ./gradlew buildSdk -S | |
- 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 | |
- 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 | |
- 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 | |
- uses: ./.github/actions/pre-build | |
- name: buildSdk | |
run: ./gradlew 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! |