Auto: Авто Шипит с Защищенным Филиалом

Созданный на 11 февр. 2020  ·  8Комментарии  ·  Источник: intuit/auto

Опишите ошибку
При запуске auto в среде CI, например, в Github Actions, auto shipit завершится ошибкой, если включена защита основной ветки. Есть ли способ, возможно, путем настройки разрешений определенным образом решить эту проблему, не отключая защиту веток?

Воспроизводить

Использование следующего рабочего процесса Github Action и установка master в качестве защищенной ветви приведет к неудачной попытке push с этим сообщением об ошибке:

Error: Running command 'git' with args [push, --follow-tags, --set-upstream, origin, master] failed

remote: error: GH006: Protected branch update failed for refs/heads/master.        
remote: error: At least 1 approving review is required by reviewers with write access. 

Рабочий процесс Github Action

name: Release

on:
  push:
    branches:
      - master

jobs:
  release:
    runs-on: ubuntu-latest
    if: "!contains(github.event.head_commit.message, 'ci skip') && !contains(github.event.head_commit.message, 'skip ci')"
    steps:
      - uses: actions/checkout<strong i="15">@v1</strong>

      - name: Prepare repository
        env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          git checkout ${GITHUB_REF:11} --
          git remote rm origin
          git remote add origin "https://x-access-token:[email protected]/<owner>/<repository>"
          git fetch origin --tags
          git branch --set-upstream-to origin/${GITHUB_REF:11} ${GITHUB_REF:11}

      - name: Use Node.js 12.x
        uses: actions/setup-node<strong i="16">@v1</strong>
        with:
          node-version: 12.x

      - name: Cache node modules
        uses: actions/cache<strong i="17">@v1</strong>
        with:
          path: node_modules
          key: yarn-deps-${{ hashFiles('yarn.lock') }}
          restore-keys: |
            yarn-deps-${{ hashFiles('yarn.lock') }}

      - name: Create Release
        env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
        run: |
          yarn install --frozen-lockfile
          yarn build
          yarn auto shipit
  • Версия 9.6.0

Самый полезный комментарий

@hipstersmoothie Я добавил токен со всеми разрешениями, и он

Все 8 Комментарий

secrets.GITHUB_TOKEN самом деле не имеет доступа на запись к вашему репо. Вам необходимо создать токен от пользователя с правом записи.

Думаю, проблема в этом. Если это сработает, прокомментируйте, и я добавлю примечание к документам. (Или если хотите сделать пиар, сливаю)

К сожалению, это не решило проблему. Похоже, что GITHUB_TOKEN создается автоматически и должен иметь необходимые разрешения. Но я попробовал это с помощью специального токена, который тоже не сработал.

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

Включите защиту веток для auto-config-hipstersmoothie и переключитесь на GITHUB_TOKEN .

Результат: https://github.com/hipstersmoothie/auto-config-hipstersmoothie/runs/451642081?check_suite_focus=true

У меня та же ошибка, что и у вас.

После переключения обратно на GH_TOKEN я настроил write и предоставлением токену repo доступа).

Результат: https://github.com/hipstersmoothie/auto-config-hipstersmoothie/actions/runs/40930001

Релиз успешен ✅

Думаю, мне нужно пояснить, какие разрешения давать токену в документации 😅

Включите защиту веток для auto-config-hipstersmoothie и переключитесь на GITHUB_TOKEN.

Когда вы говорите включить защиту ветки - что это включает? Allow force pushes отключено?

РЕДАКТИРОВАТЬ: вторая ссылка, вероятно, должна быть такой: https://github.com/hipstersmoothie/auto-config-hipstersmoothie/runs/451645892?check_suite_focus=true

Вторая ссылка, вероятно, должна быть такой

ага, извините!

Разрешить принудительное нажатие отключено

auto не принудительно нажимает, так что это не должно быть проблемой. Вот что я настроил

Screen Shot 2020-02-19 at 12 55 57 AM

@bbrinx Есть поводу ? Вероятно, скоро закроется без воспроизводимого примера

@hipstersmoothie Я добавил токен со всеми разрешениями, и он

Потрясающие!

Была ли эта страница полезной?
0 / 5 - 0 рейтинги