GitLab CI сохраняет среду между этапами сборки

Я работаю над проектом Python и используюminiconda управлять моей средой. Я использую GitLab для CI со следующей конфигурацией бегуна

stages:
  - build
  - test 

build:
  stage: build
  script:
    - if hash $HOME/miniconda/bin/conda 2>/dev/null; 
      then
         export PATH="$HOME/miniconda/bin:$PATH";
      else
        wget http://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh -O miniconda.sh;
        bash miniconda.sh -b -p $HOME/miniconda;
        export PATH="$HOME/miniconda/bin:$PATH";
      fi
    - conda update --yes conda

test:
  stage: test
  script:
    - conda env create --quiet --force --file environment.yml
    - source activate myenv
    - nosetests --with-coverage --cover-erase --cover-package=mypackage --cover-html
    - pylint --reports=n tests/test_final.py
    - pep8 tests/test_final.py
    - grep pc_cov cover/index.html | egrep -o "[0-9]+\%" | awk '{ print "covered " $1;}'

Я предположил (неправильно), что мойbuild этап установит правильную среду, в которой я мог бы запустить свойtest этап. Смотря наэтот вопрос а такжеэтот вопрос GitLab я вижу это

каждое задание, определенное в .gitlab-ci.yml, запускается как отдельная сборка (где мы предполагаем, что истории нет)

Но альтернатива объединить все в одну стадию не привлекательна

stages:
  - test 

test:
  stage: test
  script:
    - if hash $HOME/miniconda/bin/conda 2>/dev/null; 
      then
         export PATH="$HOME/miniconda/bin:$PATH";
      else
        wget http://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh -O miniconda.sh;
        bash miniconda.sh -b -p $HOME/miniconda;
        export PATH="$HOME/miniconda/bin:$PATH";
      fi
    - conda update --yes conda
    - conda env create --quiet --force --file environment.yml
    - source activate myenv
    - nosetests --with-coverage --cover-erase --cover-package=mypackage --cover-html
    - pylint --reports=n tests/test_final.py
    - pep8 tests/test_final.py
    - grep pc_cov cover/index.html | egrep -o "[0-9]+\%" | awk '{ print "covered " $1;}'

Единственный другой вариант, который я могу придумать, - это поместить шаги создания среды вbefore_script этап, но кажется избыточным постоянно воссоздавать ту же среду перед каждым этапом.

Ответы на вопрос(3)

Ваш ответ на вопрос