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

✅ Add manylinux1 self testing #874

Merged
merged 7 commits into from
Feb 17, 2019

Conversation

webknjaz
Copy link
Contributor

No description provided.

@webknjaz webknjaz force-pushed the feature/manylinux1-self-testing branch from 1f73432 to 9a5d3a7 Compare February 16, 2019 14:02
@webknjaz webknjaz mentioned this pull request Feb 16, 2019
@jdavid
Copy link
Member

jdavid commented Feb 17, 2019

I get the same result with this branch (but will merge anyway):

$ pytest test --tb=line
============================================================================================================ test session starts =============================================================================================================
platform linux -- Python 3.5.5, pytest-4.2.1, py-1.7.0, pluggy-0.8.1
rootdir: /home/jdavid/2019-02, inifile:
collected 360 items                                                                                                                                                                                                                          

test/test_archive.py ..                                                                                                                                                                                                                [  0%]
test/test_attributes.py .                                                                                                                                                                                                              [  0%]
test/test_blame.py .....                                                                                                                                                                                                               [  2%]
test/test_blob.py ............                                                                                                                                                                                                         [  5%]
test/test_branch.py .....................................                                                                                                                                                                              [ 15%]
test/test_cherrypick.py ....                                                                                                                                                                                                           [ 16%]
test/test_commit.py .......                                                                                                                                                                                                            [ 18%]
test/test_config.py .........                                                                                                                                                                                                          [ 21%]
test/test_credentials.py .....F.F                                                                                                                                                                                                      [ 23%]
test/test_describe.py ...........                                                                                                                                                                                                      [ 26%]
test/test_diff.py ....................                                                                                                                                                                                                 [ 32%]
test/test_index.py ...................                                                                                                                                                                                                 [ 37%]
test/test_merge.py .............                                                                                                                                                                                                       [ 41%]
test/test_note.py .....                                                                                                                                                                                                                [ 42%]
test/test_object.py .......                                                                                                                                                                                                            [ 44%]
test/test_oid.py ........                                                                                                                                                                                                              [ 46%]
test/test_options.py .............                                                                                                                                                                                                     [ 50%]
test/test_patch.py ...............                                                                                                                                                                                                     [ 54%]
test/test_refs.py ............................................                                                                                                                                                                         [ 66%]
test/test_remote.py ....................                                                                                                                                                                                               [ 72%]
test/test_repository.py .........................................................F.                                                                                                                                                    [ 88%]
test/test_revwalk.py ..........                                                                                                                                                                                                        [ 91%]
test/test_signature.py ....                                                                                                                                                                                                            [ 92%]
test/test_status.py .                                                                                                                                                                                                                  [ 92%]
test/test_submodule.py .F...F.FF.                                                                                                                                                                                                      [ 95%]
test/test_tag.py ....                                                                                                                                                                                                                  [ 96%]
test/test_tree.py ........                                                                                                                                                                                                             [ 98%]
test/test_treebuilder.py ....                                                                                                                                                                                                          [100%]

================================================================================================================== FAILURES ==================================================================================================================
/home/jdavid/2019-02/venv35/lib/python3.5/site-packages/pygit2/errors.py:64: _pygit2.GitError: user cancelled certificate check
/home/jdavid/2019-02/venv35/lib/python3.5/site-packages/pygit2/errors.py:64: _pygit2.GitError: user cancelled certificate check
/home/jdavid/2019-02/venv35/lib/python3.5/site-packages/pygit2/errors.py:64: _pygit2.GitError: user cancelled certificate check
/home/jdavid/2019-02/venv35/lib/python3.5/site-packages/pygit2/errors.py:64: _pygit2.GitError: the SSL certificate is invalid
/home/jdavid/2019-02/venv35/lib/python3.5/site-packages/pygit2/errors.py:64: _pygit2.GitError: the SSL certificate is invalid
/home/jdavid/2019-02/venv35/lib/python3.5/site-packages/pygit2/errors.py:64: _pygit2.GitError: the SSL certificate is invalid
/home/jdavid/2019-02/venv35/lib/python3.5/site-packages/pygit2/errors.py:64: _pygit2.GitError: the SSL certificate is invalid
=================================================================================================== 7 failed, 353 passed in 23.32 seconds ====================================================================================================

