Closed SummonHIM closed 7 months ago
您好,感谢您的Commit。建议您将main分支改为生成release包,其余生成debug包。除此之外,请将您提到的签名部分代码也写入yml中。
好的,请问下release(softprops/action-gh-release@v1)是否也要在main分支情况下推送至新 release 草稿
好的,请问下release(softprops/action-gh-release@v1)是否也要在main分支情况下推送至新 release 草稿
是的,GitHub Release页设置为草稿
好的,请问下release(softprops/action-gh-release@v1)是否也要在main分支情况下推送至新 release 草稿
是的,GitHub Release页设置为草稿
大执行了
debug 上的判断 if: github.ref != 'refs/heads/main' || !startsWith(github.ref, 'refs/tags/')
老是不能跳过。奇奇怪怪的
Secrets 里面要4个隐藏变量:ALIAS
、KEY_PASSWORD
、KEY_STORE_PASSWORD
、SIGNING_KEY
。
SIGNING_KEY是Base64之后的Key文件
- name: Prepare signing key
run: |
echo '${{ secrets.SIGNING_KEY }}' | base64 -d > signingkey.jks
- name: Set up JDK
uses: actions/setup-java@v2
with:
java-version: '17'
- name: Build and sign release APK
run: |
chmod +x ./gradlew
./gradlew assembleRelease \
-Pandroid.injected.signing.store.file=signingkey.jks \
-Pandroid.injected.signing.store.password=${{ secrets.KEYSTORE_PASSWORD }} \
-Pandroid.injected.signing.key.alias=${{ secrets.KEY_ALIAS }} \
-Pandroid.injected.signing.key.password=${{ secrets.KEY_PASSWORD }}
- name: Upload release APK
uses: actions/upload-artifact@v2
with:
name: app-release
path: app/build/outputs/apk/release/*.apk
- name: Create GitHub Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: v1.0.0 # 版本号
release_name: Release v1.0.0 # 版本号
body: |
Release notes for v1.0.0 # 发布说明
draft: false
prerelease: false
- name: Upload release APK to Release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: app/build/outputs/apk/release/*.apk
asset_name: app-release.apk # APK 文件名
asset_content_type: application/vnd.android.package-archive
任务 actions/checkout@v2
看起来不能正常运行,可以参考一下这个。
您可以尝试先在自己的仓库打包发布,如果发布成功我们将会通过您的pr。
您可以尝试先在自己的仓库打包发布,如果发布成功我们将会通过您的pr。
仓库里面是正常的,我看了下出问题是在替换versionName那里 pr的分支名叫57/merge,这个'/'字符打乱了整个替换
- name: Setup version code
run: |
sed -i 's/\(versionCode\s*\)[0-9]\+/\1${{ github.run_number }}/' app/build.gradle
sed -i 's/\(versionName\s*"\)[^"]*"/\1${{ github.ref_name }}"/' app/build.gradle
或者干脆就不要这个了?直接手动设置versionName
您可以尝试先在自己的仓库打包发布,如果发布成功我们将会通过您的pr。
actions/upload-release-asset@v1 这个很早之前就已经被弃用了
您可以尝试先在自己的仓库打包发布,如果发布成功我们将会通过您的pr。
仓库里面是正常的,我看了下出问题是在替换versionName那里 pr的分支名叫57/merge,这个'/'字符打乱了整个替换
- name: Setup version code run: | sed -i 's/\(versionCode\s*\)[0-9]\+/\1${{ github.run_number }}/' app/build.gradle sed -i 's/\(versionName\s*"\)[^"]*"/\1${{ github.ref_name }}"/' app/build.gradle
或者干脆就不要这个了?直接手动设置versionName
先删掉吧
您可以尝试先在自己的仓库打包发布,如果发布成功我们将会通过您的pr。
仓库里面是正常的,我看了下出问题是在替换versionName那里 pr的分支名叫57/merge,这个'/'字符打乱了整个替换
- name: Setup version code run: | sed -i 's/\(versionCode\s*\)[0-9]\+/\1${{ github.run_number }}/' app/build.gradle sed -i 's/\(versionName\s*"\)[^"]*"/\1${{ github.ref_name }}"/' app/build.gradle
或者干脆就不要这个了?直接手动设置versionName
先删掉吧
删了
运行
当分支为main时,将编译 debug apk 当分支为任意tag时,将编译 release apk。并将tag名称设为版本号。最后使用 softprops/action-gh-release@v1 推送到 Release 中
一些小问题
最后删掉掉