fix: requirements.txt to reduce vulnerabilities #122
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 Tox Suite | |
on: [push, pull_request, workflow_dispatch] | |
jobs: | |
py310: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
env: | |
DB_CONNSTRING: 'mysql+pymysql://root:[email protected]:13306/budgettest?charset=utf8mb4' | |
MYSQL_HOST: 127.0.0.1 | |
MYSQL_PORT: '13306' | |
MYSQL_USER: root | |
MYSQL_PASS: dbroot | |
MYSQL_DBNAME: budgettest | |
MYSQL_DBNAME_LEFT: alembicLeft | |
MYSQL_DBNAME_RIGHT: alembicRight | |
services: | |
mariadb: | |
image: 'mariadb:10.4.7' | |
ports: | |
- 13306:3306 | |
env: | |
MYSQL_ROOT_PASSWORD: dbroot | |
MYSQL_ROOT_HOST: '%' | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.10" | |
- name: Install dependencies | |
run: python -m pip install --upgrade pip && pip install tox pymysql | |
- name: Setup test DB | |
run: python dev/setup_test_db.py | |
- name: Run tests | |
run: tox -e ${{ github.job }} | |
- name: Archive code coverage results | |
uses: actions/upload-artifact@v3 | |
if: ${{ always() }} | |
with: | |
name: test-results-and-coverage-${{ github.job }} | |
path: | | |
results/ | |
coverage.xml | |
htmlcov/ | |
- name: CodeCov Upload | |
uses: codecov/codecov-action@v3 | |
with: | |
flags: unittests | |
name: coverage-${{ github.job }} | |
fail_ci_if_error: true | |
docs: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.10" | |
- name: Install dependencies | |
run: python -m pip install --upgrade pip && pip install tox | |
- name: Run tests | |
run: tox -e ${{ github.job }} | |
jsdoc: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.10" | |
- name: Install dependencies | |
run: python -m pip install --upgrade pip && pip install tox && npm install -g jsdoc | |
- name: Run tests | |
run: tox -e ${{ github.job }} | |
screenshots: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
env: | |
DB_CONNSTRING: 'mysql+pymysql://root:[email protected]:13306/budgettest?charset=utf8mb4' | |
MYSQL_HOST: 127.0.0.1 | |
MYSQL_PORT: '13306' | |
MYSQL_USER: root | |
MYSQL_PASS: dbroot | |
MYSQL_DBNAME: budgettest | |
MYSQL_DBNAME_LEFT: alembicLeft | |
MYSQL_DBNAME_RIGHT: alembicRight | |
services: | |
mariadb: | |
image: 'mariadb:10.4.7' | |
ports: | |
- 13306:3306 | |
env: | |
MYSQL_ROOT_PASSWORD: dbroot | |
MYSQL_ROOT_HOST: '%' | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.10" | |
- name: Install dependencies | |
run: python -m pip install --upgrade pip && pip install tox pymysql | |
- name: Setup test DB | |
run: python dev/setup_test_db.py | |
- name: Run tests | |
run: tox -e ${{ github.job }} | |
acceptance: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
env: | |
DB_CONNSTRING: 'mysql+pymysql://root:[email protected]:13306/budgettest?charset=utf8mb4' | |
MYSQL_HOST: 127.0.0.1 | |
MYSQL_PORT: '13306' | |
MYSQL_USER: root | |
MYSQL_PASS: dbroot | |
MYSQL_DBNAME: budgettest | |
MYSQL_DBNAME_LEFT: alembicLeft | |
MYSQL_DBNAME_RIGHT: alembicRight | |
services: | |
mariadb: | |
image: 'mariadb:10.4.7' | |
ports: | |
- 13306:3306 | |
env: | |
MYSQL_ROOT_PASSWORD: dbroot | |
MYSQL_ROOT_HOST: '%' | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.10" | |
- name: Install dependencies | |
run: python -m pip install --upgrade pip && pip install tox pymysql | |
- name: Setup test DB | |
run: python dev/setup_test_db.py | |
- name: Run tests | |
run: tox -e ${{ github.job }} | |
- name: Archive code coverage results | |
uses: actions/upload-artifact@v3 | |
if: ${{ always() }} | |
with: | |
name: test-results-and-coverage-${{ github.job }} | |
if-no-files-found: ignore | |
path: | | |
results/ | |
coverage-acceptance.xml | |
htmlcov-acceptance/ | |
- name: CodeCov Upload | |
uses: codecov/codecov-action@v3 | |
with: | |
flags: acceptance | |
files: ./coverage-acceptance.xml | |
name: coverage-${{ github.job }} | |
fail_ci_if_error: true | |
plaid: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
env: | |
DB_CONNSTRING: 'mysql+pymysql://root:[email protected]:13306/budgettest?charset=utf8mb4' | |
MYSQL_HOST: 127.0.0.1 | |
MYSQL_PORT: '13306' | |
MYSQL_USER: root | |
MYSQL_PASS: dbroot | |
MYSQL_DBNAME: budgettest | |
MYSQL_DBNAME_LEFT: alembicLeft | |
MYSQL_DBNAME_RIGHT: alembicRight | |
PLAID_CLIENT_ID: ${{ secrets.PLAID_CLIENT_ID }} | |
PLAID_COUNTRY_CODES: ${{ secrets.PLAID_COUNTRY_CODES }} | |
PLAID_ENV: ${{ secrets.PLAID_ENV }} | |
PLAID_PRODUCTS: ${{ secrets.PLAID_PRODUCTS }} | |
PLAID_PUBLIC_KEY: ${{ secrets.PLAID_PUBLIC_KEY }} | |
PLAID_SECRET: ${{ secrets.PLAID_SECRET }} | |
services: | |
mariadb: | |
image: 'mariadb:10.4.7' | |
ports: | |
- 13306:3306 | |
env: | |
MYSQL_ROOT_PASSWORD: dbroot | |
MYSQL_ROOT_HOST: '%' | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.10" | |
- name: Install dependencies | |
run: python -m pip install --upgrade pip && pip install tox pymysql | |
- name: Setup test DB | |
run: python dev/setup_test_db.py | |
- name: Run tests | |
run: tox -e ${{ github.job }} | |
- name: Archive code coverage results | |
uses: actions/upload-artifact@v3 | |
if: ${{ always() }} | |
with: | |
name: test-results-and-coverage-${{ github.job }} | |
if-no-files-found: ignore | |
path: | | |
results/ | |
docker: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
env: | |
DB_CONNSTRING: 'mysql+pymysql://root:[email protected]:13306/budgettest?charset=utf8mb4' | |
MYSQL_HOST: 127.0.0.1 | |
MYSQL_PORT: '13306' | |
MYSQL_USER: root | |
MYSQL_PASS: dbroot | |
MYSQL_DBNAME: budgettest | |
MYSQL_DBNAME_LEFT: alembicLeft | |
MYSQL_DBNAME_RIGHT: alembicRight | |
services: | |
mariadb: | |
image: 'mariadb:10.4.7' | |
ports: | |
- 13306:3306 | |
env: | |
MYSQL_ROOT_PASSWORD: dbroot | |
MYSQL_ROOT_HOST: '%' | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.10" | |
- name: Install dependencies | |
run: python -m pip install --upgrade pip && pip install tox pymysql | |
- name: Setup test DB | |
run: python dev/setup_test_db.py | |
- name: Login to Docker Hub if master branch | |
if: github.ref_type == 'branch' && github.ref_name == 'master' | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Run tests | |
id: run-tests | |
run: tox -e ${{ github.job }} | |
- name: Archive code coverage results | |
uses: actions/upload-artifact@v3 | |
if: ${{ always() }} | |
with: | |
name: test-results-and-coverage-${{ github.job }} | |
if-no-files-found: ignore | |
path: | | |
results/ | |
coverage.xml | |
htmlcov/ | |
- name: Docker Push if master | |
if: github.ref_type == 'branch' && github.ref_name == 'master' | |
run: | | |
docker push jantman/biweeklybudget:${{ steps.run-tests.outputs.DOCKER_IMG_TAG }} | |
migrations: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
env: | |
DB_CONNSTRING: 'mysql+pymysql://root:[email protected]:13306/budgettest?charset=utf8mb4' | |
MYSQL_HOST: 127.0.0.1 | |
MYSQL_PORT: '13306' | |
MYSQL_USER: root | |
MYSQL_PASS: dbroot | |
MYSQL_DBNAME: budgettest | |
MYSQL_DBNAME_LEFT: alembicLeft | |
MYSQL_DBNAME_RIGHT: alembicRight | |
services: | |
mariadb: | |
image: 'mariadb:10.4.7' | |
ports: | |
- 13306:3306 | |
env: | |
MYSQL_ROOT_PASSWORD: dbroot | |
MYSQL_ROOT_HOST: '%' | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.10" | |
- name: Install dependencies | |
run: python -m pip install --upgrade pip && pip install tox pymysql | |
- name: Setup test DB | |
run: python dev/setup_test_db.py | |
- name: Run tests | |
run: tox -e ${{ github.job }} | |
- name: Archive code coverage results | |
uses: actions/upload-artifact@v3 | |
if: ${{ always() }} | |
with: | |
name: test-results-and-coverage-${{ github.job }} | |
if-no-files-found: ignore | |
path: | | |
results/ | |
coverage.xml | |
htmlcov/ | |