Skip to content

Added first testing workflow #7

Added first testing workflow

Added first testing workflow #7

on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
run-script:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Simulate failed test
run: |
echo "Conversion failed: something went wrong" > output.log
if grep -q "Conversion failed" output.log; then
echo "conversion_failed=true" >> $GITHUB_ENV
else
echo "conversion_failed=false" >> $GITHUB_ENV
exit 1
fi
- name: Set up Python 3.12
uses: actions/setup-python@v4
with:
python-version: '3.12'
- name: Check Python version
run: python --version
- name: Install the system packages
run: |
sudo apt-get update &&
sudo apt-get install -y wget git calibre ffmpeg libmecab-dev mecab mecab-ipadic-utf8 curl &&
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo bash - &&
sudo apt-get install -y nodejs &&
sudo apt-get clean &&
sudo rm -rf /var/lib/apt/lists/*
- name: Install the python requirements
run: pip install -r requirements.txt
- name: pip Install unict
run: pip install unidic
- name: Download the unict dictionary
run: python -m unidic download
- name: Help command
run: ./ebook2audiobook.sh --help
- name: Create test files
run: |
mkdir workflow-testing
echo "This is test sentence 1." > workflow-testing/test1.txt
echo "This is test sentence 2." > workflow-testing/test2.txt
echo "This is test sentence 3." > workflow-testing/test3.txt
echo "This is test sentence 4." > workflow-testing/test4.txt
echo "This is test sentence 5." > workflow-testing/test5.txt
- name: Default headless single test
run: ./ebook2audiobook.sh --headless --ebook "workflow-testing/test1.txt"
- name: Default headless batch test
run: ./ebook2audiobook.sh --headless --ebooks_dir "workflow-testing"
- name: Default headless Custom-Voice single test
run: ./ebook2audiobook.sh --headless --ebook "workflow-testing/test1.txt" --voice "voices/eng/elder/male/DavidAttenborough_16000.wav"
- name: Default headless Custom-Voice batch test
run: ./ebook2audiobook.sh --headless --ebooks_dir "workflow-testing" --voice "voices/eng/elder/male/DavidAttenborough_16000.wav"
- name: English Fairseq headless single test
run: ./ebook2audiobook.sh --headless --language "eng" --ebook "workflow-testing/test1.txt"
- name: English Fairseq headless batch test
run: ./ebook2audiobook.sh --headless --language "eng" --ebooks_dir "workflow-testing"
- name: English Fairseq Custom-Voice headless single test
run: ./ebook2audiobook.sh --headless --language "eng" --ebook "workflow-testing/test1.txt" --voice "voices/eng/elder/male/DavidAttenborough_16000.wav"
- name: English Fairseq Custom-Voice headless batch test
run: ./ebook2audiobook.sh --headless --language "eng" --ebooks_dir "workflow-testing" --voice "voices/eng/elder/male/DavidAttenborough_16000.wav"
- name: Unusual Fairseq headless single test
run: ./ebook2audiobook.sh --headless --language "urd-script_devanagari" --ebook "workflow-testing/test1.txt"
- name: Unusual Fairseq headless batch test
run: ./ebook2audiobook.sh --headless --language "urd-script_devanagari" --ebooks_dir "workflow-testing"
- name: Unusual Fairseq Custom-Voice headless single test
run: ./ebook2audiobook.sh --headless --language "urd-script_devanagari" --ebook "workflow-testing/test1.txt" --voice "voices/eng/elder/male/DavidAttenborough_16000.wav"
- name: Unusual Fairseq Custom-Voice headless batch test
run: ./ebook2audiobook.sh --headless --language "urd-script_devanagari" --ebooks_dir "workflow-testing" --voice "voices/eng/elder/male/DavidAttenborough_16000.wav"