مستودع التحديث الذاتي لتخزين إصدار Google Chrome ومعلومات الإصدار بتنسيق JSON.
ويندوز | ماك | لينكس | أندرويد |
---|---|---|---|
استخدم CDN لجلب البيانات حسب الحاجة، أمثلة:
أحدث معلومات الإصدار الثابت من Chrome لجميع الأنظمة الأساسية:
https://cdn.jsdelivr.net/gh/berstend/chrome-versions/data/stable/all/version/latest.json
آخر 15 إصدارًا ثابتًا من Chrome لجميع الأنظمة الأساسية:
https://cdn.jsdelivr.net/gh/berstend/chrome-versions/data/stable/all/version/list.json
أحدث إصدار مستقر من Chrome لنظام التشغيل Windows:
https://cdn.jsdelivr.net/gh/berstend/chrome-versions/data/stable/windows/version/latest.json
معلومات الإصدار الممتد لإصدار Windows الثابت الأخير من Chrome:
https://cdn.jsdelivr.net/gh/berstend/chrome-versions/data/stable/windows/info/latest.json
يحتوي دليل ./data
على ملفات JSON:
يتم تقسيم البيانات على قناتي الإصدار الرئيسيتين ( dev
stable
)
يتم تقسيم البيانات حسب النظام الأساسي ( windows
، mac
، linux
، android
)
بالإضافة إلى ذلك، يتم توفير معلومات الإصدار المجمعة لجميع الأنظمة الأساسية ضمن all
معلومات
يحتوي على معلومات الإصدار الكاملة، إما باسم latest.json
أو list.json
إصدار
يحتوي على معلومات مختصرة عن الإصدار، إما كـ latest.json
أو list.json
لسوء الحظ، لا تحتوي Github Actions على ميزة البث ولا يمكن إرسال هذا الريبو إلا إلى عمليات إعادة الشراء المحددة يدويًا.
كحل بديل، يمكنك إضافة سير عمل جديد يقوم باستقصاء ملف JSON ذي الصلة بك بشكل متكرر (باستخدام مشغل cron)، وتجزئة البيانات واستخدام ميزة التخزين المؤقت المضمنة في Github لفهم ما إذا حدث تغيير ويجب تشغيل سير العمل الآخر الخاص بك .
ملحوظة:
سير العمل أدناه سريع جدًا ولا يستغرق التحقق من توفر الإصدارات الجديدة سوى بضع ثوانٍ
يقوم Githubs بإزالة إدخالات ذاكرة التخزين المؤقت التي لم يتم الوصول إليها خلال 7 أيام، وهي ليست مشكلة نظرًا لأن سير العمل هذا يعمل في كثير من الأحيان
في المرة الأولى التي يتم فيها تشغيل سير العمل، لم يتم تخزين تجزئة إصدارات Chrome مؤقتًا بعد وسيتم تشغيل سير العمل المستهدف
المتطلبات الأساسية:
يحتاج سير العمل المستهدف إلى مشغل workflow_call
:
على: Workflow_call:
احفظ سير العمل أدناه كـ .github/workflows/check-chrome-versions.yml
في الريبو الخاص بك:
الاسم: "[cron] التحقق من إصدارات Chrome" في: Workflow_dispatch: الجدول الزمني: - cron: "0 * * * *" # https://crontab.guru/every-1-hourjobs: إصدارات التحقق: التشغيل: أحدث مخرجات ubuntu: نتيجة ذاكرة التخزين المؤقت: ${{ Steps.cache.outputs .cache-hit }} env: # يمكنك استخدام أي ملف JSON هنا CHROME_VERSION_URL: الخطوات "https://cdn.jsdelivr.net/gh/berstend/chrome-versions/data/stable/all/version/latest.json": - الاسم: احصل على معرف تجزئة إصدارات Chrome: تشغيل إصدارات get: | json=$(curl -s ${{ env.CHROME_VERSION_URL }}) echo json: ${json} hash=$(echo -n $json | md5sum) تجزئة الصدى: ${hash} echo "::set-output name =hash::$hash" الصدفة: bash - الاسم: إعداد ذاكرة التخزين المؤقت بناءً على معرف التجزئة: استخدامات ذاكرة التخزين المؤقت: الإجراءات/cache@v3 مع: المسار: ~/cache-chrome-version # مفتاح no-op: chrome-${{ Steps.get-versions.outputs.hash } } - الاسم: "ضربة ذاكرة التخزين المؤقت: خروج" إذا: steps.cache.outputs.cache-hit == تشغيل "صحيح": صدى "ضربة ذاكرة التخزين المؤقت، لا توجد إصدارات جديدة من Chrome" سير عمل المشغل: إذا: need.check-versions.outputs .cache-hit != الاحتياجات 'الصحيحة': استخدامات إصدارات التحقق: ./.github/workflows/build.yml # قم بتغيير هذا إلى سير العمل المستهدف
قم بتغيير ./.github/workflows/build.yml
إلى أي سير عمل تريد تشغيله على إصدارات Chrome الجديدة.
استكشاف الأخطاء وإصلاحها:
أخطاء الأذونات: ترث عمليات سير العمل أذوناتها من الشركة الأم، إذا قمت بتعيين أذونات خاصة في سير العمل المستهدف، فستحتاج إلى تحديدها في الأذونات المذكورة أعلاه أيضًا
"(...) سيؤدي القيام بذلك إلى تجاوز الحد الأقصى لعمق سير العمل المطلوب وهو 2" خطأ: لسوء الحظ، لا يسمح Github لسير العمل القابل لإعادة الاستخدام باستدعاء سير العمل القابل لإعادة الاستخدام
بيانات ├── ديف │ ├── الكل │ │ ├── معلومات │ │ │ ├── أحدث.json │ │ │ └── list.json │ │ └── الإصدار │ │ ├── أحدث.json │ │ └── list.json │ ├── أندرويد │ │ ├── معلومات │ │ │ ├── أحدث.json │ │ │ └── list.json │ │ └── الإصدار │ │ ├── أحدث.json │ │ └── list.json │ ├── لينكس │ │ ├── معلومات │ │ │ ├── أحدث.json │ │ │ └── list.json │ │ └── الإصدار │ │ ├── أحدث.json │ │ └── list.json │ ├── ماك │ │ ├── معلومات │ │ │ ├── أحدث.json │ │ │ └── list.json │ │ └── الإصدار │ │ ├── أحدث.json │ │ └── list.json │ └── النوافذ │ ├── معلومات │ │ ├── أحدث.json │ │ └── list.json │ └── الإصدار │ ├── أحدث.json │ └── list.json └── مستقرة ├── الكل │ ├── معلومات │ │ ├── أحدث.json │ │ └── list.json │ └── الإصدار │ ├── أحدث.json │ └── list.json ├── الروبوت │ ├── معلومات │ │ ├── أحدث.json │ │ └── list.json │ └── الإصدار │ ├── أحدث.json │ └── list.json ├── لينكس │ ├── معلومات │ │ ├── أحدث.json │ │ └── list.json │ └── الإصدار │ ├── أحدث.json │ └── list.json ├── ماك │ ├── معلومات │ │ ├── أحدث.json │ │ └── list.json │ └── الإصدار │ ├── أحدث.json │ └── list.json └── النوافذ ├── معلومات │ ├── أحدث.json │ └── list.json └── الإصدار ├── أحدث.json └── list.json
معهد ماساتشوستس للتكنولوجيا