Pendahuluan
Dalam artikel ini, saya akan menunjukkan langkah-langkah yang diperlukan untuk mengatur Python 3.10 di GitHub Actions, masalah yang akan dihadapi, dan metode untuk mengatasinya.
Konfigurasi Python 3.10 di GitHub Actions
GitHub Actions menggunakan alur kerja (workflows) untuk mengotomatisasi proses, yang didefinisikan dalam berkas YAML. Untuk menggunakan Python 3.10 dalam alur kerja Anda, Anda perlu menentukannya dalam berkas alur kerja Anda. Berkas ini biasanya disimpan dalam direktori .github/workflows/
dari repositori Anda. Di sini, kita akan menamai berkas alur kerja kita setup-python310.yml
.
Kode untuk mengatur Python 3.10 dalam alur kerja GitHub Action Anda seharusnya tampak seperti ini:
name: Setup Python 3.10
on:
workflow_dispatch:
jobs:
setup_python_310:
runs-on: ubuntu-20.04
steps:
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: 3.10
- name: Display Python version
run: python -c "import sys; print(sys.version)"
Dalam alur kerja di atas, tugas setup_python_310
dijalankan dalam lingkungan virtual Ubuntu 20.04. Ini terdiri dari dua langkah: pertama, mengatur Python dengan versi yang diinginkan (dalam hal ini 3.10), dan kedua, menampilkan versi Python untuk mengonfirmasi pengaturan. Alur kerja ini dipicu secara manual melalui acara workflow_dispatch
.
Namun, pengaturan di atas tidak berfungsi seperti yang diharapkan karena masalah dalam cara YAML mengartikan angka.
Error Versi Tidak Ditemukan
Meskipun mengatur Python 3.10 dengan benar dalam berkas alur kerja kita, eksekusi gagal dan menghasilkan kesalahan yang menyatakan bahwa versi Python 3.1 tidak ditemukan dalam cache lokal:
Version 3.1 was not found in the local cache
Error: The version '3.1' with architecture 'x64' was not found for Ubuntu 20.04.
The list of all available versions can be found here: https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json
Masalahnya terletak pada bahasa YAML itu sendiri. Dalam YAML, angka desimal seperti 3.10 diperlakukan sebagai angka desimal dan angka nol di belakang dihapus, sehingga 3.10 diartikan sebagai 3.1.
Solusi: Memformat Versi Python dengan Benar
Untuk mencegah YAML memotong angka nol di belakang, kita hanya perlu mengapit nomor versi dengan tanda kutip. Ini memaksa YAML untuk memperlakukannya sebagai string daripada angka desimal:
name: Setup Python 3.10
on:
workflow_dispatch:
jobs:
setup_python_310:
runs-on: ubuntu-20.04
steps:
- name: Setup Python
uses: actions/setup-python@v4
with:
- python-version: 3.10
+ python-version: '3.10'
- name: Display Python version
run: python -c "import sys; print(sys.version)"
Dengan melakukan perubahan kecil ini, versi Python kita dikenali dengan benar dan pengaturan berlangsung seperti yang diharapkan.