Hai @conda-incubator/setup-miniconda-team,
Saya membuat https://github.com/conda-incubator/setup-miniforge sebagai kemudahan untuk berurusan langsung dengan conda forge pada default.
Rencana saya adalah membuat skrip memperbarui bagian-bagian yang perlu diperbarui sehingga akan mengikuti repo ini, dan jalankan skrip sesekali untuk menjaga hal-hal diperbarui.
Mungkin ada cara yang lebih baik untuk melakukan ini.
Pikiran?
Perubahannya adalah:
Kalau begitu, saya kira mudah untuk mempertahankannya dengan sedikit skrip, ya. Saya lebih suka Miniforge daripada Miniconda juga.
Pilihan lain adalah dengan menghentikan installer-url
dan miniconda-version
dan menggabungkannya dalam satu kunci seperti conda-distribution
atau sesuatu seperti itu. Kunci ini akan memungkinkan _kata kunci ajaib_ seperti "miniconda", "miniforge", atau "anaconda", yang akan default ke URL terbaru untuk penginstal tersebut, tetapi juga akan menerima URL secara langsung (misalnya, jika pengguna ingin menggunakan constructor
kustom mereka
Hai @jaimergp
Jadi dari daftar Anda:
Mengubah penginstal Miniconda default sehingga menunjuk ke rilis Miniforge sebagai gantinya
Tentu, tapi saya pikir kita sebenarnya bisa menghapus default default (atau memperbaruinya) ketika pengguna tidak menginstal miniconda/miniforge baru sejak itu. Saya biasanya hanya menggunakan yang dibundel (yang cenderung lebih cepat bahkan dengan memperbarui conda).
Hardcoding conda-forge+defaults sebagai konfigurasi saluran default
Ya kita bisa melakukan itu
Ada yang lain?
Hmmm pastikan skrip menggantikan hal yang benar pada readmes dan mungkin hanya mempertahankan versi V1, V2 (utama) sehingga kita tidak perlu membuat ulang tag.
Saya merasa tidak melanggar back-compat itu penting, seperti yang telah kita lihat. Saya akan mengatakan baris v2 harus tetap dengan miniconda default, sementara v3 akan baik-baik saja untuk mengubah default, jika bukan namanya. Either way, saya akan mengatakan itu baik-baik saja untuk hanya memiliki awalan, misalnya miniforge-*
dan miniconda-*
. Selanjutnya, miniforge menggunakan skema URL yang sedikit berbeda (misalnya pypy) dari miniconda, jadi kita perlu menangani semua bit spesifikasinya agar terasa mulus.
Pekerjaan yang dimulai pada #98 menunjukkan bahwa kita perlu meningkatkan permainan "dapatkan saya penginstal", mungkin memindahkannya ke folder lain dengan file per strategi, misalnya
download/
base.ts
file.ts
custom.ts
miniforge.ts
miniconda.ts
sebagai arsitektur kami, dll akan menjadi terputus-putus.
Untuk _that_ berakhir, kami mungkin juga menginginkan objek tingkat yang lebih tinggi, diketik dengan baik dari input tindakan yang diuraikan sehingga kami tidak melakukan banyak hal string ... daftar param raksasa semakin melelahkan, dan hanya bisa menjadi lebih buruk . Sebagian dari saya ingin membuang semuanya, dan melakukan hal skema d.ts -> JSON, tetapi kami tidak akan mengeluarkan nomor baris (berguna), sehingga beberapa nilainya akan berkurang.
Terima kasih atas masukannya @bollwyvl
Pekerjaan yang dimulai pada #98 menunjukkan bahwa kita perlu meningkatkan permainan "dapatkan saya penginstal", mungkin memindahkannya ke folder lain dengan file per strategi, misalnya
Saya suka ini, pasti sesuatu untuk dilakukan!
Setelah #126 mendarat, ini pasti bisa bergerak maju. Pekerjaan itu akan menjadi:
action.yml
, misalnya miniforge-version
, dll.input.ts
,only one of miniforge-version and miniconda-version
dapat diberikandownload-miniforge.ts
providers
di installer/index.ts
Suatu hal yang menyenangkan: sangat mudah untuk mendapatkan 30 rilis terbaru dari miniforge:
https://api.github.com/repos/conda-forge/miniforge/releases
tanpa harus melakukan pengikisan URL. Hore!
Saya pikir kita juga memerlukan kunci lain, jadi misalnya:
use:
miniforge-version: *
miniforge-flavor: Mambaforge-pypy3 # `Miniforge3` default
Alih-alih flavor
kita bisa memiliki variant
atau build
atau bahkan construct
.
Inilah WIP untuk hal di atas (perlu dokumen, dll):
https://github.com/bollwyvl/setup-miniconda/pull/2
Ini mulai mengatasi beberapa masalah dalam menggunakan mamba
sebelumnya/lebih... seolah-olah Anda menginstal Mambaforge, saya membayangkan Anda ingin _use_ mamba
, bukan? Ya, baik, JOKE'S ON YOU, itu tidak mendukung (atau mendelegasikan secara transparan) beberapa hal yang kami gunakan seperti init
. Jadi condaCommand
harus memperhitungkannya saat memilih perintah yang tepat untuk digunakan, dan berarti Anda harus memiliki conda
.
Perbedaan kecepatan terlihat dapat diabaikan untuk kasus pengujian kami, tetapi mungkin masih layak untuk dikejar... dan saya tidak tahu bagaimana kami akan menangani fungsi yang hilang untuk micromamba
...
PR up (dengan lebih banyak tes dan dokumen): https://github.com/conda-incubator/setup-miniconda/pull/133