Merge pull request #7 from trmlabs/osw-make-type-any #12
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: Unit test | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
workflow_dispatch: | |
jobs: | |
lint-and-type-check: | |
name: Lint and type-check | |
runs-on: ubuntu-latest | |
env: | |
PYTHON_VERSION: "3.10" | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Load cached .local | |
uses: actions/cache@v3 | |
with: | |
path: /home/runner/.local | |
key: dotlocal-${{ env.PYTHON_VERSION }}-${{ hashFiles('.github/workflows') }} | |
- name: Install poetry | |
run: | | |
curl -sSL https://install.python-poetry.org/ | python - | |
echo "$HOME/.local/bin" >> $GITHUB_PATH | |
- name: Install Python + Retrieve Poetry dependencies from cache | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.9' | |
cache: 'poetry' | |
- name: Display Python version | |
run: | | |
python -c "import sys; print(sys.version)" | |
- name: Install poetry dependencies | |
run: poetry install | |
- name: Lint | |
run: | | |
poetry run flake8 xrpl tests --darglint-ignore-regex="^_(.*)" | |
- name: Type-check | |
run: | | |
poetry run mypy --strict --implicit-reexport xrpl | |
unit-test: | |
name: Unit test | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
# we have to use 3.7.1 to get around openssl issues | |
python-version: ['3.7.1', '3.8', '3.9', '3.10'] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Load cached .local | |
uses: actions/cache@v3 | |
with: | |
path: /home/runner/.local | |
key: dotlocal-${{ matrix.python-version }}-${{ hashFiles('.github/workflows') }} | |
- name: Install poetry | |
run: | | |
curl -sSL https://install.python-poetry.org/ | python - | |
echo "$HOME/.local/bin" >> $GITHUB_PATH | |
- name: Install Python + Retrieve Poetry dependencies from cache | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: 'poetry' | |
- name: Display Python version | |
run: | | |
python -c "import sys; print(sys.version)" | |
- name: Install poetry dependencies | |
run: poetry install | |
- name: Unit test | |
run: | | |
poetry run poe test_unit | |
poetry run coverage report --fail-under=85 |