Repository: tf-encrypted/tf-encrypted (language: python)

Issue:
Add ABY3 into default pip package
Currently the pip package only includes POND and SecureNN. 

To use ABY3, user has to build from source, which is not quite friendly.


Discussion / hints:

Fix patch:
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 833fac433..ddd325252 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -60,7 +60,7 @@ jobs:
 
   build:
     docker:
-      - image: tensorflow/tensorflow:custom-op-ubuntu16
+      - image: circleci/python:3.6
     working_directory: ~/repo
     steps:
       - setup_remote_docker
@@ -89,7 +89,7 @@ jobs:
 
   build-macos:
     macos:
-        xcode: "10.0.0"
+        xcode: "13.0.0"
     working_directory: ~/repo
     steps:
       - checkout
@@ -126,7 +126,7 @@ jobs:
 
   deploy-macos:
     macos:
-        xcode: "10.0.0"
+        xcode: "13.0.0"
     working_directory: ~/repo
     steps:
       - checkout
diff --git a/CHANGELOG.md b/CHANGELOG.md
index d8e497222..b148b9c3a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
 and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
 
 ## [Unreleased]
+**Fixed**
+
+- Fix a buggy CI workflow that fails to use cache in 'deploy' step (because of a different image from 'build step')
+- Remove skipping conditions in aby3 test
 
 ## [0.5.9]
 


Test patch:
diff --git a/tf_encrypted/operations/secure_random/secure_random_test.py b/tf_encrypted/operations/secure_random/secure_random_test.py
index 1797fab0b..2c43efbea 100644
--- a/tf_encrypted/operations/secure_random/secure_random_test.py
+++ b/tf_encrypted/operations/secure_random/secure_random_test.py
@@ -101,6 +101,12 @@ def test_rejection(self):
 
 @unittest.skipUnless(dontskip, disabled_msg)
 class TestRandomUniform(unittest.TestCase):
+    def setUp(self):
+        tf.reset_default_graph()
+
+    def tearDown(self):
+        tf.reset_default_graph()
+
     def test_wrapper(self):
         with tf.Session():
             output = secure_random.random_uniform([3, 3], maxval=10000).eval()
@@ -130,6 +136,7 @@ def test_invalid_args(self):
 @unittest.skipUnless(dontskip, disabled_msg)
 class TestSeed(unittest.TestCase):
     def test_seed_generation(self):
+        tf.reset_default_graph()
         with tf.Session():
             s = secure_random.secure_seed()
 
diff --git a/tf_encrypted/protocol/aby3/aby3_test.py b/tf_encrypted/protocol/aby3/aby3_test.py
index ad4af9e5a..ac721db2b 100644
--- a/tf_encrypted/protocol/aby3/aby3_test.py
+++ b/tf_encrypted/protocol/aby3/aby3_test.py
@@ -10,20 +10,12 @@
 import tensorflow as tf
 
 import tf_encrypted as tfe
-from tf_encrypted.operations.secure_random import secure_random
 from tf_encrypted.protocol.aby3 import ABY3
 from tf_encrypted.protocol.aby3 import ARITHMETIC
 from tf_encrypted.protocol.aby3 import BOOLEAN
 
 
-@unittest.skipIf(
-    secure_random.secure_random_module is None,
-    "Tests will be run in TestABY3InsecureRandomness",
-)
 class TestABY3(unittest.TestCase):
-    @classmethod
-    def setUpClass(cls):
-        print_banner("ABY3 Unit Tests with Secure Randomness")
 
     def test_add_private_private(self):
         tf.reset_default_graph()
@@ -1107,13 +1099,6 @@ def provide_input():
         os.remove(tmp_filename)
 
 
-class TestABY3InsecureRandomness(TestABY3):
-    @classmethod
-    def setUpClass(cls):
-        secure_random.secure_random_module = None
-        print_banner("ABY3 Unit Tests With Insecure Randomness")
-
-
 def print_banner(title):
     title_length = len(title)
     banner_length = title_length + 2 * 10