diff options
author | Chayim <chayim@users.noreply.github.com> | 2021-11-09 16:18:29 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-09 16:18:29 +0200 |
commit | f5160f57fcfe48838cc2082cd3c1c2b86d3bd36c (patch) | |
tree | 57a57ff1bb2200c173222e520a4eb542d5be2edc /.github/workflows | |
parent | c19f120e069ab805d2a337beaed3de064e5875f7 (diff) | |
download | redis-py-f5160f57fcfe48838cc2082cd3c1c2b86d3bd36c.tar.gz |
Tests to validate built python packages (#1678)v4.0.0rc2
Diffstat (limited to '.github/workflows')
-rwxr-xr-x | .github/workflows/install_and_test.sh | 41 | ||||
-rw-r--r-- | .github/workflows/integration.yaml | 86 |
2 files changed, 86 insertions, 41 deletions
diff --git a/.github/workflows/install_and_test.sh b/.github/workflows/install_and_test.sh new file mode 100755 index 0000000..330102e --- /dev/null +++ b/.github/workflows/install_and_test.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +set -e + +SUFFIX=$1 +if [ -z ${SUFFIX} ]; then + echo "Supply valid python package extension such as whl or tar.gz. Exiting." + exit 3 +fi + +script=`pwd`/${BASH_SOURCE[0]} +HERE=`dirname ${script}` +ROOT=`realpath ${HERE}/../..` + +cd ${ROOT} +DESTENV=${ROOT}/.venvforinstall +if [ -d ${DESTENV} ]; then + rm -rf ${DESTENV} +fi +python -m venv ${DESTENV} +source ${DESTENV}/bin/activate +pip install --upgrade --quiet pip +pip install --quiet -r dev_requirements.txt +invoke devenv +invoke package + +# find packages +PKG=`ls ${ROOT}/dist/*.${SUFFIX}` +ls -l ${PKG} + +TESTDIR=${ROOT}/STAGETESTS +if [ -d ${TESTDIR} ]; then + rm -rf ${TESTDIR} +fi +mkdir ${TESTDIR} +cp -R ${ROOT}/tests ${TESTDIR}/tests +cd ${TESTDIR} + +# install, run tests +pip install ${PKG} +pytest diff --git a/.github/workflows/integration.yaml b/.github/workflows/integration.yaml index 4a07394..5384996 100644 --- a/.github/workflows/integration.yaml +++ b/.github/workflows/integration.yaml @@ -6,61 +6,65 @@ on: - 'docs/**' - '**/*.rst' - '**/*.md' + branches: + - master pull_request: branches: - master jobs: - lint: - name: Code linters - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: install python - uses: actions/setup-python@v2 - with: - python-version: 3.9 - - name: run code linters - run: | - pip install -r dev_requirements.txt - invoke linters + lint: + name: Code linters + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: install python + uses: actions/setup-python@v2 + with: + python-version: 3.9 + - name: run code linters + run: | + pip install -r dev_requirements.txt + invoke linters - run-tests: - runs-on: ubuntu-latest - strategy: - max-parallel: 6 - matrix: - python-version: ['3.6', '3.7', '3.8', '3.9', '3.10', 'pypy-3.7'] - env: - ACTIONS_ALLOW_UNSECURE_COMMANDS: true - name: Python ${{ matrix.python-version }} tests - steps: - - uses: actions/checkout@v2 - - name: install python - uses: actions/setup-python@v2 - with: - python-version: ${{ matrix.python-version }} - - name: run tests - run: | - pip install -r dev_requirements.txt - invoke tests - - name: Upload codecov coverage - uses: codecov/codecov-action@v2 - with: - fail_ci_if_error: false - token: ${{ secrets.CODECOV_TOKEN }} + run-tests: + runs-on: ubuntu-latest + strategy: + max-parallel: 6 + matrix: + python-version: ['3.6', '3.7', '3.8', '3.9', '3.10', 'pypy-3.7'] + env: + ACTIONS_ALLOW_UNSECURE_COMMANDS: true + name: Python ${{ matrix.python-version }} tests + steps: + - uses: actions/checkout@v2 + - name: install python + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: run tests + run: | + pip install -r dev_requirements.txt + invoke tests + - name: Upload codecov coverage + uses: codecov/codecov-action@v2 + with: + fail_ci_if_error: false + token: ${{ secrets.CODECOV_TOKEN }} - build_package: + build_and_test_package: name: Validate building and installing the package runs-on: ubuntu-latest + strategy: + matrix: + extension: ['tar.gz', 'whl'] steps: - uses: actions/checkout@v2 - name: install python uses: actions/setup-python@v2 with: python-version: 3.9 - - name: build and install + - name: Run installed unit tests run: | - pip install invoke - invoke package + bash .github/workflows/install_and_test.sh ${{ matrix.extension }} |