Run tests for Meaningless #175
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Run tests for Meaningless | |
on: | |
workflow_dispatch: | |
inputs: | |
run_system_tests: | |
description: 'Run system tests' | |
required: true | |
default: 'true' | |
schedule: | |
# Every Sunday at 1:45PM UTC | |
- cron: '45 13 * * 0' | |
jobs: | |
Run-Tests: | |
runs-on: ${{ matrix.os }} | |
continue-on-error: true | |
strategy: | |
matrix: | |
# Omit macos-latest due to its high cost to run in GitHub Actions. | |
# Note that we can also test specific OS versions, e.g. windows-2016 | |
os: [ubuntu-latest, windows-latest] | |
python-version: ['3.9', '3.10', '3.11', '3.12'] | |
name: Build for ${{ matrix.os }} with Python ${{ matrix.python-version }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r REQUIREMENTS.txt | |
- name: Run general unit tests | |
run: | | |
cd test | |
echo "Running common utilties doctests..." | |
python unit_tests_common.py | |
echo "Running Base Extractor unit tests..." | |
python unit_tests_bible_base_extractor.py | |
- name: Run YAML unit tests | |
run: | | |
cd test | |
echo "Running YAML Extractor unit tests..." | |
python unit_tests_bible_yaml_extractor.py | |
echo "Running YAML file interface unit tests..." | |
python unit_tests_yaml_file_interface.py | |
echo "Running YAML Downloader unit tests..." | |
python unit_tests_bible_yaml_downloader.py | |
- name: Run JSON unit tests | |
run: | | |
cd test | |
echo "Running JSON file interface unit tests..." | |
python unit_tests_json_file_interface.py | |
echo "Running JSON Extractor unit tests..." | |
python unit_tests_bible_json_extractor.py | |
echo "Running JSON Downloader unit tests..." | |
python unit_tests_bible_json_downloader.py | |
- name: Run XML unit tests | |
run: | | |
cd test | |
echo "Running XML file interface unit tests..." | |
python unit_tests_xml_file_interface.py | |
echo "Running XML Extractor unit tests..." | |
python unit_tests_bible_xml_extractor.py | |
echo "Running XML Downloader unit tests..." | |
python unit_tests_bible_xml_downloader.py | |
- name: Run CSV unit tests | |
run: | | |
cd test | |
echo "Running CSV file interface unit tests..." | |
python unit_tests_csv_file_interface.py | |
echo "Running CSV Extractor unit tests..." | |
python unit_tests_bible_csv_extractor.py | |
echo "Running CSV Downloader unit tests..." | |
python unit_tests_bible_csv_downloader.py | |
- name: Run Web Extractor and related unit tests | |
run: | | |
cd test | |
echo "Running Web Extractor unit tests..." | |
python unit_tests_bible_web_extractor.py | |
echo "Running List Extractor unit tests..." | |
python unit_tests_bible_list_extractor.py | |
echo "Running Base Downloader unit tests..." | |
python unit_tests_bible_base_downloader.py | |
- if: github.event.inputs.run_system_tests == 'true' || github.event_name == 'schedule' | |
name: Run system tests | |
run: | | |
cd test | |
echo "Running Bible translation system tests..." | |
python system_tests_bible_translations.py | |
- name: Report job status | |
run: | | |
echo "This job's status is ${{ job.status }}." |