diff --git a/.github/workflows/python-api-k2-cd.yaml b/.github/workflows/python-api-k2-cd.yaml new file mode 100644 index 00000000..d6b39246 --- /dev/null +++ b/.github/workflows/python-api-k2-cd.yaml @@ -0,0 +1,42 @@ +name: k2-docker-cd +on: + push: + branches: + - main + paths: + - "docker_images/k2/**" +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: "3.8" + - name: Checkout + uses: actions/checkout@v2 + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - name: Install dependencies + run: | + pip install --upgrade pip + pip install awscli + - name: Update upstream + env: + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }} + DEFAULT_HOSTNAME: ${{ secrets.DEFAULT_HOSTNAME }} + run: | + python build_docker.py k2 --out out.txt + - name: Deploy on API + run: | + # Load the tags into the env + cat out.txt >> $GITHUB_ENV + export $(xargs < out.txt) + echo ${K2_CPU_TAG} + # Weird single quote escape mechanism because string interpolation does + # not work on single quote in bash + curl -H "Authorization: Bearer ${{ secrets.API_GITHUB_TOKEN }}" https://api.github.com/repos/huggingface/api-inference/actions/workflows/update_community.yaml/dispatches -d '{"ref":"main","inputs":{"framework":"K2","tag": "'"${K2_CPU_TAG}"'"}}' diff --git a/.github/workflows/python-api-sherpa.yaml b/.github/workflows/python-api-k2.yaml similarity index 88% rename from .github/workflows/python-api-sherpa.yaml rename to .github/workflows/python-api-k2.yaml index 37e185e5..cabab9a2 100644 --- a/.github/workflows/python-api-sherpa.yaml +++ b/.github/workflows/python-api-k2.yaml @@ -1,10 +1,10 @@ # TODO: Merge this with allenNLP to have a single workflow for all docker images. -name: k2-sherpa-docker +name: k2-docker on: pull_request: paths: - - "docker_images/k2_sherpa/**" + - "docker_images/k2/**" jobs: build: runs-on: ubuntu-latest @@ -24,4 +24,4 @@ jobs: pip install --upgrade pip pip install pytest pillow httpx pip install -e . - - run: RUN_DOCKER_TESTS=1 pytest -sv tests/test_dockers.py::DockerImageTests::test_k2_sherpa + - run: RUN_DOCKER_TESTS=1 pytest -sv tests/test_dockers.py::DockerImageTests::test_k2 diff --git a/docker_images/k2_sherpa/Dockerfile b/docker_images/k2/Dockerfile similarity index 90% rename from docker_images/k2_sherpa/Dockerfile rename to docker_images/k2/Dockerfile index 9ed2206a..6ea4ada7 100644 --- a/docker_images/k2_sherpa/Dockerfile +++ b/docker_images/k2/Dockerfile @@ -8,7 +8,7 @@ COPY ./requirements.txt /app RUN pip install --no-cache-dir torch==1.11.0+cpu torchvision==0.12.0+cpu torchaudio==0.11.0 --extra-index-url https://download.pytorch.org/whl/cpu RUN pip install --no-cache-dir -r requirements.txt RUN pip install --no-cache-dir k2==1.17.dev20220719+cpu.torch1.11.0 -f https://k2-fsa.org/nightly/whl/ -RUN git clone --single-branch --depth 1 https://github.com/k2-fsa/sherpa && cd sherpa && pip install -r ./requirements.txt && python3 setup.py install --verbose +RUN git clone https://github.com/k2-fsa/sherpa && cd sherpa && git checkout v0.6 && pip install -r ./requirements.txt && python3 setup.py install --verbose COPY ./prestart.sh /app/ diff --git a/docker_images/k2_sherpa/app/__init__.py b/docker_images/k2/app/__init__.py similarity index 100% rename from docker_images/k2_sherpa/app/__init__.py rename to docker_images/k2/app/__init__.py diff --git a/docker_images/k2_sherpa/app/common.py b/docker_images/k2/app/common.py similarity index 100% rename from docker_images/k2_sherpa/app/common.py rename to docker_images/k2/app/common.py diff --git a/docker_images/k2_sherpa/app/decode.py b/docker_images/k2/app/decode.py similarity index 100% rename from docker_images/k2_sherpa/app/decode.py rename to docker_images/k2/app/decode.py diff --git a/docker_images/k2_sherpa/app/main.py b/docker_images/k2/app/main.py similarity index 100% rename from docker_images/k2_sherpa/app/main.py rename to docker_images/k2/app/main.py diff --git a/docker_images/k2_sherpa/app/pipelines/__init__.py b/docker_images/k2/app/pipelines/__init__.py similarity index 100% rename from docker_images/k2_sherpa/app/pipelines/__init__.py rename to docker_images/k2/app/pipelines/__init__.py diff --git a/docker_images/k2_sherpa/app/pipelines/automatic_speech_recognition.py b/docker_images/k2/app/pipelines/automatic_speech_recognition.py similarity index 100% rename from docker_images/k2_sherpa/app/pipelines/automatic_speech_recognition.py rename to docker_images/k2/app/pipelines/automatic_speech_recognition.py diff --git a/docker_images/k2_sherpa/app/pipelines/base.py b/docker_images/k2/app/pipelines/base.py similarity index 100% rename from docker_images/k2_sherpa/app/pipelines/base.py rename to docker_images/k2/app/pipelines/base.py diff --git a/docker_images/k2_sherpa/prestart.sh b/docker_images/k2/prestart.sh similarity index 100% rename from docker_images/k2_sherpa/prestart.sh rename to docker_images/k2/prestart.sh diff --git a/docker_images/k2_sherpa/requirements.txt b/docker_images/k2/requirements.txt similarity index 100% rename from docker_images/k2_sherpa/requirements.txt rename to docker_images/k2/requirements.txt diff --git a/docker_images/k2_sherpa/tests/__init__.py b/docker_images/k2/tests/__init__.py similarity index 100% rename from docker_images/k2_sherpa/tests/__init__.py rename to docker_images/k2/tests/__init__.py diff --git a/docker_images/k2_sherpa/tests/samples/malformed.flac b/docker_images/k2/tests/samples/malformed.flac similarity index 100% rename from docker_images/k2_sherpa/tests/samples/malformed.flac rename to docker_images/k2/tests/samples/malformed.flac diff --git a/docker_images/k2_sherpa/tests/samples/sample1.flac b/docker_images/k2/tests/samples/sample1.flac similarity index 100% rename from docker_images/k2_sherpa/tests/samples/sample1.flac rename to docker_images/k2/tests/samples/sample1.flac diff --git a/docker_images/k2_sherpa/tests/samples/sample1.webm b/docker_images/k2/tests/samples/sample1.webm similarity index 100% rename from docker_images/k2_sherpa/tests/samples/sample1.webm rename to docker_images/k2/tests/samples/sample1.webm diff --git a/docker_images/k2_sherpa/tests/samples/sample1_dual.ogg b/docker_images/k2/tests/samples/sample1_dual.ogg similarity index 100% rename from docker_images/k2_sherpa/tests/samples/sample1_dual.ogg rename to docker_images/k2/tests/samples/sample1_dual.ogg diff --git a/docker_images/k2_sherpa/tests/test_api.py b/docker_images/k2/tests/test_api.py similarity index 100% rename from docker_images/k2_sherpa/tests/test_api.py rename to docker_images/k2/tests/test_api.py diff --git a/docker_images/k2_sherpa/tests/test_api_automatic_speech_recognition.py b/docker_images/k2/tests/test_api_automatic_speech_recognition.py similarity index 100% rename from docker_images/k2_sherpa/tests/test_api_automatic_speech_recognition.py rename to docker_images/k2/tests/test_api_automatic_speech_recognition.py diff --git a/docker_images/k2_sherpa/tests/test_docker_build.py b/docker_images/k2/tests/test_docker_build.py similarity index 100% rename from docker_images/k2_sherpa/tests/test_docker_build.py rename to docker_images/k2/tests/test_docker_build.py diff --git a/tests/test_dockers.py b/tests/test_dockers.py index 2ac43f17..320b579f 100644 --- a/tests/test_dockers.py +++ b/tests/test_dockers.py @@ -201,9 +201,9 @@ def test_sklearn(self): timeout=600, ) - def test_k2_sherpa(self): + def test_k2(self): self.framework_docker_test( - "k2_sherpa", + "k2", "automatic-speech-recognition", "csukuangfj/icefall-asr-librispeech-pruned-transducer-stateless3-2022-05-13", )