From b3f5085d5c30150f532b7a58362ee22e432149df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Voituret?= Date: Tue, 19 Nov 2019 11:50:57 +0100 Subject: [PATCH] feat: add docker workflow --- .circleci/config.yml | 211 +++++++++++++++++- ...ems.dockerfile => conda-2stems.dockerfile} | 0 ...ems.dockerfile => conda-4stems.dockerfile} | 0 ...ems.dockerfile => conda-5stems.dockerfile} | 0 docker/cpu/conda.dockerfile | 7 +- 5 files changed, 210 insertions(+), 8 deletions(-) rename docker/cpu/{conda-2-stems.dockerfile => conda-2stems.dockerfile} (100%) rename docker/cpu/{conda-4-stems.dockerfile => conda-4stems.dockerfile} (100%) rename docker/cpu/{conda-5-stems.dockerfile => conda-5stems.dockerfile} (100%) diff --git a/.circleci/config.yml b/.circleci/config.yml index 0cab9bd..0443970 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -79,7 +79,6 @@ jobs: # - master => production PyPi # - other => testing PyPi command: make deploy - # ======================================================================================= # Conda distribution. # ======================================================================================= @@ -93,9 +92,128 @@ jobs: - run: name: checkout feedstock command: make feedstock + # ======================================================================================= + # Docker build. + # ======================================================================================= + docker-conda-cpu: + docker: + - image: docker:17.05.0-ce-git + steps: + - setup_remote_docker: + docker_layer_caching: true + - run: + name: build image + command: docker build -t spleeter:conda -f docker/cpu/conda.dockerfile . + docker-conda-cpu-2stems: + docker: + - image: docker:17.05.0-ce-git + steps: + - setup_remote_docker: + docker_layer_caching: true + - run: + name: build image + command: docker build -t spleeter:2-stems-conda -f docker/cpu/conda-2stems.dockerfile . + docker-conda-cpu-4stems: + docker: + - image: docker:17.05.0-ce-git + steps: + - setup_remote_docker: + docker_layer_caching: true + - run: + name: build image + command: docker build -t spleeter:4-stems-conda -f docker/cpu/conda-4stems.dockerfile . + docker-conda-cpu-5stems: + docker: + - image: docker:17.05.0-ce-git + steps: + - setup_remote_docker: + docker_layer_caching: true + - run: + name: build image + command: docker build -t spleeter:5-stems-conda -f docker/cpu/conda-5stems.dockerfile . + docker-3.6-cpu: + docker: + - image: docker:17.05.0-ce-git + steps: + - setup_remote_docker: + docker_layer_caching: true + - run: + name: build image + command: docker build -t spleeter:3.6 -f docker/cpu/python-3.6.dockerfile . + docker-3.6-cpu-2stems: + docker: + - image: docker:17.05.0-ce-git + steps: + - setup_remote_docker: + docker_layer_caching: true + - run: + name: build image + command: docker build -t spleeter:3.6 -f docker/cpu/python-3.6-2stems.dockerfile . + docker-3.6-cpu-4stems: + docker: + - image: docker:17.05.0-ce-git + steps: + - setup_remote_docker: + docker_layer_caching: true + - run: + name: build image + command: docker build -t spleeter:3.6 -f docker/cpu/python-3.6-4stems.dockerfile . + docker-3.6-cpu-5stems: + docker: + - image: docker:17.05.0-ce-git + steps: + - setup_remote_docker: + docker_layer_caching: true + - run: + name: build image + command: docker build -t spleeter:3.6 -f docker/cpu/python-3.6-5stems.dockerfile . + docker-3.7-cpu: + docker: + - image: docker:17.05.0-ce-git + steps: + - setup_remote_docker: + docker_layer_caching: true + - run: + name: build image + command: docker build -t spleeter:3.6 -f docker/cpu/python-3.7.dockerfile . + docker-3.7-cpu-2stems: + docker: + - image: docker:17.05.0-ce-git + steps: + - setup_remote_docker: + docker_layer_caching: true + - run: + name: build image + command: docker build -t spleeter:3.6 -f docker/cpu/python-3.7-2stems.dockerfile . + docker-3.7-cpu-4stems: + docker: + - image: docker:17.05.0-ce-git + steps: + - setup_remote_docker: + docker_layer_caching: true + - run: + name: build image + command: docker build -t spleeter:3.6 -f docker/cpu/python-3.7-4stems.dockerfile . + docker-3.7-cpu-5stems: + docker: + - image: docker:17.05.0-ce-git + steps: + - setup_remote_docker: + docker_layer_caching: true + - run: + name: build image + command: docker build -t spleeter:3.6 -f docker/cpu/python-3.7-5stems.dockerfile . workflows: version: 2 - spleeter-workflow: + development-workflow: + jobs: + - test-3.6 + - test-3.7 + - sdist: + requires: + - test-3.6 + - test-3.7 + release-workflow: jobs: - test-3.6 - test-3.7 @@ -117,3 +235,92 @@ workflows: - master requires: - pypi-deploy + - hold: + type: approval + requires: + - pypi-deploy + - conda-forge-deploy + - docker-conda-cpu: + requires: + - hold + filters: + branches: + only: + - master + - docker-conda-cpu-2stems: + requires: + - docker-conda-cpu + filters: + branches: + only: + - master + - docker-conda-cpu-4stems: + requires: + - docker-conda-cpu + filters: + branches: + only: + - master + - docker-conda-cpu-5stems: + requires: + - docker-conda-cpu + filters: + branches: + only: + - master + - docker-3.6-cpu: + requires: + - hold + filters: + branches: + only: + - master + - docker-3.6-cpu-2stems: + requires: + - docker-3.6-cpu + filters: + branches: + only: + - master + - docker-3.6-cpu-4stems: + requires: + - docker-3.6-cpu + filters: + branches: + only: + - master + - docker-3.6-cpu-5stems: + requires: + - docker-3.6-cpu + filters: + branches: + only: + - master + - docker-3.7-cpu: + requires: + - hold + filters: + branches: + only: + - master + - docker-3.7-cpu-2stems: + requires: + - docker-3.7-cpu + filters: + branches: + only: + - master + - docker-3.7-cpu-4stems: + requires: + - docker-3.7-cpu + filters: + branches: + only: + - master + - docker-3.7-cpu-5stems: + requires: + - docker-3.7-cpu + filters: + branches: + only: + - master \ No newline at end of file diff --git a/docker/cpu/conda-2-stems.dockerfile b/docker/cpu/conda-2stems.dockerfile similarity index 100% rename from docker/cpu/conda-2-stems.dockerfile rename to docker/cpu/conda-2stems.dockerfile diff --git a/docker/cpu/conda-4-stems.dockerfile b/docker/cpu/conda-4stems.dockerfile similarity index 100% rename from docker/cpu/conda-4-stems.dockerfile rename to docker/cpu/conda-4stems.dockerfile diff --git a/docker/cpu/conda-5-stems.dockerfile b/docker/cpu/conda-5stems.dockerfile similarity index 100% rename from docker/cpu/conda-5-stems.dockerfile rename to docker/cpu/conda-5stems.dockerfile diff --git a/docker/cpu/conda.dockerfile b/docker/cpu/conda.dockerfile index a9b9d45..133273a 100644 --- a/docker/cpu/conda.dockerfile +++ b/docker/cpu/conda.dockerfile @@ -1,12 +1,7 @@ FROM continuumio/miniconda3:4.7.10 -RUN conda install -y ipython \ - && conda install -y tensorflow==1.14.0 \ - && conda install -y -c conda-forge ffmpeg \ - && conda install -y -c conda-forge libsndfile \ - && conda install -y -c anaconda pandas==0.25.1 \ +RUN conda install -y -c conda-forge spleeter RUN mkdir -p /model ENV MODEL_PATH /model -RUN pip install spleeter ENTRYPOINT ["spleeter"] \ No newline at end of file