أحاول التبديل من النشر مباشرةً إلى npm (وهو ما يعمل بشكل جيد) إلى استخدام حزم GitHub مع اسم حزمة محدد النطاق للمؤسسة.
لقد غيرت اسم الحزمة الخاص بي في package.json
، وأضفت publishConfig
سبيل المثال
"publishConfig": {
"registry": "https://npm.pkg.github.com"
},
وقمت بتغيير خطوات الإجراء الخاصة بي لاستخدام NODE_AUTH_TOKEN
بدلاً من NPM_TOKEN
وفقًا للمستندات ، ولكن عندما أقوم بدمج فرع وتشغيل الإجراء ، أحصل على التحذير التالي ولم يتم نشر الحزمة أبدًا (على الرغم من الإصدار يتم تحديث العلامات وسجل التغيير ، لذا فمن المزعج أنه لا يضع علامة على أنه تشغيل فاشل):
✔ success Wrote authentication token string to /home/runner/.npmrc
⚠ warning Error: Failed to replace env in config: ${NPM_TOKEN}
NPM_TOKEN
في مستودعي Secrets on GitHub.
إليك إعداد الإجراء:
name: Publish
on:
push:
branches: [main]
jobs:
release:
runs-on: ubuntu-latest
# this check needs to be in place to prevent a publish loop with auto and github actions
if: "!contains(github.event.head_commit.message, 'ci skip') && !contains(github.event.head_commit.message, 'skip ci')"
steps:
- uses: actions/checkout<strong i="19">@v2</strong>
with:
# Needed for branch protection override
token: ${{ secrets.GITHUB_TOKEN }}
- name: Prepare repository
run: git fetch --unshallow --tags
- name: Use Node.js 12.x
uses: actions/setup-node<strong i="20">@v1</strong>
with:
node-version: 12.x
- name: Cache node modules
uses: actions/cache<strong i="21">@v2</strong>
with:
path: node_modules
key: node-modules-${{ hashFiles('package-lock.json') }}
restore-keys: |
node-modules-${{ hashFiles('package-lock.json') }}
- name: Create release
env
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
run: |
npm ci
npm run build
npm run release
توجد إرشادات إضافية للنشر في سجل حزمة GitHub.
تحتاج إلى استخدام رمز GitHub الخاص بك للنشر نظرًا لأنك لم تعد تنشر على NPM بعد الآن
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
فيما يلي مثال على الريبو حيث يعمل.
hipstersmoothie شكرا جزيلا للمساعدة. أرى أن المستندات قد تم تحديثها منذ أن قمت بإعداد الإجراء في الأصل ، ولكن يبدو أنها لا تزال لا تتضمن جميع الخطوات. اضطررت إلى إضافة هذه الأسطر إلى إعداد Node الخاص بي أيضًا (لوحظ في الريبو التجريبي الخاص بك):
with:
node-version: 14.x
registry-url: 'https://npm.pkg.github.com'
scope: '<strong i="7">@whiteorg</strong>'
كنت لا أزال أرى رسالة التحذير NPM_TOKEN. يبدو أن إضافته مرة أخرى كسر بيئة قد أصلح ذلك
- name: Create release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
أخيرًا ، مع كل هذا الإعداد ، تمكنت من دمج العلاقات العامة والقيام بعمل تلقائي ، وإصدار حزمة جديدة وتحديث الإصدار / سجل التغيير 🎉
ومع ذلك فقد عطلت حماية الفرع أثناء العبث ؛ تسببت إعادة تمكينه في حدوث خطأ جديد حيث يفشل في كل مرة يحاول فيها Auto الالتزام بتحديثات الإصدار. لقد عملت على حل ذلك من خلال إضافة رمز GitHub شخصي جديد والإشارة إليه على أنه سر ، بدلاً من GITHUB_SECRET
الافتراضي ، مثل:
- uses: actions/checkout<strong i="17">@v2</strong>
with:
# Needed for branch protection override
token: ${{ secrets.GH_ADMIN_TOKEN }}
لا يبدو أنه الحل الأفضل ، لذلك إذا كان أي شخص يعرف أفضل حل سأكون ممتنًا له. بدلاً من ذلك ، أعتقد أن المستندات قد تحتاج إلى التحديث هنا: https://intuit.github.io/auto/docs/build-platforms/github-actions#running -with-Branch-protection
لقد قمت بعمل علاقات عامة لتحسين تلك المستندات. هل تمانع في مراجعة # 1828؟
تمت المراجعة ، بعض الاقتراحات الصغيرة ولكن جميعها تبدو جيدة ☺ شكرًا مرة أخرى على كل ما قدمته من مساعدة
: صاروخ: تم إصدار الإصدار في v10.16.8
: صاروخ: