Dev #143
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: pytest | |
on: | |
push: | |
branches: [ main, dev ] | |
pull_request: | |
branches: [ main, dev ] | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ['3.10', '3.11', '3.12'] | |
steps: | |
- uses: actions/checkout@v4 | |
# Set up Python | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
# Install dependencies | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r requirements.txt | |
pip install flake8 pytest-cov keyrings.alt | |
# Set PYTHONPATH | |
- name: Set PYTHONPATH | |
run: echo "PYTHONPATH=$PYTHONPATH:$(pwd)" >> $GITHUB_ENV | |
# Print PYTHONPATH for debugging | |
- name: Print PYTHONPATH | |
run: echo "PYTHONPATH=${{ env.PYTHONPATH }}" | |
# Install the package in editable mode | |
- name: Install Package | |
run: pip install -e . | |
# Set FRED API Key environment variable | |
- name: Set FRED API Key | |
run: echo "FRED_API_KEY=dummy_fred_api_key" >> $GITHUB_ENV | |
# Set OpenAI API Key environment variable | |
- name: Set OpenAI API Key environment variable | |
run: echo "OPENAI_API_KEY=dummy_openai_api_key" >> $GITHUB_ENV | |
# Print environment variables for debugging | |
- name: Print environment variables | |
run: | | |
echo "FRED_API_KEY=${{ env.FRED_API_KEY }}" | |
echo "OPENAI_API_KEY=${{ env.OPENAI_API_KEY }}" | |
# Lint with flake8 | |
- name: Lint with flake8 | |
run: flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics --max-line-length=80 | |
# Run tests with coverage | |
- name: Run tests with coverage | |
run: | | |
pytest --cov=./pyeconomics --cov-report=xml | |
# Upload coverage reports to Codecov | |
- name: Upload coverage reports to Codecov | |
uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
file: ./coverage.xml | |
flags: unittests | |
name: codecov-umbrella |