2018-08-07 conda-forge meeting¶
Zoom instructions: +How to connect to zoom
Voting procedure modifications: https://github.com/conda-forge/conda-forge.github.io/pull/612
MichaelS owes a PR to the docs for current run_exports best practices
MVN owes a CFEP for dual compiler output
Subgroup proposal: have smaller groups that meet outside of core meetings with different frequency
Each of these need to be put up as a proposal (to ????), which then needs a core vote for creation. Each proposal should have a scope of the group and initial members, as well as how the group is expected to coordinate and communicate.
Proposed initial groups:
bot: people responsible for bot architecture, implementation, maintenance. NOT actual uses of bot (e.g. creating large migrations)
fiscal: how to allocate resources from NumFOCUS/approve expenditures periodically
toolchain: compilers, when to update to new ABI’s
NumFOCUS summit: http://summit.numfocus.org/pages/schedule.html
Conda 4.5.9 (features thing):
Filipe asking for option to error if conda tries to use packages from a lower-priority channel over their higher priority channel. Allow fallback, but only for things that don’t exist.
Dougal raising issue with conda-build creating noarch packages. Conda-build wants to use new python, then runs into unsatisfiable deps (python 3.7 isn’t totally built out yet).
on closer inspection, the problem is that conda-forge does not yet have a protobuf package built for py3.7 yet, and defaults’ protobuf package does not exclude conda-forge’s libprotobuf, so the mix of the two breaks due to C++ ABI incompatibility.
Discuss the recipes syncing between defaults and conda-forge and some issues we are facing:
large number of patches
the use of
cdtjinja (ping Peter Willians on the benchmark @pkg)
new compiler specific stuff on the build scripts
multiple outputs and new names: curl/libcurl, etc
the use of features (https://github.com/conda-forge/blas-feedstock/pull/12)
Sharing passwords (to start off the meeting next time)
Try something out and move on to more interesting problems
Let’s try KeyBase. Eric D. just sent out invites to most of the core team.
Establish next steps/action items/gh issues for migrations
MVN will coordinate with CJ on issuing prs for the things that need compilers that don’t actually call it out nicely.
Parse graph find everything which could be py 3.7 but no compiler and not noarch, run rebuild on that.
May need to have two versions of pinnings + smithy whilst graph is being rebuilt.
Decide on a policy for when maintainers stop maintaining
Come back to later
Related to 2k-ish pending bot PRs…
MVN will give CJ a list of merge-conflicted feedstocks that were closed and not merged.
Auto close out of date PRs
Auto delete closed/merged bot PR
run_exports vote https://github.com/conda-forge/conda-forge-pinning-feedstock/issues/102
John questioned run_exports practice: https://github.com/conda-forge/staged-recipes/pull/4858#discussion_r204076032
Dougal redirected discussion to https://github.com/conda-forge/conda-forge-pinning-feedstock/issues/102#issue-343171939
John questioned validity of vote on run_exports:
Filipe to add to governance doc on process to un-stick situations like this
Overall: we need a community standards communication scheme. Mike S dropped the ball on communicating the results of the poll.
Related: governance doc may need definition of how a valid poll is to be conducted.
Expiring (i.e., auto-closing with a bot) “old” PRs into staged-recipes?
Put on label, add message (stale), ping relevant parties to close
Decide on policy
Finding a good solution to sharing passwords among core
Git Secret? https://github.com/sobolevn/git-secret
Build packages on C3I and upload to conda-forge
Make is missing from the base image for PowerPC internal to Anaconda. Fun times!
Mike is open to other people helping with this. If interested, reach out! Helping means trying recipes, debugging any issues, and resolving any merge conflicts that have happened since Mike pulled them in last. Moving target.
Packages that have been built https://anaconda.org/cf-cb3 - these may need more work regarding versions. The graph was computed with the versions, but probably should have ignored them. When a pin is older than a newer recipe, the upstream recipe gets missed as a real dependency because of the version mismatch.
Making the agenda and notes public again.
John will see if we can make dropbox paper readable by the world
other options are to just post the notes somewhere public after the meeting
Finalize compiler migration discussion (see: +2018-07-17 conda-forge meeting )
Update on current status
Number of packages left to syntax migrate
Number of packages needing re-compile
Total number ready
Number ready in the first layer
Build number increase by N for new things at build time non static
determine build number with conda render clobber file
Decide on migration order [Outcome: make super graph of py37 + compilers (run with one walker), drop 3.5 when 3.7 starts]
remaining compiler syntax
Decide on resource strat [Outcome: do everything online]
~~Offline (without CIs)~~
Online (with CI)
Decide on channel strat [Outcome: new label for new compilers, run two labels]
upload re-compiled packages to new label and continue pushing to current label
upload re-compiled packages to current label, push updates to current era compilers to different branch