# 工作流名称 name: Assemble Android Debug # 触发工作流程的事件 on: push: branches: [ master ] tags: [ v* ] pull_request: branches: [ master ] workflow_dispatch: # 工作流环境变量 env: # 应用的application_id APP_ID: com.hola # 应用名称 APP_NAME: Taro Demo # 打包类型 BUILD_TYPE: debug # 版本名称 VERSION_NAME: 1.0.0 # 版本号 VERSION_CODE: 10 # 密钥库文件 KEYSTORE_FILE: debug.keystore # 密钥库口令 KEYSTORE_PASSWORD: android # 密钥库别名 KEYSTORE_KEY_ALIAS: androiddebugkey # 密钥库别名口令 KEYSTORE_KEY_PASSWORD: android # 工作流作业 jobs: assemble: runs-on: ubuntu-latest steps: - name: Checkout Project uses: actions/checkout@v2 - name: Cache node_modules Folder uses: actions/cache@v2 with: path: ${{ github.workspace }}/node_modules key: ${{ runner.os }}-node_modules restore-keys: ${{ runner.os }}-node_modules - name: Get Yarn Cache Directory Path id: yarn-cache-dir-path run: echo "::set-output name=dir::$(yarn cache dir)" - name: Cache Yarn uses: actions/cache@v2 env: cache-name: yarn-cache with: path: ${{ steps.yarn-cache-dir-path.outputs.dir }} key: ${{ runner.os }}-yarn-${{ hashFiles('**/package.json') }} restore-keys: | ${{ runner.os }}-yarn- - name: Install Dependencies run: | yarn - name: Cache Gradle uses: actions/cache@v2 env: cache-name: gradle-cache with: path: ~/.gradle key: ${{ runner.os }}-gradle restore-keys: | ${{ runner.os }}-gradle - name: Assemble Android ${{ env.BUILD_TYPE }} run: | sudo apt install -y ruby-bundler cd android bundle update bundle exec fastlane assemble env: KEYSTORE_FILE: ${{ github.workspace }}/android/app/${{ env.KEYSTORE_FILE }} - name: Upload Android Products uses: actions/upload-artifact@v2 with: name: app-${{ env.BUILD_TYPE }} path: ${{ github.workspace }}/android/app/build/outputs/apk/${{ env.BUILD_TYPE }}/app-${{ env.BUILD_TYPE }}.apk - name: Upload release assets uses: softprops/action-gh-release@v1 if: startsWith(github.ref, 'refs/tags/') with: prerelease: ${{ contains(github.ref, 'beta') }} files: | android/app/build/outputs/apk/${{ env.BUILD_TYPE }}/app-${{ env.BUILD_TYPE }}.apk env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}