Skip to content

Run tests for Meaningless #173

Run tests for Meaningless

Run tests for Meaningless #173

Workflow file for this run

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 }}."