Skip to main content

2021-10-20 conda-forge core meeting

last weeks meeting What time is the meeting in my time zone Meeting info:

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

  • 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)

  • (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

  • 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)
  • 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
  • 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.

  • IF: Ask IBM for ppc64le resources?

  • 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?
      1. Let them find out
      2. Add a __conda virtual package and let python=3.10 package depend on __conda>=4.10.3
      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 readme
    • allow 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
      1. host our own drone server/runners
      2. host our own azure agents
      3. cross compile
        • test using qemu
        • pypy builds
      4. 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
    • (MRB) make an announcement on how to update local clones (moved to the issue above)
    • (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
      • (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
  • (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

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)

  • (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
    • Recommend how to package them -> CFEP-18
    • We should write docs saying we don't provide support and this is a bad idea. -> CFEP-18