-
-
Notifications
You must be signed in to change notification settings - Fork 138
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
Fixing CI #363
Fixing CI #363
Conversation
- Ran black black-nb mypy - Removed python 3.5 - Fixed issue with MacOS Build using --features=-supports_dynamic_linker - Updated Google DP to the latest commit - Renamed Bazel target from bindings_test to pydp - Updated pyproject.toml - Fixed com_google_protobuf issue in WORKSPACE - Disabled docker build on every commit / push
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
- Ran pre-commit to fix lots of code issues - Removed unused # type: ignore - Updated setup.cfg with isort, mypy and flake8 rules - Ran isort - Disabled notebook tests - Fixed matrix.os template variable in tests.yml
- Fix mypy issues with missing typeshed - Fixing tests.yml
- Fixing issue with converting matrix.os to bazel config name
- Fixing install wheel on windows - Fixing print version
Does this also solve #358 ? |
Kind of. So it will build and install in CI, but really we should make sure that the wheel it creates can also install on any version of MacOS. There might be some extra tricks to making that happen, and we will likely need to add a second entry to the matrix to be sure:
|
I also think this should be done a different way: But before refactoring it would be good to get a clear understanding of the goal? I would highly suggest running linting and checks before committing in pre-commit and then again in the linting step of CI, but currently the pre-commit checks aren't all passing because there are a lot of flake8 issues. Try this:
However, I think they should be handled as a seperate set of tasks so for now the key is just to get the tests passing and the build working so that we can do a Python 3.9 release. Once these are passing for 3.9 I can add a nightly build to run the older versions like 3.6, 3.7 and 3.8 every night, and a simple file which can be used to trigger them manually by doing something like this:
|
I only investigated This test: PyDP/tests/algorithms/test_bounded_mean.py Lines 69 to 73 in c387752
means if you compute a dp mean of many many many fives, the result should be close to five. Apparently for performance reasons, instead of building big lists of fives, an attempt is made here to load data: PyDP/tests/algorithms/test_bounded_mean.py Lines 49 to 62 in c387752
from here:
This file looks a little different when something useful is serialized here. Currently instead of having many many fives, BoundedMean probably gets nothing and produces random results between lower and upper bounds. This test passes after data file is deleted but it takes almost 2 minutes on my machine.
x = BoundedMean(1.0, 0, 0, 10, dtype="int64")
# lower_bound same as upper_bound:
x = BoundedMean(epsilon=1.0, lower_bound=0, upper_bound=0, l0_sensitivity=10, dtype="int64")
PyDP/tests/algorithms/test_bounded_mean.py Lines 77 to 78 in c387752
I may have ideas/comments tomorrow. |
(edit: this was from missing some dev changes) PyDP/tests/algorithms/test_bounded_variance.py Lines 6 to 11 in c387752
BoundedVariance(epsilon, delta, lower_bound, upper_bound, dtype="float")
BoundedVariance(epsilon=epsilon, lower_bound=delta, upper_bound=lower_bound, l0_sensitivity=upper_bound, dtype="float")
|
- Combined publish actions into a single github action - Added nightly tests for older versions of python - Updated some package meta-data - Bumped version to 1.0.3 - Added poetry.lock file to speed up CI
- Trying Windows Bash tunshell
- Time to test Windows cache retrieval
tests/algorithms/test_bounded_mean/test_bounded_mean_int64_data.proto
Outdated
Show resolved
Hide resolved
- Use dp submodule SHA
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! can you remove the tunnel ssh?
Versions less than 3.9 are now building correctly and all tests are passing: https://github.com/OpenMined/PyDP/actions/runs/875497191 |
Description
Fixing CI.
Affected Dependencies
None
How has this been tested?
Locally and with CI.
Checklist