Как я могу кэшировать Android NDK в моем рабочем процессе Github Actions? - PullRequest
1 голос
/ 20 марта 2020

Я хочу кэшировать Android NDK в моем рабочем процессе Github Actions. Причина в том, что мне нужна указанная c версия NDK и CMake, которые не были предварительно установлены на бегуны MacOS.

Я попытался использовать следующее задание рабочего процесса для достижения этой цели:

jobs:
  build:
    runs-on: macos-latest
    steps:

    - name: Cache NDK
      id: cache-primes
      uses: actions/cache@v1
      with:
        path: ${{ env.ANDROID_NDK_HOME }}
        key: ${{ runner.os }}-ndk-${{ hashFiles(env.ANDROID_NDK_HOME) }}

    - name: Install NDK
      run: echo "y" | $ANDROID_HOME/tools/bin/sdkmanager "ndk;21.0.6113669" "cmake;3.10.2.4988404"

Проблема в том, что контекст env не содержит переменную ANDROID_NDK_HOME. Таким образом, это означает, что build.steps.with.path оценивает пустое значение.

Обычная переменная среды присутствует и печатает правильный путь, если я отлаживаю, используя следующий шаг:

jobs:
  build:
    steps:
    - name: Debug print ANDROID_NDK_HOME
      run: echo $ANDROID_NDK_HOME

Но обычная переменная среды может только использовать в сценариях оболочки, а не в build.steps.with, насколько я понимаю.

...