Zum Hauptinhalt springen

Actions nur auf geschützten Branches

Wer einen Branch pushen kann, kann auch den Workflow ändern, der auf ihm läuft, und dieser Workflow sieht die Secrets des Repositorys und der Organisation. Workflows nur auf geschützten Branches ausführen schließt diesen Weg: Ist der Schalter eingeschaltet, läuft ein Workflow nur dann, wenn die Ref, die ihn ausgelöst hat, ein geschützter Branch ist.

Standardmäßig ist er ausgeschaltet. Schalte ihn unter Sicherheit › Richtlinien › Repository-Regeln ein (Build und Deployment › Umgebungen verlinkt dorthin), oder mit:

curl -X PUT -H "Authorization: Bearer ${FREMFORGE_PAT}" -H "Content-Type: application/json" \
  -d '{"only_protected_branches": true}' \
  "https://frem.sh/_app/api/v1/orgs/acme/security/actions-policy"

Das Token braucht policy:write.

Was abgelehnt wird

Ist der Schalter eingeschaltet, lehnt der Runner einen Job ab, sofern nicht:

  • die Ref ein Branch ist, refs/heads/<name>. Tag-Pushes und jede andere Ref werden abgelehnt;
  • das Repository eine Branch-Schutzregel hat, deren Name genau diesem Branch-Namen entspricht. Eine Regel mit Platzhalter wie release/* zählt nicht.

Kann fremforge den Branch-Schutz des Repositorys nicht lesen, wird der Job abgelehnt statt ausgeführt.

Prüfe vor dem Einschalten, wodurch deine Pull-Request- und Tag-Workflows ausgelöst werden: Ein Workflow, der auf einer anderen Ref läuft, wird nicht mehr ausgeführt.

Siehe auch