Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update p4python dependency #169

Closed
petemounce opened this issue Jul 21, 2020 · 1 comment · Fixed by #179
Closed

Update p4python dependency #169

petemounce opened this issue Jul 21, 2020 · 1 comment · Fixed by #179
Labels
enhancement New feature or request

Comments

@petemounce
Copy link
Contributor

Since 2018.2, these changes have happened (https://www.perforce.com/perforce/doc.current/user/p4pythonnotes.txt) (below)

I think one of our internal studios is starting to use macOS, otherwise the only things that look notable are the memory leak fixes.

I wouldn't be sure precisely how to test that a change like this is safe. Is there a test-plan/matrix of items to assert against for our platform/python combinations? I'd be guessing:

  • windows 2019 / linux
  • python 2.7.latest / 3.5.latest / 3.6.latest / 3.7.latest / 3.8.latest (new in 2020.1)

is the matrix. On each, is it sufficient to run the test automation, or are there other assertions to make?

changelog

New functionality in 2020.1

#1979782 (Job #100909) * ***
    Added support for Python 3.8.

#1971901 (Job #102669) * ** ***
	Updated the spec templates to match the 2020.1 Helix Server specs.

New functionality in 2019.1

#1804040 (Job #98777) * ***
P4Python now requires p4api 2019.1
Added OSX support for 10.14,  removed support for 10.8 and earlier
Added additional libraries from p4api 19.1 to the link lines on all platforms.
Fixed name conflicts between p4python modules and p4api extensions.
On Linux, detect glib version so the correct p4api libraries are downloaded and linked.

#1804040 (Job #97426) * ***
 Will now link with either openssl 1.0.2 or 1.1.1

#1804040  (Job #98778) *
On Linux, if -ssl is not specified, will look for compatible ssl libraries,
   and if not found, will download the openssl source, and build and install it.

#1894940 * (Job #98779) *
Fixed Windows issue where OpenSSL library names changed with Openssl 1.1.0+

Bug fixes in 2019.1

#1804040 (Job #98261) *
Changed setup.py to use subclasses, and process arguments the way setuputils wants.

#1894940 (Job #98423) *
Regex change to allow for space/extra characters in OpenSSL version

#1841909 (Job #99571) *
Memory leak in P4Result::Reset

#1841909 (Job #99549) *
Memory leak in Exception Handler

#184040 (Job #98782) *
P4Python does not install correctly with Maya 2019 "mayapy" interpreter

#1812102 (Job #98261) *
P4Python attempts to download P4API every time, ignoring --apidir
@petemounce petemounce added the enhancement New feature or request label Jul 21, 2020
@ca-johnson
Copy link
Contributor

ca-johnson commented Aug 5, 2020

Hey

Yeah the target matrix would be:

Windows, Linux, Mac (some version within the past year or two)
Python 2.7, 3.6 (default/popular versions of python2/3 respectively)

As long as pip install p4python==<new_version> works on these platforms/python versions, LGTM

More thorough testing would include:

  • Running make in this repo on these targets
  • Running the plugin 'for real' on a buildkite agent for each of these targets

I wouldn't invest a huge amount of effort into testing this though, beyond checking pip install. taking the upgrade is opt-in and seems like a reasonably "safe" thing to do - we can always roll it back if there are some serious issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants