-
Notifications
You must be signed in to change notification settings - Fork 616
Closed
Labels
Description
It's difficult to modify the release code because it's not run in the CI at each commit. We also sometimes have bugs that appear only in the wheel. My plan for fast feedback without making the tests too long:
at PR and commits on master:
- test for py35 on linux, macos, windows, test py37 for linux only (forward compatibility)
- produce the wheels after the tests (the cache is there, so ~10s)
- we group the wheels together (
upload-wheels
) - We add a IF statement at the action
pypa/gh-action-pypi-publish@master
to disable it. - We download the wheels in a fresh environements on windows/linux/max and install them, along with tensorflow, install them and run a simple
import tensorflow_addons
check (to check dependencies and python files are all there). - Also run a very short sanity check where a simple tensor is created and passed through a single activation function (test that a single
.so
is loaded correctly).
---> ~1-2 minutes longer than the current tests
At each release:
We do exactly the same but
- We also test for py36, py37 on linux, macos, windows
- We also run the action
pypa/gh-action-pypi-publish@master
.
---> a bit shorter than the current version because we create the wheels after the tests, when the cache is hot.
In practice, it means we have only 3 yaml files in github actions: the backport, the sanity checks and the "tests+releases+nighly" file.
This should remove a lot of code duplication too.