Update build.yml #22
Workflow file for this run
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: build_apk | |
# action事件触发 | |
on: | |
# push main时触发 | |
push: | |
# branches: [main] | |
# push tag时触发 | |
tags: | |
- v* | |
# push_request: | |
# branches: [main] | |
# 可以有多个jobs | |
jobs: | |
build_apk: | |
# 运行环境 ubuntu-latest window-latest mac-latest | |
runs-on: ubuntu-latest | |
# 每个jobs中可以有多个steps | |
steps: | |
- name: 代码迁出 | |
uses: actions/checkout@v3 | |
- name: 构建Java环境 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: "zulu" | |
java-version: "17" | |
token: ${{secrets.GIT_TOKEN}} | |
# - name: 检查缓存 | |
# uses: actions/cache@v2 | |
# id: cache-flutter | |
# with: | |
# path: /root/flutter-sdk # Flutter SDK 的路径 | |
# key: ${{ runner.os }}-flutter-${{ hashFiles('**/pubspec.lock') }} | |
- name: 安装Flutter | |
# if: steps.cache-flutter.outputs.cache-hit != 'true' | |
uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: '3.10.6' | |
channel: 'any' | |
- run: flutter --version | |
# 签名文件 | |
# - name: Decode keystore | |
# run: | | |
# echo $KEYSTORE_BASE64 | base64 -di > android/app/vvex.jks | |
# env: | |
# KEYSTORE_BASE64: ${{ secrets.KEYSTORE_BASE64 }} | |
# 下载项目依赖 | |
- name: flutter pub get | |
run: flutter pub get | |
- name: 解码生成 jks | |
run: echo $KEYSTORE_BASE64 | base64 -di > android/app/vvex.jks | |
env: | |
KEYSTORE_BASE64: ${{ secrets.KEYSTORE_BASE64 }} | |
- name: flutter build apk | |
# 对应 android/app/build.gradle signingConfigs中的配置项 | |
run: flutter build apk --release --split-per-abi | |
env: | |
KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }} | |
KEY_ALIAS: ${{ secrets.KEY_ALIAS }} | |
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD}} | |
- name: 发布 | |
uses: ncipollo/release-action@v1 | |
with: | |
artifacts: "build/app/outputs/flutter-apk/vvex-*.apk" | |
token: ${{ secrets.GIT_TOKEN }} | |
allowUpdates: true |