Attendees: Victor, Benedikt, Mark, Amos, Benoit, Felix

Agenda
Review last week's action items:
Felix & Benoit to add tests to master in preparation for the soft reload fix PR 
- will be ignored for now (or expected to fail - ideal if that's possible)
Victor to review these to understand the need for isolated testing environment 
for each test
discuss soft init/reload/shutdown modes: what are the use cases for each? are 
they all necessary? need to document if so. (Benoit/Felix)


Notes:
PR for soft reload tests is failing, hasn't run on travis
coverage reported is not accurate
let's not worry too much about the coverage numbers and try to provide good 
tests for new features

build times have gotten slower over time due to testing all shutdown modes
do we need to run full tests for all modes?
some of this is likely redundant
let's remove unnecessary tests from travis
additional run for every mode
github actions?
we should keep at least one version of python testing all shutdown modes
drop everything except 3.7 from testing shutdown since that's the version we 
support in Unity?
still want to catch regressions caused by new Python versions (e.g. API changes)
long term we should look at moving from travis to github actions
Unity shutdown/domain reload is using reload mode. do we need other two modes? 
(soft / none)
we never use reloading when embedding C# in Python - just kill 
workers/instances and restart
can we remove soft & none modes? 
what are the use cases for the other two modes?
reload mode requires implementing a customer serializer
for CLR objects
Feilx is working on making the custom serializer optional so it still works 
without it
with this update reload won't fail without a serializer
does this make soft mode redundant?
there are a lot of places where there are three code paths depending on the 
shutdown mode - can we simplify
soft mode has no such requirement
none - used for shutting down Python and not restarting it - makes no attempt 
to save state
soft - does not maintain connections between CLR and Python objects, but saves 
state of Python interpreter
reload - also maintains connections between CLR and Python objects
all three modes are useful as they facilitate testing different parts of the 
system
e.g. if something fails on only one of the modes, it's useful data
currently all tests are run with all modes in all versions
Travis problems
jobs take forever to start
job status not reporting
at least partly connected to new free tier limitations
https://blog.travis-ci.com/2020-11-02-travis-ci-new-billing 
<https://blog.travis-ci.com/2020-11-02-travis-ci-new-billing>

we will need to move things off travis-ci.org by the end of the year
travis is shutting down free travis access due to abuse
move to travis-ci.com, still potential for free use but will be potentially 
limited
longer term move to github actions needs to be evaluated
Benedikt's SDK-style build system branch working well, except for some 
unexpected crashes
using poetry instead of setuptools - much simpler than current
PRs to come

Action items:
Felix will reduce the test combinations for soft shutdown on appveyor and 
travis to reduce build times and make a PR
Felix will look at extracting domain reload tests to reduce/simplify build 
times and report back
Benedikt will fix 32-bit issues

The meeting notes google doc is here 
<https://docs.google.com/document/d/1rJVU84B_dgx58-_EopjRtOJVFAI2WfHJYV0n7uE1Oak/edit#>.
 Feel free to correct or add additional information.
The next meeting will be held on Thursday, December 3 at 12pm EST (click for 
your time zone) <https://www.google.com/search?q=12:00+pm+EST>.

Mark Visser
Senior Dev Manager, M&E
Unity Technologies - www.unity3d.com <http://www.unity3d.com/>






_______________________________________________
PythonNet mailing list -- pythonnet@python.org
To unsubscribe send an email to pythonnet-le...@python.org
https://mail.python.org/mailman3/lists/pythonnet.python.org/
Member address: arch...@mail-archive.com

Reply via email to