@jdavid jdavid merged commit 3ca5804 into libgit2:master Feb 17, 2019
@webknjaz
Copy link
Contributor Author

Well, I guess those shared libraries are present on your machine because you are developing there and you built libgit2 in host machine, not container. Which probably means that you had to install them during the manual installation process...
And the goal of manylinux1 is to avoid that.

@jdavid
Copy link
Member

jdavid commented Feb 17, 2019

I've libgit2 installed system wide, but it's not being used in this case.
But the other libraries yes, it's getting them from the system.

This is what I did exactly:

  • Run travis/build-all-manylinux1-wheels.sh pygit2 0.27
  • In a separate directory create a virtual environment
  • and install there the wheel generated in the first step
  • then install pytest and run the tests

@webknjaz
Copy link
Contributor Author

Haha, that's exactly how I tested it... It worked at first and then when I added explicit linking against libssh2 and zlib it started segfaulting.

@jdavid
Copy link
Member

jdavid commented Feb 17, 2019

(venv35) jdavid@croqui ~/2019-02 $ pip show -f pygit2 | grep so
  .libs_pygit2/libcurl-e8503455.so.4.5.0
  .libs_pygit2/libgit2-fada2a44.so.0.27.8
  .libs_pygit2/libssh2-ff375f42.so.1.0.1
  .libs_pygit2/libz-a147dcb0.so.1.2.3
  _pygit2.cpython-35m-x86_64-linux-gnu.so
  pygit2/.libs/libcurl-e8503455.so.4.5.0
  pygit2/.libs/libgit2-fada2a44.so.0.27.8
  pygit2/.libs/libssh2-ff375f42.so.1.0.1
  pygit2/.libs/libz-a147dcb0.so.1.2.3
  pygit2/_libgit2.abi3.so

(venv35) jdavid@croqui ~/2019-02 $ ldd venv35/lib/python3.5/site-packages/_pygit2.cpython-35m-x86_64-linux-gnu.so | grep libgit2
	libgit2-fada2a44.so.0.27.8 => /home/jdavid/2019-02/venv35/lib/python3.5/site-packages/.libs_pygit2/libgit2-fada2a44.so.0.27.8 (0x00007fe450209000)

(venv35) jdavid@croqui ~/2019-02 $ ldd /home/jdavid/2019-02/venv35/lib/python3.5/site-packages/.libs_pygit2/libgit2-fada2a44.so.0.27.8
	linux-vdso.so.1 (0x00007ffd8b0c6000)
	librt.so.1 => /lib64/librt.so.1 (0x00007f68b70bb000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f68b6e9b000)
	libcurl.so.4 => /usr/lib64/libcurl.so.4 (0x00007f68b6c27000)
	libz.so.1 => /lib64/libz.so.1 (0x00007f68b6a10000)
	libssh2.so.1 => /usr/lib64/libssh2.so.1 (0x00007f68b67e3000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f68b641b000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f68b7989000)
	libssl.so.1.0.0 => /usr/lib64/libssl.so.1.0.0 (0x00007f68b61ad000)
	libcrypto.so.1.0.0 => /usr/lib64/libcrypto.so.1.0.0 (0x00007f68b5d72000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f68b5b6e000)

The SOs with the broken references are those in pygit2/.libs/ , but it doesn't make a difference fixing
them at runtime with LD_LIBRARY_PATH because _pygit2.so uses the libgit2 in .libs_pygit2/,
which links against system wide libraries.

@webknjaz
Copy link
Contributor Author

So it looks like pypa/manylinux#60 to me...

netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Mar 20, 2019
Add test target.

0.28.0 (2019-03-19)
-------------------------

- Upgrade to libgit2 0.28
  `#878 <https://github.com/libgit2/pygit2/issues/878>`_

- Add binary wheels for Linux
  `#793 <https://github.com/libgit2/pygit2/issues/793>`_
  `#869 <https://github.com/libgit2/pygit2/pull/869>`_
  `#874 <https://github.com/libgit2/pygit2/pull/874>`_
  `#875 <https://github.com/libgit2/pygit2/pull/875>`_
  `#883 <https://github.com/libgit2/pygit2/pull/883>`_

