صف الخلل
عند تشغيل تلقائي في بيئة CI ، على سبيل المثال Github Actions ، سيفشل auto shipit
عند تشغيل حماية الفرع الرئيسي. هل هناك أي طريقة ، ربما من خلال إعداد أذونات بطريقة معينة ، للتغلب على هذه المشكلة دون تعطيل حماية الفرع؟
لإعادة إنتاج
سيؤدي استخدام سير عمل Github Action التالي والإعداد الرئيسي كفرع محمي إلى محاولة دفع فاشلة برسالة الخطأ هذه:
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
لا يمتلك 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
تم الإصدار بنجاح ✅
أعتقد أنني بحاجة إلى توضيح الأذونات الممنوحة للرمز المميز في المستندات 😅
قم بتشغيل حماية الفرع من أجل التكوين التلقائي لعصير محبو موسيقى الجاز وانتقل إلى GITHUB_TOKEN.
عندما تقول تشغيل حماية الفرع - ماذا يشمل ذلك؟ هل Allow force pushes
معطل؟
تحرير: من المحتمل أن يكون الرابط الثاني هو هذا: https://github.com/hipstersmoothie/auto-config-hipstersmoothie/runs/451645892؟check_suite_focus=true
ربما يجب أن يكون الرابط الثاني هذا
نعم اسف!
السماح بدفع القوة المعوقين
لا يتم فرض الدفع التلقائي ، لذا لا ينبغي أن تكون هذه مشكلة ، وهذا ما قمت بتكوينه
bbrinx أي تحديث على هذا؟ من المحتمل أن تغلق قريبًا بدون مثال قابل للتكرار
hipstersmoothie لقد أضفت رمزًا مميزًا بجميع الأذونات
مذهل!
التعليق الأكثر فائدة
hipstersmoothie لقد أضفت رمزًا مميزًا بجميع الأذونات