forked from deepfakes/faceswap
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
102 lines (93 loc) · 3.63 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# Adapted from https://github.com/kangwonlee/travis-yml-conda-posix-nt/blob/master/.travis.yml
language: shell
env:
global:
- CONDA_PYTHON=3.8
- CONDA_BLD_PATH=${HOME}/conda-bld
os:
- linux
# - windows
# - osx
cache:
# More time is needed for caching due to the sheer size of the conda env.
timeout: 1000
directories:
- ${HOME}/cache
before_cache:
# adapted from https://github.com/theochem/cgrid/blob/master/.travis.yml
- echo "Cleaning stuff in miniconda path. (${MINICONDA_PATH})"
- ls -la ${MINICONDA_PATH}
- rm -rf ${MINICONDA_PATH}/conda-bld
- rm -rf ${MINICONDA_PATH}/locks
- rm -rf ${MINICONDA_PATH}/pkgs
- rm -rf ${MINICONDA_PATH}/var
- rm -rf ${MINICONDA_PATH}/envs/*/conda-bld
- rm -rf ${MINICONDA_PATH}/envs/*/locks
- rm -rf ${MINICONDA_PATH}/envs/*/pkgs
- rm -rf ${MINICONDA_PATH}/envs/*/var
- ls -la ${MINICONDA_PATH}
- echo "Cleaning test results"
- rm -rf ${HOME}/cache/tests/*/faces
- rm -rf ${HOME}/cache/tests/*/conv
- rm -rf ${HOME}/cache/tests/*/*.json
- rm -rf ${HOME}/cache/tests/vid/faces_sorted
- rm -rf ${HOME}/cache/tests/vid/model
before_install:
# set conda path info
- |
if [[ "$TRAVIS_OS_NAME" != "windows" ]]; then
MINICONDA_PATH=${HOME}/cache/miniconda;
MINICONDA_SUB_PATH=$MINICONDA_PATH/bin;
elif [[ "$TRAVIS_OS_NAME" == "windows" ]]; then
MINICONDA_PATH=${HOME}/cache/miniconda3/;
MINICONDA_PATH_WIN=`cygpath --windows $MINICONDA_PATH`;
MINICONDA_SUB_PATH=$MINICONDA_PATH/Scripts;
fi;
# obtain miniconda installer
- |
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh;
# Not used at the moment, but in case we want to also run test on osx, we can.
elif [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
wget https://repo.continuum.io/miniconda/Miniconda3-latest-MacOSX-x86_64.sh -O miniconda.sh;
fi;
install:
# install miniconda
# pip and conda will also need OpenSSL for Windows
- |
if test -e "$MINICONDA_PATH"; then
echo "Conda already installed";
else
echo "Installing conda";
if [[ "$TRAVIS_OS_NAME" != "windows" ]]; then
bash miniconda.sh -b -p $MINICONDA_PATH;
elif [[ "$TRAVIS_OS_NAME" == "windows" ]]; then
choco install openssl.light;
choco install miniconda3 --params="'/AddToPath:1 /D:$MINICONDA_PATH_WIN'";
fi;
fi;
- export PATH="$MINICONDA_PATH:$MINICONDA_SUB_PATH:$PATH";
# for conda version 4.4 or later
- source $MINICONDA_PATH/etc/profile.d/conda.sh;
- hash -r;
- conda config --set always_yes yes --set changeps1 no;
- conda update -q conda;
# Useful for debugging any issues with conda
- conda info -a
- echo "Python $CONDA_PYTHON running on $TRAVIS_OS_NAME";
# Only create the environment if we don't have it already
- conda env list | grep faceswap || conda create -q --name faceswap python=$CONDA_PYTHON;
- conda activate faceswap;
- conda --version ; python --version ; pip --version;
# We set up for plaidML as we can then use both the plaidML and Tensorflow backends for testing
- python setup.py --installer --amd;
- conda install pytest;
# For debugging purposes
- df -h
script:
- rm -f ~/.plaidml;
- echo "{\"PLAIDML_DEVICE_IDS\":[\"llvm_cpu.0\"],\"PLAIDML_EXPERIMENTAL\":true}" > ~/.plaidml;
- FACESWAP_BACKEND="amd" KERAS_BACKEND="plaidml.keras.backend" PYTHONPATH=$PWD:$PYTHONPATH py.test -v tests/;
- rm -f ~/.plaidml;
- FACESWAP_BACKEND="cpu" KERAS_BACKEND="tensorflow" PYTHONPATH=$PWD:$PYTHONPATH py.test -v tests/;
- FACESWAP_BACKEND="cpu" KERAS_BACKEND="tensorflow" python _travis/simple_tests.py;