- New ``pygit2.Mailmap``, see documentation
  `#804 <https://github.com/libgit2/pygit2/pull/804>`_

- New ``Repository.apply(...)`` wraps ``git_apply(..)``
  `#841 <https://github.com/libgit2/pygit2/issues/841>`_
  `#843 <https://github.com/libgit2/pygit2/pull/843>`_

- Now ``Repository.merge_analysis(...)`` accepts an optional reference parameter
  `#888 <https://github.com/libgit2/pygit2/pull/888>`_
  `#891 <https://github.com/libgit2/pygit2/pull/891>`_

- Now ``Repository.add_worktree(...)`` accepts an optional reference parameter
  `#814 <https://github.com/libgit2/pygit2/issues/814>`_
  `#889 <https://github.com/libgit2/pygit2/pull/889>`_

- Now it's possible to set SSL certificate locations
  `#876 <https://github.com/libgit2/pygit2/issues/876>`_
  `#879 <https://github.com/libgit2/pygit2/pull/879>`_
  `#884 <https://github.com/libgit2/pygit2/pull/884>`_
  `#886 <https://github.com/libgit2/pygit2/pull/886>`_

- Test and documentation improvements
  `#873 <https://github.com/libgit2/pygit2/pull/873>`_
  `#887 <https://github.com/libgit2/pygit2/pull/887>`_

Breaking changes:

- Now ``worktree.path`` returns the path to the worktree directory, not to the
  `.git` file within
  `#803 <https://github.com/libgit2/pygit2/issues/803>`_

- Remove undocumented ``worktree.git_path``
  `#803 <https://github.com/libgit2/pygit2/issues/803>`_


0.27.4 (2019-01-19)
-------------------------

- New ``pygit2.LIBGIT2_VER`` tuple
  `#845 <https://github.com/libgit2/pygit2/issues/845>`_
  `#848 <https://github.com/libgit2/pygit2/pull/848>`_

- New objects now support (in)equality comparison and hash
  `#852 <https://github.com/libgit2/pygit2/issues/852>`_
  `#853 <https://github.com/libgit2/pygit2/pull/853>`_

- New references now support (in)equality comparison
  `#860 <https://github.com/libgit2/pygit2/issues/860>`_
  `#862 <https://github.com/libgit2/pygit2/pull/862>`_

- New ``paths`` optional argument in ``Repository.checkout()``
  `#858 <https://github.com/libgit2/pygit2/issues/858>`_
  `#859 <https://github.com/libgit2/pygit2/pull/859>`_

- Fix speed and windows package regression
  `#849 <https://github.com/libgit2/pygit2/issues/849>`_
  `#857 <https://github.com/libgit2/pygit2/issues/857>`_
  `#851 <https://github.com/libgit2/pygit2/pull/851>`_

- Fix deprecation warning
  `#850 <https://github.com/libgit2/pygit2/pull/850>`_

- Documentation fixes
  `#855 <https://github.com/libgit2/pygit2/pull/855>`_

- Add Python classifiers to setup.py
  `#861 <https://github.com/libgit2/pygit2/pull/861>`_

- Speeding up tests in Travis
  `#854 <https://github.com/libgit2/pygit2/pull/854>`_

Breaking changes:

- Remove deprecated `Reference.get_object()`, use `Reference.peel()` instead


0.27.3 (2018-12-15)
-------------------------

- Move to pytest, drop support for Python 3.3 and cffi 0.x
  `#824 <https://github.com/libgit2/pygit2/issues/824>`_
  `#826 <https://github.com/libgit2/pygit2/pull/826>`_
  `#833 <https://github.com/libgit2/pygit2/pull/833>`_
  `#834 <https://github.com/libgit2/pygit2/pull/834>`_

- New support comparing signatures for (in)equality

- New ``Submodule.head_id``
  `#817 <https://github.com/libgit2/pygit2/pull/817>`_

- New ``Remote.prune(...)``
  `#825 <https://github.com/libgit2/pygit2/pull/825>`_

