Repositori yang diperbarui sendiri untuk menyimpan rilis Google Chrome dan info versi sebagai JSON.
jendela | macOS | Linux | Android |
---|---|---|---|
Gunakan CDN untuk mengambil data sesuai kebutuhan, contoh:
Info versi stabil chrome terbaru untuk semua platform:
https://cdn.jsdelivr.net/gh/berstend/chrome-versions/data/stable/all/version/latest.json
15 versi stabil chrome terakhir untuk semua platform:
https://cdn.jsdelivr.net/gh/berstend/chrome-versions/data/stable/all/version/list.json
Versi stabil chrome terbaru untuk windows:
https://cdn.jsdelivr.net/gh/berstend/chrome-versions/data/stable/windows/version/latest.json
Info rilis tambahan untuk rilis windows stabil chrome terakhir:
https://cdn.jsdelivr.net/gh/berstend/chrome-versions/data/stable/windows/info/latest.json
Direktori ./data
berisi file JSON:
Data dibagi berdasarkan dua saluran rilis utama ( dev
dan stable
)
Data dibagi berdasarkan platform ( windows
, mac
, linux
, android
)
Selain itu, info versi gabungan untuk semua platform disediakan di bawah all
Informasi
Berisi info rilis lengkap, baik sebagai latest.json
atau list.json
Versi
Berisi info versi singkat, baik sebagai latest.json
atau list.json
Sayangnya Github Actions tidak memiliki fitur penyiaran dan repo ini hanya dapat dikirim ke repo yang ditentukan secara manual.
Sebagai solusinya, Anda dapat menambahkan alur kerja baru yang akan melakukan polling file JSON yang relevan dengan Anda secara berulang (menggunakan pemicu cron), melakukan hash pada data, dan menggunakan fitur cache bawaan Github untuk memahami jika terjadi perubahan dan alur kerja Anda yang lain harus dipicu. .
Catatan:
Alur kerja di bawah ini sangat cepat dan memeriksa apakah versi baru tersedia hanya membutuhkan beberapa detik
Githubs menghapus entri cache yang tidak diakses dalam 7 hari, yang tidak menjadi masalah mengingat alur kerja ini berjalan lebih sering
Saat pertama kali alur kerja dipicu, hash versi chrome belum di-cache dan akan memicu alur kerja target
Prasyarat:
Alur kerja target Anda memerlukan pemicu workflow_call
:
pada: alur kerja_panggilan:
Simpan alur kerja di bawah ini sebagai .github/workflows/check-chrome-versions.yml
di repo Anda:
nama: "[cron] Periksa versi chrome" pada: alur kerja_dispatch: jadwal: - cron: "0 * * * *" # https://crontab.guru/every-1-hourjobs: check-versions: run-on: ubuntu-output terbaru: cache-hit: ${{steps.cache.outputs .cache-hit }} env: # Anda dapat menggunakan file JSON apa pun di sini CHROME_VERSION_URL: Langkah-langkah "https://cdn.jsdelivr.net/gh/berstend/chrome-versions/data/stable/all/version/latest.json": - nama: Dapatkan hash versi chrome id: jalankan versi-versi: | json=$(curl -s ${{ env.CHROME_VERSION_URL }}) echo json: ${json} hash=$(echo -n $json | md5sum) echo hash: ${hash} echo "::set-nama keluaran =hash::$hash" cangkang: pesta - nama: Siapkan cache berdasarkan id hash: penggunaan cache: action/cache@v3 dengan: jalur: ~/cache-chrome-version # kunci no-op: chrome-${{steps.get-versions.outputs.hash } } - nama: "Cache hit: Keluar" if: langkah.cache.outputs.cache-hit == 'true' run: echo "cache hit, tidak ada versi chrome baru" trigger-workflow: if: kebutuhan.check-versions.outputs .cache-hit != 'true' kebutuhan: check-versions menggunakan: ./.github/workflows/build.yml # Ubah ini ke alur kerja target Anda
Ubah ./.github/workflows/build.yml
ke alur kerja apa pun yang ingin Anda picu pada versi chrome baru.
Pemecahan masalah:
Kesalahan izin: Alur kerja mewarisi izinnya dari induknya, jika Anda menetapkan izin khusus dalam alur kerja target, Anda juga perlu mendefinisikannya di izin di atas
Kesalahan "(...) melakukan hal itu akan melebihi batas kedalaman alur kerja yang disebut 2" : Sayangnya Github tidak mengizinkan alur kerja yang dapat digunakan kembali untuk memanggil alur kerja yang dapat digunakan kembali
data ├── pengembang │ ├── semuanya │ │ ├── info │ │ │ ├── terbaru.json │ │ │ └── daftar.json │ │ └── versi │ │ ├── terbaru.json │ │ └── daftar.json │ ├── android │ │ ├── info │ │ │ ├── terbaru.json │ │ │ └── daftar.json │ │ └── versi │ │ ├── terbaru.json │ │ └── daftar.json │ ├──linux │ │ ├── info │ │ │ ├── terbaru.json │ │ │ └── daftar.json │ │ └── versi │ │ ├── terbaru.json │ │ └── daftar.json │ ├── mac │ │ ├── info │ │ │ ├── terbaru.json │ │ │ └── daftar.json │ │ └── versi │ │ ├── terbaru.json │ │ └── daftar.json │ └── jendela │ ├── info │ │ ├── terbaru.json │ │ └── daftar.json │ └── versi │ ├── terbaru.json │ └── daftar.json └── stabil ├── semuanya │ ├── info │ │ ├── terbaru.json │ │ └── daftar.json │ └── versi │ ├── terbaru.json │ └── daftar.json ├── android │ ├── info │ │ ├── terbaru.json │ │ └── daftar.json │ └── versi │ ├── terbaru.json │ └── daftar.json ├──linux │ ├── info │ │ ├── terbaru.json │ │ └── daftar.json │ └── versi │ ├── terbaru.json │ └── daftar.json ├── Mac │ ├── info │ │ ├── terbaru.json │ │ └── daftar.json │ └── versi │ ├── terbaru.json │ └── daftar.json └── jendela ├── informasi │ ├── terbaru.json │ └── daftar.json └── versi ├── terbaru.json └── daftar.json
MIT