Ошибка рабочего процесса действий 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
Ответ #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 пароль.
Ответ #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 шаге.
-
1
-
2
-
4
-
3
-
1
-
7
-
5
-
2
-
2
-
2
-
1
-
3
-
1
-
4
-
4
-
2
-
2
-
2
-
6
-
3
-
4
-
2
-
5
-
1
-
4
-
5
-
4
-
6
-
2
-
5
-
4
-
1
-
2
-
1
-
4
-
2
-
7
-
2
-
1
-
18
-
4
-
1
-
1
-
1
-
1
-
22
-
1
-
4
-
2
-
3