Google Summer of Code 2020 改善了 conda-forge 的自動維護
conda-forge
的「autotick」機器人是 conda-forge
基礎架構的關鍵部分。它透過推送底層軟體的版本更新,以及啟用從一個依賴項到另一個依賴項(例如,Python 3.7 到 Python 3.8)的大規模套件遷移,實現 conda-forge
套件的自動維護。隨著 conda-forge
的規模擴大,迄今已超過 9,000 個套件,conda-forge
生態系統的自動維護將變得更加重要。
我們 conda-forge
這裡有大量的潛在 Google Summer of Code 專案,圍繞著 autotick 機器人基礎架構的維護和開發。這些專案具有高度影響力,影響整個 conda-forge
生態系統。它們還涵蓋多個系統,包括資料庫、conda
的 CDN 提供商、持續整合提供商以及 GitHub 上的使用者互動。
想成為團隊的一份子嗎?太棒了!看看下面的專案,並在 GitHub 上與我們聯繫!您可以查看 GSoC 標籤,以取得需要處理的問題的詳細列表。
-
維護和重構
我們有大量的維護和重構問題待辦事項,這些問題非常適合從初學者到真正的程式碼忍者等各種經驗的人。
-
Autotick 機器人的整合測試
在圖表的副本上執行真正的整合測試,以更好地測試程式碼變更並改進我們的 CI 流程。
經驗程度:進階
-
處理「程式碼強化」里程碑
解決與程式碼重構和清理相關的上述里程碑中的任何問題。
問題:regro/cf-scripts milestone #4
經驗程度:初學者到進階
-
-
全域釘選套件的自動 PR
conda-forge
維護著全域釘選套件的列表。這些通常是需要在整個conda-forge
中版本相同的依賴項(例如,編譯器版本或像 HDF5 這樣的套件)。雖然我們有基礎架構可以執行從給定的釘選套件遷移下游套件,但我們沒有自動化的基礎架構來提出釘選本身的遷移。這裡的專案是將此功能添加到我們的基礎架構中。經驗程度:進階
-
在遷移中發出 PR 之前,檢查 conda CDN 中更新的套件
conda
依賴 CDN 提供商來提供可用套件的索引。從套件上傳到 `anaconda.org` 到它出現在 `conda` 索引中,有大約 30 分鐘的延遲。我們目前在遷移中發出 PR 時沒有考慮到這種延遲。經驗程度:初學者
-
使用 PR 完成遷移到 conda-forge 釘選檔案
目前,當套件 ABC 從版本 Y 遷移到版本 X 完成時,我們不會自動將 ABC 的全域釘選值的變更合併到我們的全域釘選列表中。一旦我們確定受遷移影響的套件中有相當一部分已正確重建,我們就應該向釘選檔案發出 PR。
經驗程度:中等
-
完全渲染 conda 套件以確定遷移依賴項
確定給定套件的依賴項實際上是一項計算量大的任務,因為
conda
食譜的結構方式以及透過使用Jinja2
和conda-build-config.yaml
檔案進行參數化。目前,autotick 機器人檢查 `meta.yaml` 檔案中的靜態元數據,而不是完全渲染的元數據。因此,我們有時會遺漏需要先遷移的給定套件的依賴項。解決此問題既需要調用渲染過程,也需要將該過程擴展到整個conda-forge
套件集。經驗程度:中等