我正在尝试在android中使用actions自动化我的版本控制,这是我第一次使用这项技术所以我有3个命令:。/gradlew bumpPatch。/gradlew bumpMinor。/gradlew bumpMajor我如何确定从PR执行的哪个要控制,例如:
branch fix/foo——>execute ./gradlew bumpPatch
branch feat/foo——>execute ./gradlew bumpMinor
分支perf/foo——>execute ./gradlew bumpMajor
以及我该如何做。
我遵循语义发布,所以也许最好从提交消息中执行命令,但仍然不知道如何做到这两点,所以帮助它是感激的。
name: Android CI
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Build with Gradle
run: ./gradlew build
使用以下工作流程。它只会触发对main的pull请求。它使用条件步骤(if
)和使用函数startsWith
的表达式。
name: Android CI
on:
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- run: ./gradlew bumpPatch
if: startsWith(github.head_ref, 'fix/')
- run: ./gradlew bumpMinor
if: startsWith(github.head_ref, 'feat/')
- run: ./gradlew bumpMajor
if: startsWith(github.head_ref, 'perf/')
- name: Build with Gradle
run: ./gradlew build