Commit Graph

78 Commits

Author SHA1 Message Date
Alexander Niederbühl faa3feda3f Merge branch 'master' into doctest 2019-04-23 21:58:09 +02:00
Omer BenAmram f8bf258602 Support rust extensions for PyPy via cpyext (#393)
* wip

* removed stuff

* removed another change

* implemented minimum amouth of ifdefs to make pypy3 hello world to compile

* implemented minimum amount of ifdefs to make pypy3 hello world to compile

* hacking on build.rs

* compiler is happy!

* few todos remain

* extracted build logic to seperate module

* added pypy test

* finally fixed pypy structs

* removed some todos

* test should now be machine independent

* fixed all pypy3 symbols

* added pypy feature

* removed `is_pypy`

* added pypy2 declerations also

* fix for cpython2

* improved libpypy detection

* added all pypy2 macros

* fixed errneous type

* more fixes

* fix python2 string macros

* modsupport symbol

* fix

* fixed and added many symbols

* fixes

* remove dup

* remove mac-specific config

* fix all name mangling macros

* unite imports

* missing symbol

* fix pybool

* implemented another missing symbol

* it works

* fix merge conflict

* uncomment non default features

* cargo.toml

* Cargo fmt

* small merge fixes

* use newer build version

* whoops

* fix build script

* more build hacks

* some random hiccups

* small fixes

* it builds!

* it builds and runs

* revert everything in FFI2

* revert changes to ffi2

* check python3 for pypy

* tiny fix

* revert ffi2 for real

* revert weird formatting changes

* bring back missing feature

* tiny error

* fix py3.7 issue

* add pypy3.5 6.0 to travis

* remove dbg!

* another tiny fix

* removed some useless annotations, and fixed inlines annotations

* removed `pretty_assertions`

* removed pypy feature from cargo.toml

* fix for Py_CompileStringFlags

* tox runs word_count!

* __dict__ changes are not supported for PyPy

* fix 3.7 and copy comment

* fix test script 😳

* transfer ownership of strings to cpython when possible

* remove cstr! macro

* added missing nuls

* as_bytes() -> b’’ string

* symbol removed by mistake

* properly shim pypy date time API, some tests are passing!

* extension_module tests now not crashing! (some still skipped)

* maybe travis has new pypy version?

* small error on windows (build script)

* fix conditional compilation

* try to make tests run on travis..

* invert condition

* added pytest-faulthandler to facilitate debugging

* correctly name dir

* use full paths

* say —yes to conda

* fix

* syntax error

* change PATH

* fixed a terrible bug with PyTypeObjects in PyPy

* fix PyTypeObject defs

* re-enabled tests!

* all tests are passing!

* make the fix ad-hoc for now

* removed build module

* revert changes that cause an additional GC bug

* prevented buggy test from failing pypy

* removed unused comment

* don’t run coverage on pypy

* removed some erroneous symbols from function calls which are actually macros

* restore py37 pyunicode missing def

* use only `link_name` in PyPy specific declarations

* only setup PyPy when testing against PyPy

* annotation that was eaten during merge

* remove change to  comment by mistake + unnecessary changes to cargo.toml

* xfail dates test only on pypy

* changed comment to be a little more helpful

* cleaned up some warnings

* Update src/ffi3/ceval.rs

Co-Authored-By: omerbenamram <omerbenamram@gmail.com>

* @konstin PR notes

* rustfmt

* some documentation

* if configured via env var only, default to cpython

* remove extra unsafe

* refer users to guide for pypy

* Update guide/src/pypy.md

Co-Authored-By: omerbenamram <omerbenamram@gmail.com>

* Update guide/src/pypy.md

Co-Authored-By: omerbenamram <omerbenamram@gmail.com>

* @konstin applied patch

* check that pypy at least build

* search explicitly for libpypy

* added note about some known unsupported features

* use ld_version

* export PYTHON_SYS_EXECUTABLE to `cargo build` test

* inverted if

* always link pypy dynamically

* remove unused imports

* Apply @kngwyu’s suggestion

* fix tox configuration

* try conda virtualenv

* try to simply not install python at all inside pypy environment

* setup pypy before using “python"

* use system_site_packages

* revert change to .travis

* moved cpyext datetime documentation to module level, and revised it.

* Update src/ffi/datetime.rs

Co-Authored-By: omerbenamram <omerbenamram@gmail.com>

* rustfmt

* Update src/ffi/datetime.rs

Co-Authored-By: omerbenamram <omerbenamram@gmail.com>

* kept only notes that are relevant to users.

* invert if

* use bash and not sh
2019-04-23 13:18:42 +02:00
Alexander Niederbühl f1b0288d3c Remove docmatic and several workarounds for the doctests 2019-04-19 22:47:21 +02:00
ijl 2bb0d05a30 Drop support for python2 2019-03-29 12:37:26 +00:00
Alexander Niederbühl 5cc43b8d86 Reactivate coverage on CI
Also exclude tests from coverage report and test py3-derive-backend in
travis.
2019-03-18 01:05:08 +01:00
Alexander Niederbühl e2e4733b82 Test examples in user guide with travis
Test could only be activated for Python 3.5 and some tests had to be
ignored, see #381 and #387.
2019-03-09 23:54:28 +01:00
konstin 7a4cb50c96 Travis cleanup 2019-02-13 21:12:46 +01:00
konstin c38b1bc7a0 Actually run 3.8 on travis 2019-02-10 19:56:49 +01:00
ijl 9f722ea9cc Run python3.8 in Linux CI 2019-02-05 13:49:03 +00:00
konstin fbe71b27cb Pin nightly in ci 2019-01-30 16:31:37 +01:00
ijl 2c75c42b61 Travis uses 3.7 instead of 3.7-dev
It requires xenial for support per
https://docs.travis-ci.com/user/languages/python/

I tried specifying 3.8-dev in allow_failures, but it was not
picked up.
2018-11-23 19:49:12 +00:00
konstin 3e7d5280ca
Merge pull request #200 from pganssle/datetime
Initial datetime bindings
2018-08-22 18:00:05 +02:00
konstin ced632b357 kcov seems to broken 2018-08-21 23:41:57 +02:00
Paul Ganssle 7fc1dae238
Add rustapi_module tests to CI 2018-08-21 14:29:36 -04:00
konstin b12b65cfae Cleanup 2018-08-19 20:06:47 +02:00
konstin d0ed68414a Many small improvements 2018-08-04 19:56:59 +02:00
konstin 83db765889 Refactoring 2018-07-30 22:56:25 +02:00
konstin ff70f45071 (Hopefully) get travis to build the guide for tags 2018-07-18 23:28:14 +02:00
konstin c32dd1c120 Reduce travis' cache size
Reduces the cache from 1.1GB to 70MB which makes the cache loading and storing much faster
2018-07-09 00:02:34 +02:00
konstin 9394dc591e Deactivate mails on failed travis run
The test suite is unfortunately very flaky which makes travis spam with mails of failed builds
2018-06-14 16:29:22 +02:00
konstin 7fbe13d97f Don't deploy in cron jobs 2018-06-12 14:36:34 +02:00
konstin 40ad4b8b5a Make travis a little less verbose 2018-05-23 16:38:44 +02:00
Martin Larralde 3b6a87c8c2
Fix wrong repository name in `.travis.yml` 2018-05-04 18:34:05 +02:00
Martin Larralde 70bdf5e93c
Tidy up Travis-CI (#152)
* Use Travis-CI build matrix to setup environment
* Setup Travis cache 
* Use `sccache` to cache compiled artifacts
* Use `setup.sh` script to setup Travis-CI
* Add more tests to `ci/travis` to lighten `.travis.yml`
* Use `script` deployment to run `kcov` in Travis-CI
* Export `RUSTC_WRAPPER` in the Travis configuration directly
* Fix wrong Python `3.7` version in Travis configuration
* Fix `ci/travis/cover.sh`
* Prevent Travis-CI from cleaning build artifacts
* Recompile `kcov` only when needed in Travis-CI
* Collect coverage in parallel
* Add github-pages deployment script
2018-05-04 18:20:28 +02:00
Nikolay Kim 14ab12b89f move doc generation to asfter script section 2018-04-03 10:32:10 -07:00
Nikolay Kim cab682d855 use rust bin dir instead 2018-04-03 10:15:57 -07:00
Nikolay Kim 6b665e9a82 create cargo dir 2018-04-03 10:15:04 -07:00
Nikolay Kim a5d0b30227 use precompiled mdbook 2018-03-30 14:51:13 -07:00
Nikolay Kim 0982cba184 use precompiled mdbook 2018-03-30 14:29:36 -07:00
Vlad Shcherbina 5198fccaeb Enable backtrace
To simplify troubleshooting on the build server.
2018-03-14 01:05:47 +03:00
Nikolay Kim d50d1fb7ea enable python3.7 builds 2018-02-21 10:06:48 -08:00
Vlad Shcherbina 4eb22a3c20 Travis: move doc build step to `script` #115
To ensure that doc build failures aren't silently ignored.
2018-02-14 20:45:08 +03:00
Vlad Shcherbina c4939ab9d7 Fix documentation build (hopefully) #115 2018-02-14 19:23:09 +03:00
Nikolay Kim 017c404d69 fix travis build 2017-12-18 19:47:23 -08:00
Nikolay Kim 653f081d65 enable coverage for master only 2017-11-27 11:19:22 -08:00
Nikolay Kim 6a31a4cbb7 kcov only for py3.6 2017-11-27 11:07:50 -08:00
Nikolay Kim a57ebc7928 fix travis 2017-11-27 11:06:53 -08:00
Nikolay Kim 258e84c4e2 enable coverage 2017-11-27 11:05:51 -08:00
Nikolay Kim 99d5994d95 enable coverage 2017-11-27 11:04:49 -08:00
Nikolay Kim 40d34ca59d remove tarpaulin 2017-07-21 14:35:24 -07:00
Nikolay Kim fcb20c6f25 try tarpaulin 2017-07-21 14:05:09 -07:00
messense 7466097780 User guide documentaion (#37)
User guide documentaion
2017-06-18 10:02:02 +08:00
Nikolay Kim 61138f9889 fix env check 2017-06-15 15:33:06 -07:00
Nikolay Kim b0f25f8e42 check python version during travis build 2017-06-15 15:19:59 -07:00
Nikolay Kim d15e85800f push all doc files 2017-06-15 11:20:40 -07:00
Nikolay Kim 0679fec859 update docs 2017-06-15 11:13:58 -07:00
Nikolay Kim 51115e70f2 update doc link 2017-06-15 10:48:10 -07:00
Nikolay Kim 77c09dc094 fix doc command 2017-06-15 09:14:46 -07:00
Nikolay Kim 3bed79fe0b add clippy and doc to travis 2017-06-15 09:11:19 -07:00
Nikolay Kim 26fccf6022 added proper PyString for py2 handling 2017-06-11 22:23:49 -07:00