Сбой действий Github для setup-gcloud

Мои предыдущие развертывания с тем же файлом рабочего процесса github были успешными. Внезапно сегодня я получаю эту ошибку в Github Actions при попытке развернуть.

Могу ли я узнать, как это исправить?

Run google-github-actions/setup-gcloud@v0
24
/usr/bin/tar xz --warning=no-unknown-keyword --overwrite -C /home/runner/work/_temp/fa0cd935-fe7e-4593-8662-69259b4b00a0 -f /home/runner/work/_temp/52901a76-e32d-4cdf-92e4-83836f8c5362
25
Warning: "service_account_key" has been deprecated. Please switch to using google-github-actions/auth which supports both Workload Identity Federation and Service Account Key JSON authentication. For more details, see https://github.com/google-github-actions/setup-gcloud#authorization
26
Error: google-github-actions/setup-gcloud failed with: failed to execute command `gcloud --quiet auth activate-service-account *** --key-file -`: /opt/hostedtoolcache/gcloud/270.0.0/x64/lib/googlecloudsdk/core/console/console_io.py:544: SyntaxWarning: "is" with a literal. Did you mean "= = "?
27
  if answer is None or (answer is '' and default is not None):
28
/opt/hostedtoolcache/gcloud/270.0.0/x64/lib/third_party/ipaddress/__init__.py:1106: SyntaxWarning: 'str' object is not callable; perhaps you missed a comma?
29
  raise TypeError("%s and %s are not of the same version" (a, b))
30
ERROR: gcloud failed to load: module 'collections' has no attribute 'MutableMapping'
31
    gcloud_main = _import_gcloud_main()
32
    import googlecloudsdk.gcloud_main
33
    from googlecloudsdk.calliope import base
34
    from googlecloudsdk.calliope import display
35
    from googlecloudsdk.calliope import display_taps
36
    from googlecloudsdk.core.resource import resource_printer_base
37
    from googlecloudsdk.core.resource import resource_projector
38
    from google.protobuf import json_format as protobuf_encoding
39
    from google.protobuf import symbol_database
40
    from google.protobuf import message_factory
41
    from google.protobuf import reflection
42
    from google.protobuf.internal import python_message as message_impl
43
    from google.protobuf.internal import containers
44
    MutableMapping = collections.MutableMapping
45

46
This usually indicates corruption in your gcloud installation or problems with your Python interpreter.
47

48
Please verify that the following is the path to a working Python 2.7 executable:
49
    /usr/bin/python
50

51
If it is not, please set the CLOUDSDK_PYTHON environment variable to point to a working Python 2.7 executable.
52

53
If you are still experiencing problems, please reinstall the Cloud SDK using the instructions here:
54
    https://cloud.google.com/sdk/
Создание приборной панели для анализа данных на GCP - часть I
Создание приборной панели для анализа данных на GCP - часть I
Недавно я столкнулся с интересной бизнес-задачей - визуализацией сбоев в цепочке поставок лекарств, которую могут просматривать врачи и...
3
0
1 057
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий

Я исправил это, используя строки ниже в рабочем процессе yml до uses: google-github-actions/setup-gcloud@v0

- run: |
    sudo apt-get install python2.7
    export CLOUDSDK_PYTHON = "/usr/bin/python2"

Это сработало для меня. Я также добавил параметр оболочки, поскольку он, по-видимому, является обязательным.

Fran Jiménez 22.11.2022 17:44

@FranJiménez мы попробовали следующий фрагмент, который все еще выдает ошибку на питоне. Не могли бы вы поделиться, если требуются какие-либо другие изменения. поделитесь.anysnap.app/f7KB30GMrPg1

siva 25.11.2022 06:36

В моем случае установка версии 318.0.0 также устранила проблему.

name: Set up gcloud
        uses: google-github-actions/setup-gcloud@v0
        with:
          version: '318.0.0'
          service_account_email: ${{ secrets.GCP_SA_EMAIL }}
          service_account_key: ${{ secrets.GCP_SA_KEY }}

На основании информации по адресу: AttributeError: модуль «importlib» не имеет атрибута «util»

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

Проблема: в нашем действии использовалась версия Python 3.10.3, которая несовместима с gcloud cli.

Официальная документация gcloud говорит:

Интерфейс командной строки gcloud работает под управлением Python. Обратите внимание, что gcloud требует Python версии 3.5-3.9.

Решение: мы обновили определение рабочего процесса github, чтобы установить поддерживаемую версию python с помощью gcloud cli.

- name: Setup python
    uses: actions/setup-python@v4
    with:
      python-version: '3.9'

- name: Export gcloud related env variable
    run: export CLOUDSDK_PYTHON = "/usr/bin/python3"

Я столкнулся с той же проблемой. Кажется, это проблема с версиями gcloud и Python.

Вот что решило это для меня:

мой рабочий процесс yml до исправления:

- uses: google-github-actions/setup-gcloud@v0
      with:
        version: '270.0.0'
        service_account_email: ${{ secrets.SECRET_NAME }}
        service_account_key: ${{ secrets.SECRET_NAME }}

после исправления:

- name: Set up Python
      uses: actions/setup-python@v4
      with:
        python-version: '3.9'
- uses: google-github-actions/setup-gcloud@v0
      with:
        version: '318.0.0'
        service_account_email: ${{ secrets.SECRET_NAME }}
        service_account_key: ${{ secrets.SECRET_NAME }}

Другие вопросы по теме