อัปเดตพื้นที่เก็บข้อมูลด้วยตนเองเพื่อเก็บข้อมูลรุ่นและเวอร์ชันของ Google Chrome เป็น JSON
หน้าต่าง | ระบบปฏิบัติการ macOS | ลินุกซ์ | หุ่นยนต์ |
---|---|---|---|
ใช้ CDN เพื่อดึงข้อมูลตามความจำเป็น ตัวอย่าง:
ข้อมูลเวอร์ชันเสถียรของ Chrome ล่าสุดสำหรับทุกแพลตฟอร์ม:
https://cdn.jsdelivr.net/gh/berstend/chrome-versions/data/stable/all/version/latest.json
Chrome 15 เวอร์ชันเสถียรล่าสุดสำหรับทุกแพลตฟอร์ม:
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 ไม่มีคุณสมบัติการออกอากาศ และ repo นี้สามารถจัดส่งไปยัง repos ที่กำหนดด้วยตนเองเท่านั้น
วิธีแก้ปัญหาเบื้องต้น คุณสามารถเพิ่มเวิร์กโฟลว์ใหม่ที่จะสำรวจไฟล์ JSON ที่เกี่ยวข้องกับคุณซ้ำๆ (โดยใช้ทริกเกอร์ cron) แฮชข้อมูล และใช้ฟีเจอร์การแคชในตัวของ Github เพื่อทำความเข้าใจว่ามีการเปลี่ยนแปลงเกิดขึ้นหรือไม่ และเวิร์กโฟลว์อื่นๆ ของคุณควรถูกทริกเกอร์หรือไม่ .
บันทึก:
ขั้นตอนการทำงานด้านล่างนี้รวดเร็วมาก และการตรวจสอบว่าเวอร์ชันใหม่พร้อมใช้งานหรือไม่นั้นใช้เวลาเพียงไม่กี่วินาที
Githubs จะลบรายการแคชที่ไม่สามารถเข้าถึงได้ใน 7 วัน ซึ่งไม่ใช่ปัญหาเนื่องจากเวิร์กโฟลว์นี้ทำงานบ่อยกว่า
ครั้งแรกที่เวิร์กโฟลว์ถูกทริกเกอร์ ยังไม่ได้แคชแฮชของเวอร์ชัน Chrome และจะทริกเกอร์เวิร์กโฟลว์เป้าหมาย
ข้อกำหนดเบื้องต้น:
เวิร์กโฟลว์เป้าหมายของคุณต้องการทริกเกอร์ workflow_call
:
บน: เวิร์กโฟลว์_โทร:
บันทึกเวิร์กโฟลว์ด้านล่างเป็น .github/workflows/check-chrome-versions.yml
ใน repo ของคุณ:
ชื่อ: "[cron] ตรวจสอบเวอร์ชันของ Chrome" บน: workflow_dispatch: กำหนดการ: - cron: "0 * * * *" # https://crontab.guru/every-1-hourjobs: check-versions: run-on: ubuntu-latest outputs: cache-hit: ${{ step.cache.outputs .cache-hit }} env: # คุณสามารถใช้ไฟล์ JSON ใดก็ได้ที่นี่ CHROME_VERSION_URL: ขั้นตอน "https://cdn.jsdelivr.net/gh/berstend/chrome-versions/data/stable/all/version/latest.json": - ชื่อ: รับแฮชของเวอร์ชัน Chrome id: get-versions run: | json=$(curl -s ${{ env.CHROME_VERSION_URL }}) echo json: ${json} hash=$(echo -n $json | md5sum) echo hash: ${hash} echo "::ชื่อชุดเอาต์พุต =hash::$hash" เชลล์: bash - ชื่อ: ตั้งค่าแคชตามรหัสแฮช: ใช้แคช: actions/cache@v3 ด้วย: เส้นทาง: ~/cache-chrome-version # คีย์ no-op: chrome-${{ step.get-versions.outputs.hash } } - ชื่อ: "การเข้าถึงแคช: ออก" ถ้า: step.cache.outputs.cache-hit == 'จริง' ทำงาน: echo "การเข้าถึงแคช ไม่มีเวอร์ชัน Chrome ใหม่" ทริกเกอร์เวิร์กโฟลว์: ถ้า: needs.check-versions.outputs .cache-hit != 'true' needs: check-versions used: ./.github/workflows/build.yml # เปลี่ยนสิ่งนี้เป็นเวิร์กโฟลว์เป้าหมายของคุณ
เปลี่ยน ./.github/workflows/build.yml
เป็นเวิร์กโฟลว์ที่คุณต้องการเรียกใช้ใน Chrome เวอร์ชันใหม่
การแก้ไขปัญหา:
ข้อผิดพลาดในการอนุญาต: เวิร์กโฟลว์สืบทอดสิทธิ์จากพาเรนต์ หากคุณตั้งค่าสิทธิ์พิเศษในเวิร์กโฟลว์เป้าหมาย คุณจะต้องกำหนดสิทธิ์เหล่านั้นในสิทธิ์ข้างต้นด้วย
ข้อผิดพลาด "(...) การทำเช่นนั้นจะเกินขีดจำกัดความลึกของเวิร์กโฟลว์ที่เรียกว่า 2" : น่าเสียดายที่ Github ไม่อนุญาตให้เวิร์กโฟลว์ที่ใช้ซ้ำเรียกเวิร์กโฟลว์ที่ใช้ซ้ำได้
ข้อมูล ├── ผู้พัฒนา │ ├── ทั้งหมด │ │ ├── ข้อมูล │ │ │ ├── latest.json │ │ │ └── list.json │ │ └── เวอร์ชัน │ │ ├── latest.json │ │ └── list.json │ ├── หุ่นยนต์ │ │ ├── ข้อมูล │ │ │ ├── latest.json │ │ │ └── list.json │ │ └── เวอร์ชัน │ │ ├── latest.json │ │ └── list.json │ ├── ลินุกซ์ │ │ ├── ข้อมูล │ │ │ ├── latest.json │ │ │ └── list.json │ │ └── เวอร์ชัน │ │ ├── latest.json │ │ └── list.json │ ├── แมค │ │ ├── ข้อมูล │ │ │ ├── latest.json │ │ │ └── list.json │ │ └── เวอร์ชัน │ │ ├── latest.json │ │ └── list.json │ └── หน้าต่าง │ ├── ข้อมูล │ │ ├── latest.json │ │ └── list.json │ └── เวอร์ชัน │ ├── latest.json │ └── list.json └── มั่นคง ├── ทั้งหมด │ ├── ข้อมูล │ │ ├── latest.json │ │ └── list.json │ └── เวอร์ชัน │ ├── latest.json │ └── list.json ├── หุ่นยนต์ │ ├── ข้อมูล │ │ ├── latest.json │ │ └── list.json │ └── เวอร์ชัน │ ├── latest.json │ └── list.json ├── ลินุกซ์ │ ├── ข้อมูล │ │ ├── latest.json │ │ └── list.json │ └── เวอร์ชัน │ ├── latest.json │ └── list.json ├── แมค │ ├── ข้อมูล │ │ ├── latest.json │ │ └── list.json │ └── เวอร์ชัน │ ├── latest.json │ └── list.json └── หน้าต่าง ├── ข้อมูล │ ├── latest.json │ └── list.json └── เวอร์ชัน ├── latest.json └── list.json
เอ็มไอที