diff --git a/.github/workflows/test-extra.yml b/.github/workflows/test-extra.yml index 30c198af..84af1683 100644 --- a/.github/workflows/test-extra.yml +++ b/.github/workflows/test-extra.yml @@ -43,6 +43,34 @@ jobs: make -C backend/python/transformers make -C backend/python/transformers test + tests-sentencetransformers: + runs-on: ubuntu-latest + steps: + - name: Clone + uses: actions/checkout@v4 + with: + submodules: true + - name: Dependencies + run: | + sudo apt-get update + sudo apt-get install build-essential ffmpeg + curl https://repo.anaconda.com/pkgs/misc/gpgkeys/anaconda.asc | gpg --dearmor > conda.gpg && \ + sudo install -o root -g root -m 644 conda.gpg /usr/share/keyrings/conda-archive-keyring.gpg && \ + gpg --keyring /usr/share/keyrings/conda-archive-keyring.gpg --no-default-keyring --fingerprint 34161F5BF5EB1D4BFBBB8F0A8AEB4F8B29D82806 && \ + sudo /bin/bash -c 'echo "deb [arch=amd64 signed-by=/usr/share/keyrings/conda-archive-keyring.gpg] https://repo.anaconda.com/pkgs/misc/debrepo/conda stable main" > /etc/apt/sources.list.d/conda.list' && \ + sudo /bin/bash -c 'echo "deb [arch=amd64 signed-by=/usr/share/keyrings/conda-archive-keyring.gpg] https://repo.anaconda.com/pkgs/misc/debrepo/conda stable main" | tee -a /etc/apt/sources.list.d/conda.list' && \ + sudo apt-get update && \ + sudo apt-get install -y conda + sudo apt-get install -y ca-certificates cmake curl patch + sudo apt-get install -y libopencv-dev && sudo ln -s /usr/include/opencv4/opencv2 /usr/include/opencv2 + + sudo rm -rfv /usr/bin/conda || true + + - name: Test sentencetransformers + run: | + export PATH=$PATH:/opt/conda/bin + make -C backend/python/sentencetransformers + make -C backend/python/sentencetransformers test tests-diffusers: runs-on: ubuntu-latest @@ -74,4 +102,34 @@ jobs: make -C backend/python/diffusers test + tests-transformers-musicgen: + runs-on: ubuntu-latest + steps: + - name: Clone + uses: actions/checkout@v4 + with: + submodules: true + - name: Dependencies + run: | + sudo apt-get update + sudo apt-get install build-essential ffmpeg + curl https://repo.anaconda.com/pkgs/misc/gpgkeys/anaconda.asc | gpg --dearmor > conda.gpg && \ + sudo install -o root -g root -m 644 conda.gpg /usr/share/keyrings/conda-archive-keyring.gpg && \ + gpg --keyring /usr/share/keyrings/conda-archive-keyring.gpg --no-default-keyring --fingerprint 34161F5BF5EB1D4BFBBB8F0A8AEB4F8B29D82806 && \ + sudo /bin/bash -c 'echo "deb [arch=amd64 signed-by=/usr/share/keyrings/conda-archive-keyring.gpg] https://repo.anaconda.com/pkgs/misc/debrepo/conda stable main" > /etc/apt/sources.list.d/conda.list' && \ + sudo /bin/bash -c 'echo "deb [arch=amd64 signed-by=/usr/share/keyrings/conda-archive-keyring.gpg] https://repo.anaconda.com/pkgs/misc/debrepo/conda stable main" | tee -a /etc/apt/sources.list.d/conda.list' && \ + sudo apt-get update && \ + sudo apt-get install -y conda + sudo apt-get install -y ca-certificates cmake curl patch + sudo apt-get install -y libopencv-dev && sudo ln -s /usr/include/opencv4/opencv2 /usr/include/opencv2 + + sudo rm -rfv /usr/bin/conda || true + + - name: Test transformers-musicgen + run: | + export PATH=$PATH:/opt/conda/bin + make -C backend/python/transformers-musicgen + make -C backend/python/transformers-musicgen test + + \ No newline at end of file diff --git a/backend/python/sentencetransformers/test_sentencetransformers.py b/backend/python/sentencetransformers/test_sentencetransformers.py index 4790ae74..45ba1e5c 100644 --- a/backend/python/sentencetransformers/test_sentencetransformers.py +++ b/backend/python/sentencetransformers/test_sentencetransformers.py @@ -19,6 +19,7 @@ class TestBackendServicer(unittest.TestCase): This method sets up the gRPC service by starting the server """ self.service = subprocess.Popen(["python3", "sentencetransformers.py", "--addr", "localhost:50051"]) + time.sleep(10) def tearDown(self) -> None: """ @@ -31,7 +32,6 @@ class TestBackendServicer(unittest.TestCase): """ This method tests if the server starts up successfully """ - time.sleep(2) try: self.setUp() with grpc.insecure_channel("localhost:50051") as channel: diff --git a/backend/python/transformers-musicgen/run.sh b/backend/python/transformers-musicgen/run.sh index ddd78bc7..d3dcb968 100644 --- a/backend/python/transformers-musicgen/run.sh +++ b/backend/python/transformers-musicgen/run.sh @@ -5,10 +5,10 @@ echo "Launching gRPC server for transformers-musicgen" +export PATH=$PATH:/opt/conda/bin # Activate conda environment -source $CONDA_PREFIX/etc/profile.d/conda.sh -conda activate transformers-musicgen +source activate transformers-musicgen # get the directory where the bash script is located DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" diff --git a/backend/python/transformers-musicgen/test.sh b/backend/python/transformers-musicgen/test.sh index ab2f2e3e..985ebcec 100644 --- a/backend/python/transformers-musicgen/test.sh +++ b/backend/python/transformers-musicgen/test.sh @@ -3,9 +3,9 @@ ## A bash script wrapper that runs the transformers server with conda # Activate conda environment -source conda activate transformers-musicgen +source activate transformers-musicgen # get the directory where the bash script is located DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" -python -m unittest $DIR/test_transformers_server.py \ No newline at end of file +python -m unittest $DIR/test_transformers.py \ No newline at end of file diff --git a/backend/python/transformers-musicgen/test_transformers.py b/backend/python/transformers-musicgen/test_transformers.py index c0279fcb..46daafbe 100644 --- a/backend/python/transformers-musicgen/test_transformers.py +++ b/backend/python/transformers-musicgen/test_transformers.py @@ -19,6 +19,7 @@ class TestBackendServicer(unittest.TestCase): This method sets up the gRPC service by starting the server """ self.service = subprocess.Popen(["python3", "transformers_server.py", "--addr", "localhost:50051"]) + time.sleep(10) def tearDown(self) -> None: """ @@ -31,7 +32,6 @@ class TestBackendServicer(unittest.TestCase): """ This method tests if the server starts up successfully """ - time.sleep(2) try: self.setUp() with grpc.insecure_channel("localhost:50051") as channel: @@ -71,7 +71,7 @@ class TestBackendServicer(unittest.TestCase): stub = backend_pb2_grpc.BackendStub(channel) response = stub.LoadModel(backend_pb2.ModelOptions(Model="facebook/musicgen-small")) self.assertTrue(response.success) - tts_request = backend_pb2.TTSRequest(Model="facebook/musicgen-small", Input="80s TV news production music hit for tonight's biggest story") + tts_request = backend_pb2.TTSRequest(text="80s TV news production music hit for tonight's biggest story") tts_response = stub.TTS(tts_request) self.assertIsNotNone(tts_response) except Exception as err: