2016-08-25:一般討論
時間:14:00 UTC
Hangout 連結:https://hangouts.google.com/call/v5olhwzpfzgzpoq5i3wthjpqpie
出席者
Jonathan Helmus, Filipe, Michael Sarahan, John Kirkham, Jake VanderPlas, Eric Dill, Ray Donnelly , Phil Elson
常設項目
- 有多少個 repo?1035
- 有多少位貢獻者?212 位(包含一些機器人)
- 新的核心開發者?
筆記
-
邀請 Peter M. Landwehr (pmlandwehr) 參與審查 staged-recipes。我們應該給予這類型的人職稱嗎?Filipe 將會聯繫。
-
大規模治理開源專案:來自維基百科成長的教訓 | Staurt Geiger https://www.youtube.com/watch?v=ZSQJYEVcMWM&index=89&list=PLYx7XA2nY5Gf37zYZMw6OqGFRPjB1jCy6
-
增強提案文件,Jonathan 有筆記,稍後今天會撰寫。
-
治理文件 - 歡迎協助。還有「who's who」或「關於」頁面。https://conda-forge.github.io/#about
* This page could be expanded, should mentioned these meeting.
-
從議程中移除項目
* Prioritize items on agenda which we should/must talk about.
- 交叉連結項目至 GitHub issue/討論
-
狀態頁面:https://conda-forge.github.io/status/
* Linked to "status" repo: [](https://github.com/conda-forge/status)[https://github.com/conda-forge/status](https://github.com/conda-forge/status)
-
conda-forge 行為準則 - Filipe 仍在努力
-
許多團隊正在研究新的建置系統:Filipe, Phil, Continuum
* Continuum's plan would allow others to add build workers, perhaps conda-forge could use these in addition to the CI services, especially for long builds
- 組織新的會議來討論這個主題
-
開源 Anaconda Build,我們應該推動發布嗎?
* Would be helpful to have our own build system rather than being dependent on CI systems.
-
Travis CI 可以透過降低並行性來增加時間
* Can we switch between longer time and concurrency? How much work is this?
- 可能目前不打算接受提議
- 最好在某處找到可信任的硬體
- 適用於 OS X 建置的 Vagrant,我們可以研究這個嗎
-
安全性
* If user changes name and someone takes old name can be a security issue: [](https://groups.google.com/forum/#)[https://groups.google.com/forum/#](https://groups.google.com/forum/#%21topic/rustlang-security-announcements/BK_3gbXhSn4)[!topic/rustlang-security-announcements/BK_3gbXhSn4](https://groups.google.com/forum/#%21topic/rustlang-security-announcements/BK_3gbXhSn4)
- 可以使用唯一的用戶 ID 而非 GitHub 使用者名稱來解決
- 想要 Anaconda.org 的 token,允許寫入單一套件(Phil 將推動 Continuum 處理此事),而不是全域寫入。
-
Metadata 統一
* Should conda-forge include additional metadata which would make it easier for Continuum to re-use recipes
-
這應該是必要的還是可選的?
* Required would likely reduce number of contributors
-
將需要時間/工作將這些新增至所有目前的套件
-
新增至 linter 和 conda skeleton
* Make linter have "warnings" not hard fails
-
其中許多看起來是多餘的,我們可以重複使用現有的 metadata 嗎?
-
-
授權檔案可能應該是必要的
* Legal vs. suggested
-
議程
-
將議程項目標記為完成。
-
分享狀態頁面。 :) 也弄清楚如何有效地導引通知。
-
增強提案文件更新。
-
conda-forge 行為準則文件:https://docs.google.com/document/d/10dxX0Zse0Rx1HqsxC73Wfsghmy5m8PP8cHuBIOhWKpc/edit
-
提及 Travis-CI 提供更多 CI 時間。
-
我們可以考慮將您的建置時間增加到 180 分鐘,但我們可能需要將您的預設並行性從 5 個 jobs 減少到 3 個,因為您將長時間使用多個 VM。
-
提及/討論 Travis Oliphant 關於開源 Anaconda Build CI 的評論。
-
安全性
-
Feedstocks 哲學:顯式 vs 隱式 / 可重現 vs 冗餘
-
與 Continuum 的 Metadata 統一 - 我們是否同意在 about 區段中新增一些欄位以符合 Anaconda 標準?
-
包含授權檔案
-
許多 recipes 沒有包含授權檔案。
-
幾乎每個授權都有關於提供授權的條款。
-
我們是否應該開始要求這個欄位。
-
請注意,有些開發人員也沒有包含授權檔案。
-
在某些情況下,讓他們包含授權檔案是一場掙扎。
-
CUDA/cuDNN 更新
-
改善基礎設施
* Better workflows with staged-recipes
* Fast finish AppVeyor on merge ( [conda forge/staged recipes#1142](https://github.com/conda-forge/staged-recipes/pull/1142) )
* Drop Travis CI matrix ( [conda forge/staged recipes#1234](https://github.com/conda-forge/staged-recipes/pull/1234) )
* Use CircleCI for feedstock generation ( [conda forge/staged recipes#916](https://github.com/conda-forge/staged-recipes/issues/916) )
* Keeping recipes out of PRs ( [conda forge/staged recipes#942](https://github.com/conda-forge/staged-recipes/issues/942) )
* Bank work in partial conversion ( [conda forge/staged recipes#915](https://github.com/conda-forge/staged-recipes/issues/915) ) -
通知(我們如何掌握它們)
-
MSYS2
* Available on defaults - was in conda 4.1.7, but that was pulled. Coming in 4.1.8.
- 討論 Ray Donnelly 在 MSYS2 套件上的工作,以及我們希望如何使用這些套件並將其整合到 conda-forge 中。
- 一些要考慮的用例 OpenBLAS、FFTW、建置工具、其他?
-
二進制資料
* Do we include it in recipes?
- 我們允許哪些種類(例如,圖示)?
- 我們如何驗證授權?
- 我們如何驗證它們是安全的?
-
Dev 版本:它們在哪裡發布?
* Do we do them at conda-forge?
* Maybe add a label.
* Do we let others do them with a feedstock on their own repo?- 我們如何強制執行我們決定的任何事情?
-
頻道鏡像
* Can this point be a little bit explained? I thought about this as well and would like to contribute to this point.
* Eric Dill has put together a script for copying a package from one channel to another here: [conda forge/conda forge.github.io#134](https://github.com/conda-forge/conda-forge.github.io/pull/134)
* I have a really, really crude script that copies all of the packages in one channel to another that I just put at: [](https://gist.github.com/mwcraig/8473cf840f6d29236d6d8af699404555)[https://gist.github.com/mwcraig/8473cf840f6d29236d6d8af699404555](https://gist.github.com/mwcraig/8473cf840f6d29236d6d8af699404555)
* conda-build-all can copy from one channel to another: `conda build-all --inspect-channels conda-forge --upload-channels astropy some_packge_recipe` will copy the `some_package` from the channel conda-forge to astropy if it can, or build it if it doesn't exist on conda-forge. Discussion about what the desired behavior should be has started at: [SciTools/conda build all#46](https://github.com/SciTools/conda-build-all/issues/46) -
Feedstock 歷史記錄
* Is it sacred?
-
我們是否 rebase/強制推送?
* If so, under what conditions?
-
我們如何避免多人同時執行此操作?
* I don't think you can.
* IMHO, if it's just one author in staged recipes, sure. If feedstock, no force push - only to PRs to feedstock. If people don't mind merge PRs, it sure is a lot simpler to not rebase. I have messed up rebasing a few times recently... =(
-
-
-
Continuum metadata 請求:我們可以將這些新增至 linter 嗎?
* example metadata: [](https://github.com/ContinuumIO/anaconda-recipes/blob/master/anaconda-build/meta.yaml#L36-L44)[https://github.com/ContinuumIO/anaconda-recipes/blob/master/anaconda-build/meta.yaml#L36-L44](https://github.com/ContinuumIO/anaconda-recipes/blob/master/anaconda-build/meta.yaml#L36-L44)
- 此外,區分摘要(限制為 77 或 80 個字元)與描述(無限制)
- Anaconda verify:最好在中間會合,而不是分歧。conda-build 可能會整合 anaconda-verify,如果 conda-forge 在此處新增 metadata 會很好。
-
捨棄 numpy 1.10 並縮減我們的建置矩陣。(Numba 現在適用於 numpy 1.11。)
-
簽署套件
* Should be easy to do. ( [](http://conda.pydata.org/docs/signed-packages.html)[http://conda.pydata.org/docs/signed-packages.html](http://conda.pydata.org/docs/signed-packages.html) )
- 先前已經有一些興趣。
-
HTTPError: 503 Server Error: Service Unavailable: Back-end server is at capacity for url...
* Seems we are regularly running into this issue under normal usage conditions.
- 先前已討論過在 AppVeyor 上快取套件並嘗試重複使用這些套件來開始。
- 也許我們需要在所有 CI 上考慮快取。
- 透過
constructor
建置我們自己的類似 Miniconda 的自解壓縮腳本,其中包含套件。 - Continuum 方面已經進行了一些改進,應該對此有所幫助。簡而言之,repodata(給定頻道的套件索引)是針對每個 anaconda.org 查詢生成的。這是不必要的高成本,並且已經實施了一些快取方案。
-
處理移除未釘選/不正確釘選的套件。
* Has been done manually thus far.
- 但這無法良好擴展。
- 我們應該(半)自動化移除嗎?
- 我們應該熱修復損壞的套件嗎?( conda forge/conda forge.github.io#170 )
- 我們應該將它們標記為損壞嗎
-
目前無法建置的套件
* In particular open source code that is out of scope for CIs.
-
範例包括 Qt4、Qt5、可能 PyQt4、可能 PyQt5、gcc、VTK 等。
-
我們如何指示它們是手動建置的?
-
我們是否可以接受上傳非建置的二進制檔案?
-
我們何時確定某件事可以手動建置?
-
人們在手動建置時應該遵循哪些程序?
* Use a standard build docker image, VM, or vagrant file
-
簽署套件?
-
在可行的情況下實作可重現的建置(linux)
* [](https://reproducible-builds.org/)[https://reproducible-builds.org/](https://reproducible-builds.org/)
-
我們需要在 conda-smithy 其他地方進行哪些變更?
-
-
我們還可以利用哪些其他建置基礎設施?
* Would be nice to provide some volunteer builder abstraction, so that we could have an elastic worker farm that would be somewhat resilient.
- 標準化建置映像檔可能(相對)容易 - 但如何協調?
-
-
Windows BLAS 解決方案
* Still don't have a BLAS for Windows yet need something.
-
不要建置 BLAS
* NumPy has a small subset of BLAS functionality.
-
不確定如何處理 SciPy(也找不到它們的 Windows wheels)。
-
僅使用 C 支援建置 OpenBLAS。
* Will be pretty slow.
-
應該適用於所有 Python。
-
使用 MinGW 編譯器建置 OpenBLAS。
* Works with Python 2.7 and 3.4.
-
不適用於 Python 3.5?
-
重複使用類似 R 的 BLAS。
* Is there a package for something like this?
-
它是否也會有與 Python 3.5 相同的問題?
-
ATLAS?
-
-