- New ``pygit2.reference_is_valid_name(...)``
  `#827 <https://github.com/libgit2/pygit2/pull/827>`_

- New ``AlreadyExistsError`` and ``InvalidSpecError``
  `#828 <https://github.com/libgit2/pygit2/issues/828>`_
  `#829 <https://github.com/libgit2/pygit2/pull/829>`_

- New ``Reference.raw_name``, ``Reference.raw_shorthand``, ``Tag.raw_name``,
  ``Tag.raw_message`` and ``DiffFile.raw_path``
  `#840 <https://github.com/libgit2/pygit2/pull/840>`_

- Fix decode error in commit messages and signatures
  `#839 <https://github.com/libgit2/pygit2/issues/839>`_

- Fix, raise error in ``Repository.descendant_of(...)`` if commit doesn't exist
  `#822 <https://github.com/libgit2/pygit2/issues/822>`_
  `#842 <https://github.com/libgit2/pygit2/pull/842>`_

- Documentation fixes
  `#821 <https://github.com/libgit2/pygit2/pull/821>`_

Breaking changes:

- Remove undocumented ``Tag._message``, replaced by ``Tag.raw_message``
EnTeQuAk pushed a commit to mozilla/addons-server that referenced this pull request Mar 25, 2019
This PR updates [pygit2](https://pypi.org/project/pygit2) from **0.27.4** to **0.28.0**.



<details>
  <summary>Changelog</summary>
  
  
   ### 0.28.0
   ```
   -------------------------

- Upgrade to libgit2 0.28
  `878 &lt;https://github.com/libgit2/pygit2/issues/878&gt;`_

- Add binary wheels for Linux
  `793 &lt;https://github.com/libgit2/pygit2/issues/793&gt;`_
  `869 &lt;https://github.com/libgit2/pygit2/pull/869&gt;`_
  `874 &lt;https://github.com/libgit2/pygit2/pull/874&gt;`_
  `875 &lt;https://github.com/libgit2/pygit2/pull/875&gt;`_
  `883 &lt;https://github.com/libgit2/pygit2/pull/883&gt;`_

- New ``pygit2.Mailmap``, see documentation
  `804 &lt;https://github.com/libgit2/pygit2/pull/804&gt;`_

- New ``Repository.apply(...)`` wraps ``git_apply(..)``
  `841 &lt;https://github.com/libgit2/pygit2/issues/841&gt;`_
  `843 &lt;https://github.com/libgit2/pygit2/pull/843&gt;`_

- Now ``Repository.merge_analysis(...)`` accepts an optional reference parameter
  `888 &lt;https://github.com/libgit2/pygit2/pull/888&gt;`_
  `891 &lt;https://github.com/libgit2/pygit2/pull/891&gt;`_

- Now ``Repository.add_worktree(...)`` accepts an optional reference parameter
  `814 &lt;https://github.com/libgit2/pygit2/issues/814&gt;`_
  `889 &lt;https://github.com/libgit2/pygit2/pull/889&gt;`_

- Now it&#39;s possible to set SSL certificate locations
  `876 &lt;https://github.com/libgit2/pygit2/issues/876&gt;`_
  `879 &lt;https://github.com/libgit2/pygit2/pull/879&gt;`_
  `884 &lt;https://github.com/libgit2/pygit2/pull/884&gt;`_
  `886 &lt;https://github.com/libgit2/pygit2/pull/886&gt;`_

- Test and documentation improvements
  `873 &lt;https://github.com/libgit2/pygit2/pull/873&gt;`_
  `887 &lt;https://github.com/libgit2/pygit2/pull/887&gt;`_

Breaking changes:

- Now ``worktree.path`` returns the path to the worktree directory, not to the
  `.git` file within
  `803 &lt;https://github.com/libgit2/pygit2/issues/803&gt;`_

- Remove undocumented ``worktree.git_path``
  `803 &lt;https://github.com/libgit2/pygit2/issues/803&gt;`_
   ```
   
  
</details>


 

<details>
  <summary>Links</summary>
  
  - PyPI: https://pypi.org/project/pygit2
  - Changelog: https://pyup.io/changelogs/pygit2/
  - Repo: http://github.com/libgit2/pygit2
</details>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants