Addons: Add sanity check for addons

Created on 4 Mar 2019  ·  24Comments  ·  Source: tensorflow/addons

Since #63 has introduced sanity check for addons, can we add it for CI?
cc @av8ramit @karmel @seanpmorgan

command:

make sanity-check
# or
bash tools/ci_build/install/install_ci_dependency.sh --quiet
bash tools/ci_build/ci_sanity.sh --incremental
style

Most helpful comment

I didn't change anything. Might have just taken a few minutes.

All 24 comments

sanity check should always pass after #64 is merged into master.

This should be possible.

Ah, wait, modulo viewing results. @av8ramit -- for results to be public, does everything have to be run through Bazel currently? That is, we can't run arbitrary scripts like this directly?

I'll try and see if we can just invoke a script and just see the results that way.

Okay, so internally we now just invoke the script. So now you can modify and add whatever you'd like to the script and it will run in presubmit and continuous.

Yeah, it works well, but I prefer to keep them (sanity-check and unit-test) independent. What do you think? cc @karmel @seanpmorgan

Agree that it's significantly easier to review if we have a separate script ran for linting type errors. @av8ramit do you think it would be possible to run one additional script like addons_style.sh. We can then probably fit most other things we want ran into one of our existing shell scripts.

Do you want a separate job for the linting script? Or do you want that to run as part of CPU tests with Python2/3?

a separate job for the linting script

+1, yes. If possible, run it in the python 3 Linux CPU environment.

Friendly ping @av8ramit

I am working on this now; sorry for the delay. Should have it ready in the next couple of days.

These are now running, though failing: https://source.cloud.google.com/results/invocations/1b2b8286-1722-4c51-a05e-274bad80607b/targets/tensorflow_addons%2Fubuntu%2Fcpu%2Fsanity%2Fpresubmit/log

Looks like a unicode issue; @facaiy / @seanpmorgan can you take a look, and let me know if it's in the test or something we should fix in the test env?

Thanks, Karmel, I'll take a look later. By the way, it seems python 3.4?

@karmel I cannot reproduce it in the tensorflow/tensorflow:nightly-custom-op image:

root@e45e92485b69:/addons# git log -n 1
commit 3bf1b5fde8a2ba8b95f746ba01e8e14206a5bbfc
Author: Kapil Sachdeva <[email protected]>
Date:   Tue Mar 19 10:53:21 2019 -0500

    FIX - Use public keras API for custom_object decorator (#97)
root@e45e92485b69:/addons# python3 tools/test/check_futures_test.py
root@e45e92485b69:/addons# echo $?
0
root@e45e92485b69:/addons# python2 tools/test/check_futures_test.py
root@e45e92485b69:/addons# echo $?
0
root@e45e92485b69:/addons# python3 --version
Python 3.4.3
root@e45e92485b69:/addons# python2 --version
Python 2.7.6
root@e45e92485b69:/addons# uname -a
Linux e45e92485b69 4.9.125-linuxkit #1 SMP Fri Sep 7 08:20:28 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
root@e45e92485b69:/addons# cat /etc/os-release
NAME="Ubuntu"
VERSION="14.04.5 LTS, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04.5 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"

Could you print the path before opening it?

https://github.com/tensorflow/addons/blob/3bf1b5fde8a2ba8b95f746ba01e8e14206a5bbfc/tools/test/check_futures_test.py#L51

Gently ping @karmel @av8ramit

Sorry— I’m OOO, but will be able to take a look next week.

On Fri, Mar 22, 2019 at 6:39 AM Yan Facai (颜发才) notifications@github.com
wrote:

Gently ping @karmel https://github.com/karmel @av8ramit
https://github.com/av8ramit


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/addons/issues/68#issuecomment-475624334,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAowocIk0RMEzljMr369ecfMW7Q1R2x2ks5vZN0sgaJpZM4bbvI7
.

That's fine, please update the issue when new information becomes available :-)

Here is what I get. Do you want me to update to Python3.5?

=== Sanity check step 4 of 6:  do_check_futures_test (Check that python files have certain __future__ imports) ===

Traceback (most recent call last):
  File "check_futures_test.py", line 105, in <module>
    main()
  File "check_futures_test.py", line 101, in main
    raise AssertionError('\n'.join(error_msgs))
AssertionError: Error in tf/lib/python3.4/io.py: Missing futures: absolute_import division print_function
Error in tf/lib/python3.4/types.py: Missing futures: absolute_import division print_function

...

Error in tf/bin/activate_this.py: Missing futures: absolute_import division print_function

No, Amit, I don't think py3.5 can fix the problem. We expect that check_futures_test.py) only checks those python files of addons. It looks amazing that tf/bin/activate_this.py is in the addons directory?

Amit, do you know what is the location of the tf/lib directory? Is it in the tensorflow_addons?

@facaiy yeah I think that's it. I moved the virtualenv outside of the addons directory and it works now.

Thanks for the help!

@av8ramit Is there an issue with displaying the logs?

For example see this report:
https://source.cloud.google.com/results/invocations/bb8ac7a3-2ef6-487d-a221-e639f83cf410/targets

Coming from this PR:
https://github.com/tensorflow/addons/pull/102

EDIT: It's now showing up... If you didn't change anything I'll assume it just takes some time to upload or something

I didn't change anything. Might have just taken a few minutes.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

WindQAQ picture WindQAQ  ·  4Comments

iskorini picture iskorini  ·  4Comments

seanpmorgan picture seanpmorgan  ·  3Comments

ConnorBarnhill picture ConnorBarnhill  ·  3Comments

shun-lin picture shun-lin  ·  4Comments