GitLab CI preserva el entorno entre las etapas de construcción

Estoy trabajando en un proyecto de Python y estoy usandominiconda para gestionar mi entorno Estoy usando GitLab para CI con la siguiente configuración de corredor

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;}'

Supuse (incorrectamente) que mibuild etapa configuraría el entorno correcto en el que podría ejecutar mitest escenario. Mirando aesta pregunta yeste problema de GitLab veo que

cada trabajo definido en .gitlab-ci.yml se ejecuta como una compilación separada (donde suponemos que no hay historial)

Pero la alternativa de agrupar todo en una etapa no es atractiva

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;}'

La única otra opción que se me ocurre es colocar los pasos de creación del entorno en unantes_script etapa, pero parece redundante recrear continuamente el mismo entorno antes de cada etapa.

Respuestas a la pregunta(3)

Su respuesta a la pregunta