Skip to content

Merge pull request #55 from passren/0.6.3 #178

Merge pull request #55 from passren/0.6.3

Merge pull request #55 from passren/0.6.3 #178

Workflow file for this run

name: Test
on:
push:
branches:
- "*"
jobs:
pytest:
runs-on: ubuntu-latest
env:
USE_LOCAL_DDB: "true"
AWS_DEFAULT_REGION: "us-west-2"
AWS_ACCESS_KEY_ID: "dummy"
AWS_SECRET_ACCESS_KEY: "dummy"
LOCAL_DDB_ENDPOINT_URL: "http://localhost:8000"
strategy:
fail-fast: false
matrix:
python-version: [3.8, 3.9, "3.10", "3.11", "3.12"]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y python3-dev
pip install boto3
pip install tenacity
pip install "sqlalchemy>=1.0.0,<2.0.0"
pip install pyparsing
pip install sqlean.py
- name: black
run: |
pip install black
black --check pydynamodb
- name: flake8
run: |
pip install flake8
flake8 pydynamodb
- name: Download DynamoDB local
run: |
curl -O https://s3.us-west-2.amazonaws.com/dynamodb-local/dynamodb_local_latest.tar.gz
tar xzf ./dynamodb_local_latest.tar.gz
nohup java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb &
- name: Run test with pytest
run: |
pip install pytest
pip install pytest-cov
pip install moto[sts]==4.2.0
pytest --cov=pydynamodb --cov-report=xml tests/
- name: Upload test coverage
uses: codecov/codecov-action@v4
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
with:
env_vars: OS,PYTHON
files: ./coverage.xml
flags: unittests
fail_ci_if_error: true
verbose: true
sonarcloud:
name: SonarCloud
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: SonarCloud Scan
uses: SonarSource/sonarcloud-github-action@master
env:
GITHUB_TOKEN: ${{ secrets.GH_ACCESS_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}