Say*_*ame 5 android github github-actions
我必须使用 GitHub 操作提供的创建发布操作来创建发布。build.gradle 文件中的默认配置参数如下;
defaultConfig {
applicationId "com.example.myapp"
minSdk 21
targetSdk 31
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
Run Code Online (Sandbox Code Playgroud)
以及 GitHub Actions yml 文件中的操作,如下所示;
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: <I need gradle version name here! It is 1.0>
release_name: Release <I need gradle version name here! It is 1.0>
body: |
Release body
draft: false
prerelease: false
Run Code Online (Sandbox Code Playgroud)
如何获取 GitHub Actions yml 文件中的 gradle versionName 以创建 GitHub 版本?
Dan*_*ofr 16
我采取的路径使用了 gradle 任务。
在模块 build.gradle 中,其中版本名称是 gradle 的一个简单的 ext 属性,您可以将其设置为可在整个 gradle 文件中使用的变量。
task printVersionName {
println project.ext.version_name
}
Run Code Online (Sandbox Code Playgroud)
在您的 github actions .yaml 文件中添加这些步骤。
- name : Retrieve Version
run: |
echo "::set-output name=VERSION_NAME::$(${{github.workspace}}/gradlew -q printVersionName)"
id: android_version
Run Code Online (Sandbox Code Playgroud)
以下步骤用于将其保存到可在整个工作流程文件中使用的环境变量。
- name: Get version
run: |
echo "version_name=${{steps.android_version.outputs.VERSION_NAME}}" >> $GITHUB_ENV
Run Code Online (Sandbox Code Playgroud)
然后,您可以在整个工作流程文件中引用该值
${{env.version_name}}
Run Code Online (Sandbox Code Playgroud)