2021-10-20 conda-forge core meeting¶
last weeks meeting What time is the meeting in my time zone Meeting info:
To join the video meeting, click this link: https://zoom.us/j/9138593505?pwd=SWh3dE1IK05LV01Qa0FJZ1ZpMzJLZz09
Otherwise, to join by phone, dial +1 347-384-8597 and enter this PIN: 828 997 153#
To view more phone numbers, click this link: https://tel.meet/ijv-qsvm-tvn?hs=5
Attendees¶
Isuru Fernando
Eric Dill
Filipe Fernandes
Matthew Becker
Cheng H. Lee
John Kirkham
Ryan May
Keith Kraus
Wolf Vollprecht
Jaime Rodriguez-Guerra
CJ Wright
Lori Burns
Chris Burr
Agenda 2021-10-20¶
Standing items¶
[x] intros for new folks on the call
[x] (FF) budget
current approvals?
Whenever updated numbers land, please screenshare and show the budget.
Link is in Keybase (numfocus_spreadsheets.txt)
[x] open votes
none
From previous meeting(s)¶
[x] (CB) NumFocus amendment
CB - Not sure if we’ve ever discussed it, wanted to discuss with core before signing on behalf of core. Not sure what’s changed since last time.
Your new() agenda items¶
[x] JRG: Quansight GPU queue: conda-forge needs, type of access, stack
Last week had chat with OpenTeams (have server installed finally). Saw interface for how to manage server. Want to use OpenStack on bare metal. That’s slow, so we’re doing VMs on demand. In the process of converting infra to support this. Need to decide which kind of access CF will need. Not entirely clear from our conversation whether we need full admin or just a manager account to set up webhooks or if it’s going to be quansight managing on behalf of conda-forge. Need to figure out what CF needs so quansight can accomodate.
IF - will want admin access to drone interface, dont need admin on the server. You can make an admin account on drone server so we’ll need access to that. Have a new docker image that supports PowerPC. Can they run that instead of the drone image?
JRG - drone server will need to be running 24x7. We have 8 GPUs, 48 cores, not sure about amount of RAM. Potentially can talk about accomodating long builds (e.g., Qt). We will start with GPUs and can potentially expand from there. No time estimates yet - now that we have this we can start talking about CF needs. Do we know if free Drone is enough?
IF - Yes, free drone is enough. From the server side, we should allow any CF repo. Two ways to restrict access - from server side and runner side. From server side we need access to all CF repos. Need to be able to register any CF repo in that server. If you want to do restrictions you’ll need to do it on the runner side.
JRG - That was one of the questions – what’s the allow list for feedstocks? Another question, but can’t remember now. TODO: Send out question if/when you remember. Do we need to have per-person accounts or one CF org-wide login.
IF - Personal accounts are fine. On the drone server, the jobs will be public but we can restrict who can create an account in the server itself. Can give conda-forge/core as people that can log in. That way people from CF/core can create an account and log in.
MRB - Need to add a bot as an admin on all of the things we’re running. We will need to use the Drone API to put secrets into the jobs and everything else. Should add conda-forge-admin.
IF - with Drone you dont need to add a bot account - can create a bot account on the drone side. It wont have GUI access but only API access. Then use that bot account to register secrets for jobs.
JRG - Drone server can talk to Openstack to spin up VMs? How are the runners going to be created from Drone server? Not clear how runners are going to be spun up yet.
https://autoscale.drone.io/install/openstack/
JRG - What are the specs we need for the runner VMs?
IF - in terms of Drone Server, disk is most important -
In terms of the runners, CPU / MEM?
KK - it’s very software dependent. Qt doesn’t require GPU but it does take a LOT of memory.
multi-gpu? 2-gpu things should be done upstream. We just need to know that it works on a single GPU.
KK - the way multi-gpu works lots of the time is funky. Sometimes if you build single-gpu then multi-gpu isn’t working. If you build with NCCL
https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources
It’s worth having more resources than this as some builds (e.g. pytorch) take 10s of hours with this configuration
We should present them up front with the desired VMs.
Should carve up the box into 1/8 increments. Then let CF request VMs that are 1/8 or 2/8 of the box.
JRG - Can
drone.conda-forge.org
talk to the Quansight GPU server? (maybe we can avoid licensing costs)
[x] IF: Intel compilers: Pam’s suggestions
Pam sent an amended version of agreement that we want, is everyone ok with that?
IF will forward to Nikolay to get his input
[x] IF: python 3.10 migration: what to do for aarch64, ppc64le?
Travis-CI is down on Sao Paulo workers.
Option
[ ] drone.conda-forge.org
[ ] full emulation
[ ] cross compile
[ ] PyPy
[ ] conda-smithy
ED - can we host a public-facing drone server according to the drone license? Yes it’s apache2 licensed.
[x] IF: Ask IBM for ppc64le resources?
[x] IF: Get https://github.com/conda/conda-build/pull/4287 in before python 3.10 migration
IF - Need to rebuild packages because of this PR. Good time to put it in now because of the migration. Rebuilding ~25% of our packages so it’s good to get this in before the migration starts.
MRB - any pip-related stuff we need to get into a conda-build release?
[ ] JRG:
menuinst
CEP https://github.com/conda/ceps/pull/8 (only tangentially related to CF :] )[ ] CHL: Any updates/improvements needed for anaconda.org?
Support for
.conda
packages(IF): ability to modify the instructions
(IF): repodata patches for labels
(MRB): faster CDN sync
Agenda 2021-10-06¶
Standing items¶
[ ] intros for new folks on the call
[ ] (FF) budget
current approvals?
Whenever updated numbers land, please screenshare and show the budget.
Link is in Keybase (numfocus_spreadsheets.txt)
[ ] open votes
none
From previous meeting(s)¶
[ ] (IF) Python 3.10
conda issue - https://github.com/conda/conda/issues/10969
How to allow older conda users to fail?
Let them find out
Add a
__conda
virtual package and letpython=3.10
package depend on__conda>=4.10.3
symbolic link
lib/python3.1
->lib/python3.10
TODO New python build that does the symlink (option #3 above)
Py3.10-related fixes will be rolled into next conda minor release
[ ] (CJ via MRB) more reproducible builds?
CJ: thinks its pretty close
motivated by this blog post: https://hpc.guix.info/blog/2021/09/whats-in-a-package/
embed azure build log into the package
embed which build system
git hash of feedstock?
turn off force push to feedstocks
need a way to force the build/host/test envs to be the same
(IF): see https://github.com/conda/conda-build/issues/2140
Possible TODOs
store source for builds somewhere
store logs for builds somewhere, possibly keyed on package name?
And parts of the info.json – sometimes we have the same filename for different builds
store conda-locks of the build/host/test environments
Notes
transparency vs repeatability vs reproducibility
Provenance != reproducibility
(Eric) transparency+repeatability > reproducibility
Your new() agenda items¶
[ ] (WV) motivated by conversations on gitter: use more mamba in conda-forge
add
mamba install ...
to feedstock readmeallow uploads from
mambabuild
road to boa recipes?
TODO
PR to conda-smithy to add a couple of flags to allow users to enable mamba debug and mamba build&upload
[ ] (CB) NumFocus amendment
[ ] (IF) aarch64 builds
cloud.drone.io is slow
We have $3000 credits from Oracle for a year
Enough for 8 runners with 4 vCPUs and 24 GB for a year
options
host our own drone server/runners
host our own azure agents
cross compile
test using qemu
pypy builds
emulate
Pushed to next meeting¶
Active votes¶
CFEPs¶
cfep-12 Removing packages that violate the terms of the source package
Stalled since May 26, 2020
Active debate about moving to “broken” vs deleting from conda-forge channel
Active vote, ends on 2020-03-11
What were the results of the vote?
Did we hear back from NumFOCUS? they did the legal seminar which is recorded
TODOs¶
2021-10-18
2021-09-22
(MRB) update on travis stuff
[ ] TODO: Write blog post for transparency reasons. Need a champion for this one (Matt can at end of october)
(MRB) master to main move (https://github.com/conda-forge/conda-forge.github.io/issues/1162)
everything done except feedstocks, releases, conda-smithy, and our github actions
releases is broken, opened an issue with github
some options for feedstocks
make sure to change the upload on branch key
[x] (MRB) make an announcement on how to update local clones (moved to the issue above)
[x] (MRB) make sure to update upload_on_branch (moved to the issue above)
2020-11-18
[ ] (IF/MRB/MV) intel oneAPI
todo
[ ] (Nikolay) licensing for opencl_rt
[ ] (Nikolay) intelmpi ABI compat w/ mpich
[ ] (MRB/IF) figure out how exactly to package C/C++ compilers
[ ] (MRB/IF) think about fortran ABI
[x] (MRB) make conda-forge compilers room (add people including keith)
[ ] (MB) asking core members to move to “emeritus” status
[ ] TODO: Eric to set up quarterly check-in for all core members to see if they’re interested in remaining “active” or if they want to move to emeritus
Remove emeritus folks from having access to various credentials (api tokens, twitter password, etc.)? This would require a change to the governance doc.
2020-11-11
TODO: Think about bringing in JOSS to provide context around how we might best write papers
2020-11-03
TODO: Check on Forrest Watters permissions for core
[x] (FF) Outreachy would cost 6500 USD.
Next steps: write abstract and vote on spending of funds.
2020-10-28 2020-10-21
[ ] (Marius?) Python 2.7 migration
( ) [ ] make a hint
( ) [ ] make an announcement
( ) [ ] make the hint a lint
2020-10-07
[ ] Make sure to add the NVBug info to the cudatoolkit package that conda-forge makes (if we make one)
2020-09-09
[ ] (ED) Update governance docs with similar voting model as what got put into conda-tools (+3 with no -1 is a pass)
[ ] (SC) Write jinja template to turn institutional partners yaml into a website https://github.com/conda-forge/conda-forge.github.io/blob/master/src/inst_partners.yaml
[ ] (SC) Document what needs to be done to create an OVH account and get access
2020-08-26 Docker hub
[ ] (JK) Check in on Azure build workers to see if they have the docker hub limitation.
[ ] (JK) work with dockerhub to see if we can get OSS status
[ ] Check in again at some point. We haven’t heard back as of 2020-09-23
OVH
[ ] Shout-out on twitter at some point. “Thanks forOVHCloud for providing a VM”, etc. (maybe after we ship qt on windows with it?)
[ ] Figure out how to communicate breaking changes to users. Likely should open up an issue immediately for futher discussion. Ping @kkraus, plus capture notes from further up in these meeting notes
[ ] John K. will update the cuda toolkit feedstock on the git repo to note the NVBug link to the internal NVIDIA issue tracker
[ ] Jonathan will update docs to note that some non-exhaustive list of packages (like cuda-toolkit, MKL, etc.)
[ ] Jonathan will review this PR
[ ] (Kale) schedule conda working group
[ ] cfep-10 next steps: CJ to call a vote for feedback
[ ] cfep-06 next steps: Ask staged recipes team to champion this CFEP and move it forward
[ ] jakirkham & CJ-wright to sync on adding CUDA to the migration bot
[ ] (Eric) Scheduling Anaconda <-> conda-forge sync on anaconda.org requirements gathering
Will try and get this scheduled in the next month.
[ ] (Anthony) Reach out to NumFocus to figure out legal ramifications of not including licenses in files.
[ ] (Eric) check internally for funding levels for hotels & flying folks from the community in?
[ ] (Eric) Figure out finances of conda-forge to support themselves?
[ ] (jjhelmus) Open up CFEP for which python’s we’re going to support
[ ] (jakirkham) write a blog post on CUDA stuff we discussed today
[ ] (jakirkham) update docs on how to add CUDA support to feedstocks
[ ] (jakirkham) will open an issue on conda-smithy to investigate Drone issues. (ping the aarch team)
https://github.com/conda-forge/conda-forge.github.io/issues/954
[ ] (ED) Who we are page? Some combination of a FAQ and a who is everyone. FAQ things like:
who’s the POC for CF <> Anaconda, CF <> NumFocus, CF <> Azure
who’s the POC for the various subteams?
Informal information: roles, day jobs, bios, the whole nine yards, why you’re here, etc.
Public or internal? I don’t really care either way. Anyone feel strongly one way or the other?
opt-in to public bios
software carpentry has a large number of instructors and has https://carpentries.org/instructors
some concern about “yet another place to keep stuff up to date”
[ ] (ED) document strategies for reproducible environments using conda-forge
[ ] (UK) Static libraries stuff
[ ] Add linting hints to builds to find them
[x] Recommend how to package them -> CFEP-18
[x] We should write docs saying we don’t provide support and this is a bad idea. -> CFEP-18