使用 Windows 运行程序在 GitHub Actions 中求和构建号和变量

问题描述 投票:0回答:1

我们正在 GitHubn Actions 中构建一个 maui 项目。 为了增加 android 版本的 versionCode,我们使用 github.run_number + 偏移量,以使其领先于 Google Play 中部署的版本代码。

    - name: Calculate version-code
      env: 
          VERSION: ${{ github.run_number }}
      run: |
          echo "GITHUB_RUN_NUMBER_WITH_OFFSET=$(($VERSION+300))" >> $GITHUB_ENV
    - name: Update build number in AndroidManifest.xml
      uses: damienaicheh/[email protected]
      with:
        android-manifest-path: 'Project/Platforms/Android/AndroidManifest.xml'
        version-code: ${{ env.GITHUB_RUN_NUMBER_WITH_OFFSET }}
        version-name: '${{ steps.get_version_from_manifest.outputs.versionName }}'
        print-file: true

到目前为止,效果很好,

runs-on: macos-13
。 为了降低成本,我们改为
runs-on: windows-latest
。 我们也尝试过 ubuntu runner,但它无法构建 maui 项目。 我了解到,因为 Windows 运行程序使用不同于 ubuntu 和 mac 的另一种 shell,所以 Windows 使用 pwsh。它需要 shell 执行的另一种语法。 我们已更改为:

- name: Calculate version-code
      env: 
          VER: ${{ github.run_number }}
      run: |
          echo "GITHUB_RUN_NUMBER_WITH_OFFSET=$(( $Env:VERSION+300 ))" | Out-File -FilePath $env:GITHUB_ENV -Append

这设置了变量,但它连接了字符串,而不是对它们求和,使结果类似于 103300 而不是 403。 是否可以进行算术运算并将其存储在 windows-runner 上的环境变量中?

android github-actions maui
1个回答
0
投票

按照 MrBean Bremen 在该问题的评论中提出的那样,设置 *

shell: bash
可以解决该问题。

 - name: Calculate version-code
      shell: bash
      env: 
          VERSION: ${{ github.run_number }}
      run: |
          echo "GITHUB_RUN_NUMBER_WITH_OFFSET=$(($VERSION+100))" >> $GITHUB_ENV
© www.soinside.com 2019 - 2024. All rights reserved.