Ошибка рабочего процесса действий GitHub: в разрешении отказано

Я запускаю рабочий процесс GitHub Actions, и 9X_github-actions он выдает следующую ошибку.

Unhandled exception:
FileSystemException: Cannot create file, path = '/github/home/.flutter' (OS Error: Permission denied, errno = 13)

Я просмотрел 9X_github-workflow Workflow syntax for GitHub Actions, но не нашел никаких инструкций по решению 9X_github-actions этой проблемы.

Мой файл сборки выглядит так:

name: Flutter CI

on: [push]

jobs:
  build:

    runs-on: ubuntu-latest

    container:
      image:  cirrusci/flutter:v1.7.8-hotfix.4

    steps:
    - uses: actions/checkout@v1
    - name: Install dependencies
      run: flutter pub get
      working-directory: my_app
    - name: Run tests
      run: flutter test

26
0
2
Общее количество ответов: 2

Ответ #1

Ответ на вопрос: Ошибка рабочего процесса действий GitHub: в разрешении отказано

Наконец-то у меня появилось время взглянуть 9X_github-workflow на это, и добавление sudo решило эту проблему.

Изображение 9X_github-actions запускается с пользователем cirrus. Также необходимо 9X_github-actions указать полный путь:

sudo /home/cirrus/sdks/flutter/bin/flutter pub get

Из GitHub docs:

Виртуальные 9X_github-workflow машины Linux и macOS работают с использованием 9X_github-actions sudo без пароля. Когда вам нужно выполнить 9X_github-workflow команды или установить инструменты, требующие 9X_github-actions большего привилегий, чем у текущего пользователя, вы 9X_github-actions можете использовать sudo без необходимости укажите 9X_docker пароль.

32
0

Ответ #2

Ответ на вопрос: Ошибка рабочего процесса действий GitHub: в разрешении отказано

Вместо добавления sudo ко всем шагам, которые 9X_docker терпят неудачу, вы также можете просто изменить 9X_github-actions конфигурацию контейнера:

container:
  image:  cirrusci/flutter:v1.7.8-hotfix.4
  options: --user root

Explanation: Проблема 9X_github-workflow вызвана тем, что пользователь по умолчанию 9X_github-actions в образе cirrusci / flutter: v1.7.8-hotfix.4 9X_github-workflow не имеет доступа к определенным каталогам, которые 9X_github-workflow смонтированы в этот образ докера с помощью 9X_github-actions github. В том числе/github каталог, который вызывает 9X_github-workflow у вас проблемы. Добавлениеoptions: --user root в конфигурацию 9X_github-actions контейнера гарантирует, что пользователь 9X_github-workflow по умолчанию станет пользователем root, поэтому 9X_github-workflow вам не нужно выполнять sudo на каждом отдельном 9X_github-workflow шаге.

4
0