Auto: Auto Shipit mit geschütztem Zweig

Erstellt am 11. Feb. 2020  ·  8Kommentare  ·  Quelle: intuit/auto

Beschreibe den Fehler
Beim Ausführen von auto in einer CI-Umgebung, zB Github Actions, schlägt auto shipit fehl, wenn der Master Branch Protection aktiviert ist. Gibt es eine Möglichkeit, dieses Problem zu beheben, ohne den Verzweigungsschutz zu deaktivieren, möglicherweise durch das Einrichten von Berechtigungen auf eine bestimmte Weise?

Fortpflanzen

Die Verwendung des folgenden Github Action-Workflows und das Festlegen von master als geschützter Branch führt zu einem fehlgeschlagenen Push-Versuch mit dieser Fehlermeldung:

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-Workflow

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
  • Version 9.6.0
bug

Hilfreichster Kommentar

@hipstersmoothie Ich habe ein Token mit allen Berechtigungen hinzugefügt und es hat funktioniert! Anscheinend habe ich beim ersten Versuch nicht die richtigen Berechtigungen festgelegt. Vielen Dank!

Alle 8 Kommentare

secrets.GITHUB_TOKEN hat keinen Schreibzugriff auf Ihr Repository. Sie müssen ein Token von einem Benutzer mit Schreibzugriff erstellen.

Ich denke, das ist das Problem. Wenn dies funktioniert, kommentieren Sie bitte zurück und ich werde eine Notiz zu den Dokumenten hinzufügen. (Oder wenn du eine PR machen willst, werde ich sie zusammenführen)

Leider hat dies das Problem nicht gelöst. Es scheint, als ob das GITHUB_TOKEN automatisch erstellt wird und die richtigen Berechtigungen haben sollte. Aber ich habe es mit einem benutzerdefinierten Token versucht, was auch nicht funktioniert hat.

Ich bin mir immer noch ziemlich sicher, dass Ihr Token etwas mehr Berechtigungen benötigt. Um dies zu überprüfen habe ich folgendes gemacht:

Aktivieren Sie den Verzweigungsschutz für auto-config-hipstersmoothie und wechseln Sie zu GITHUB_TOKEN .

Ergebnis: https://github.com/hipstersmoothie/auto-config-hipstersmoothie/runs/451642081?check_suite_focus=true

Ich habe den gleichen Fehler wie du.

Nachdem ich zurück zum GH_TOKEN ich es eingerichtet (erstellt von einem Benutzer mit write Zugriff und dem Token repo Zugriff).

Ergebnis: https://github.com/hipstersmoothie/auto-config-hipstersmoothie/actions/runs/40930001

Veröffentlichung erfolgreich ✅

Ich denke, ich muss klarer machen, welche Berechtigungen das Token in den Dokumenten erteilen soll 😅

Schalten Sie den Branch-Schutz für auto-config-hipstersmoothie ein und wechseln Sie zu GITHUB_TOKEN.

Wenn Sie sagen, Zweigschutz aktivieren – was beinhaltet das? Ist Allow force pushes deaktiviert?

BEARBEITEN: Der zweite Link sollte wahrscheinlich dieser sein: https://github.com/hipstersmoothie/auto-config-hipstersmoothie/runs/451645892?check_suite_focus=true

Der zweite Link sollte wahrscheinlich dieser sein

jup, tut mir leid!

Erzwingen von Pushs zulassen deaktiviert

auto erzwingt keinen Push, daher sollte dies kein Problem sein. Hier ist, was ich konfiguriert habe

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

@bbrinx Gibt es dazu ein Update? Wird wohl bald ohne reproduzierbares Beispiel geschlossen

@hipstersmoothie Ich habe ein Token mit allen Berechtigungen hinzugefügt und es hat funktioniert! Anscheinend habe ich beim ersten Versuch nicht die richtigen Berechtigungen festgelegt. Vielen Dank!

Fantastisch!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen