version: "3" tasks: server: cmds: - pkill --signal SIGKILL --echo --full 'uvicorn --factory --host 0.0.0.0 faster_whisper_server.main:create_app' || true - uvicorn --factory --host 0.0.0.0 faster_whisper_server.main:create_app {{.CLI_ARGS}} sources: - src/**/*.py test: cmds: - pytest -o log_cli=true -o log_cli_level=DEBUG {{.CLI_ARGS}} sources: - src/**/*.py build: cmds: - docker compose build sources: - Dockerfile.* - src/**/*.py create-multi-arch-builder: docker buildx create --name main --driver=docker-container docker-build: cmds: - docker compose build --builder main {{.CLI_ARGS}} sources: - Dockerfile.* - src/faster_whisper_server/*.py cii: cmds: - act --rm --action-offline-mode --secret-file .secrets {{.CLI_ARGS}} # Python's urllib3 takes forever when ipv6 is enabled # https://support.nordvpn.com/hc/en-us/articles/20164669224337-How-to-disable-IPv6-on-Linux disable-ipv6: sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1 && sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1 enable-ipv6: sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0 && sudo sysctl -w net.ipv6.conf.default.disable_ipv6=0 # NOTE: no longer used. Should be removed, but keeping for now. download-test-data: # Downlod audio files for testing into `tests/data` cmds: - huggingface-cli download --repo-type dataset 'google/fleurs' 'data/en_us/audio/dev.tar.gz' - cp $HOME/.cache/huggingface/hub/datasets--google--fleurs/snapshots/199e4ae37915137c555b1765c01477c216287d34/data/en_us/audio/dev.tar.gz . - tar xzf dev.tar.gz - rm dev.tar.gz - mkdir -p tests/data - mv dev/* tests/data - rm -r dev - ls tests/data/*.wav | parallel ffmpeg -y -hide_banner -i {} -ac 1 -ar 16000 -f s16le -acodec pcm_s16le {.}.raw - ls tests/data | grep -v '\.raw$' | xargs -I {} rm -rf tests/data/{}