diff options
Diffstat (limited to '.github/workflows/test.yaml')
-rw-r--r-- | .github/workflows/test.yaml | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml new file mode 100644 index 0000000..01a9dfd --- /dev/null +++ b/.github/workflows/test.yaml @@ -0,0 +1,87 @@ +name: Test + +on: + pull_request: + push: + branches: + - master + +jobs: + test: + name: Pytest + strategy: + matrix: + os: ["ubuntu-20.04"] + python: ["3.7", "3.8", "3.9", "3.10", "3.11.1"] + redis: [5, 6, 7] + runs-on: ${{ matrix.os }} + + services: + redis: + image: redis:${{ matrix.redis }} + ports: + - 6379:6379 + options: --entrypoint redis-server + + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python }} + architecture: "x64" + - name: Cache venv + uses: actions/cache@v2 + with: + path: venv + # Look to see if there is a cache hit for the corresponding requirements file + key: + poetryenv-${{ matrix.os }}-${{ matrix.python }}-${{ + hashFiles('poetry.lock') }} + - name: Install Dependencies + run: | + python3 -m venv venv + . venv/bin/activate + pip install -U pip setuptools + pip install poetry + poetry install + python -c "import sys; print(sys.version)" + pip list + - name: Pytest + env: + REDIS_VERSION: ${{ matrix.redis }} + run: | + . venv/bin/activate + pytest + lint: + name: flake8 & black + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - uses: codespell-project/actions-codespell@master + with: + ignore_words_list: fo,ists,oll,optin,ot,smove,tre,whe,EXAT,exat + skip: ./docs/assets/demo.svg,./iredis/data/commands.json,./iredis/data/commands/*,./tests/unittests/* + - uses: actions/setup-python@v4 + with: + python-version: 3.7 + architecture: "x64" + - name: Cache venv + uses: actions/cache@v2 + with: + path: venv + # Look to see if there is a cache hit for the corresponding requirements file + key: lintenv-v2 + - name: Install Dependencies + run: | + python3 -m venv venv + . venv/bin/activate + pip install -U pip flake8 black + - name: Flake8 test + run: | + . venv/bin/activate + flake8 . + - name: Black test + run: | + . venv/bin/activate + black --check . |